How Fuentio Identifies a Company: Identifiers First, Names Never Decide

How Fuentio identifies a company in France and Spain: checked identifiers, exact-match lookups, candidate lists for name searches, and no guessing.

· By the Fuentio team · 7 min read

Share image: "How Fuentio Identifies a Company: Identifiers First, Names Never Decide" on Fuentio's paper background, with the Guide label.

The most expensive error in company data isn't a wrong field. It's the wrong company: the right facts about someone else. A search for "renault" in the State's company search API returns 10,000 results, and the first five named exactly RENAULT aren't the carmaker. This page sets out the rules Fuentio follows to answer "which company is this?", and why a name alone never decides.

Method as of 10 October 2026, for France and Spain.

Short answer: Fuentio identifies a company by an official identifier: SIREN, SIRET or VAT number in France, the registry sheet in Spain. Every identifier is checked for format and check digits before any call, and a lookup only returns a company whose identifier matches exactly. A name search returns a list of candidates with their identifiers and addresses, for you or your agent to choose from; we never pick one silently.

What you'll learn

  • Which identifiers we accept, per country
  • What we check before calling any source
  • Why an exact-match rule protects you
  • What a name search returns, and what it doesn't
  • What we don't support yet, and say so

Which identifiers do we accept?

CountryIdentifierExampleNotes
FranceSIREN (9 digits)441639465The company's identifier
FranceSIRET (14 digits)44163946500091A site; resolved to its company
FranceVAT numberFR63441639465The SIREN is inside
SpainRegistro Mercantil sheetVI-23266Registry prefix and sheet number, as printed in the BORME

Spaces, dots and dashes inside a number are ignored: 441 639 465 works. Every record also has a Fuentio ID built from its primary identifier (FR-SIREN-441639465, ES-RMHOJA-VI-23266), which you can use in a lookup.

What do we check before calling a source?

Each country has a profile with its identifier formats and check rules:

  • SIREN and SIRET: length and the Luhn check digit, according to INSEE's definition.
  • French VAT: the pattern, and the key computed from the SIREN.
  • Spanish sheet: the registry prefix and the number.

A number that fails gets invalid_identifier, costs nothing, and is never sent to a source. It's almost always a typo, and catching it before the call means it can't accidentally match another company. See SIREN, SIRET and VAT formats.

Why an exact match?

For France, the source has no "get by number" endpoint: lookups go through its search. A search can return a near match. So after each call we check that the first result's SIREN is exactly the one requested. If it isn't, the answer is not_found, never the near match.

For Spain, the sheet is the key: a record is the set of acts published for that sheet in that registry. Two companies with the same name in different provinces are two records, because they have two sheets.

A well-formed number with no public record returns not_found and costs 1 unit, because it's a real answer: in France, the company may not exist or may have opted out of publication. See why some French companies are missing from public searches.

What does a name search return?

A name search returns candidates, each a full record with its identifiers, legal form, status and address, so you can tell them apart. Real example: a search for "renault" filtered on postcode 92100 returned RENAULT (SIREN 441 639 465) and RENAULT RETAIL GROUP (SIREN 312 212 301), two different companies at related addresses.

What we deliberately don't do:

  • We don't pick a candidate for you. Choosing is a decision, and it belongs to your process or your user.
  • We don't search by person. French search runs on company name, postcode and town only; searching companies by an individual's name raises legal questions under the Commercial Code's rules on search criteria, and we leave it out.
  • We don't merge records on a name. A name is a label; a number is an identity.

For agents, the same rule applies: connect an agent to the registers and have it search, show candidates and ask, rather than guess.

What don't we support yet?

  • Spanish NIF. The BORME doesn't publish it, so a NIF in a lookup answers id_scheme_not_supported with a suggestion to search by name. See checking a Spanish NIF.
  • A Spanish company that moved province. It gets a new sheet in its new registry; today the two sheets are two records, each with its own acts.

Saying "not supported" is part of the method. An answer that quietly substitutes a guess is worse than no answer.

A short glossary

  • SIREN: the nine-digit number INSEE gives every French business; the company's permanent identity.
  • SIRET: fourteen digits, the SIREN plus five for one establishment (site).
  • Intra-community VAT number: for France, FR, a two-character key and the SIREN.
  • Registry sheet (hoja): the sheet a Spanish provincial commercial registry opens for a company, printed in every BORME entry, for example VI-23266.
  • Fuentio ID: country, scheme and value (FR-SIREN-441639465), so one string identifies one record.
  • Candidate: a record returned by a name search, to be confirmed by a person or a rule, never treated as a match on its own.

Why "names never decide" matters for compliance

A wrong match is worse than no match: it attaches another company's status, address and officers to your customer, and the error travels into every decision that follows. Keying every record on an official identifier, and treating names only as a way to find candidates, keeps that error out of your files. It also makes your process explainable: "matched on SIREN 441 639 465" is an answer an auditor accepts; "the names looked similar" isn't.

How to use this in your onboarding flow

  1. Ask for the identifier on your form, and validate it as the user types.
  2. Look it up; show the returned legal name and address so the user confirms it's them.
  3. If the user only knows a name, search, show the candidates with their identifiers and towns, and let them choose.
  4. Store the identifier, not just the name, with the check date.

See automating onboarding with a register check.

Fuentio's API isn't open yet. Become an early tester to try these rules on your own data before launch.

See what we cover in France and Spain.

Frequently asked questions

Which numbers can I use to look up a French company?

The SIREN, a SIRET (resolved to its company) or the French VAT number.

Can I look up a Spanish company by NIF?

Not yet: the BORME doesn't publish NIFs. Search by name, then use the registry sheet.

What happens if I make a typo in a SIREN?

The check digit catches most typos; you get invalid_identifier, which costs nothing and never reaches a source.

Does a name search return one company?

No. It returns candidates with their identifiers and addresses; you choose.

Sources

← All articles · RSS feed