# When two registers disagree about a company

A LEI record and a national register can carry different names and different statuses for one company. What Spaw compares, what it refuses to resolve, and why.

Date: 2026-09-10

Most company-data APIs answer from one source and present the result as the truth. Spaw holds two open registers, and when a Legal Entity Identifier record names its entry in a national register that is also installed here, both are read and compared field by field. Often they agree and there is nothing to say. Sometimes they do not, and this guide is about that case: what gets compared, how the comparison avoids reporting a spelling as a difference, and why Spaw quotes both sides instead of picking a winner.

## What is compared, and when

The comparison happens only when a record makes it possible. An identifier record carries `other_register` and `other_identifier` — the national register it names and the number it has there. If that register is installed on this server and carries the counterpart row, two comparisons run: the legal **name**, and the **status**.

If there is no counterpart — the record names none, or the register is not installed here — `agreements` comes back empty. That is not a disagreement, and it is not reported as one. An absent register says nothing at all.

Each comparison arrives as a row quoting both sides:

```json
{
  "field": "name",
  "lei": "ACME HOLDINGS LIMITED",
  "national_register": "Acme Holdings Ltd.",
  "result": "agree"
}
```

Note the result on that row. Those two strings are not the same string, and they are the same name.

## Folding a name before comparing it

One register uppercases, another punctuates; a form writes "Ltd" where a register writes "LIMITED". Comparing the characters as they arrive would report a difference on a large fraction of real companies, and every one of those reports would be about typography rather than about a company.

So both sides are folded first, and the rules are worth knowing because they explain what will and will not be called a difference:

- **Non-ASCII letters are transliterated**, so "Société Générale" and "Societe Generale" fold together. An earlier version of this rule deleted non-ASCII characters instead, which turned the first into a manufactured disagreement on almost every continental-European name in the register.
- **`&` becomes `and`**, so "Marks & Spencer" matches "Marks and Spencer".
- **Apostrophes and full stops are removed rather than spaced**, because they sit inside a word: "Sainsbury's" matches "Sainsburys", and "A.B.C." matches "ABC".
- **Everything else that is not a letter or digit becomes a space**, so a hyphen or a slash still separates words.
- **The company-form words are dropped** — limited, ltd, plc, llp, inc, incorporated, corp, corporation, company, co — because they say how an entity is constituted, not what it is called.

What survives is letters, digits and single spaces, lowercased. Two names that fold to the same string agree; two that do not, differ.

There is no similarity score in this, and there will not be one. "ACME GROUP" and "ACME HOLDINGS" are either the same company or they are not, and no threshold decides which. A percentage there would be a guess wearing the clothes of a measurement. So the answer reports `differ`, quotes both names, and leaves the judgement where it belongs.

Both names being compared come from registers, never from something a caller typed, so there is no case here where one side is missing: the comparison only runs at all when a LEI names a counterpart this server also holds. (The consistency endpoint, which compares a register name against an organisation line somebody did type, does have that case, and withholds the comparison rather than settling it.)

## The four flags

`flags` names what the registers disagree about, or what one of them warns on its own.

| Flag | What it says | What it usually means |
| --- | --- | --- |
| `name_differs_across_registers` | The two folded names are not the same name. | A rename that one register has and the other has not caught up with, or an identifier attached to the wrong entity. Both names are in `agreements`. |
| `status_differs_across_registers` | The two registers do not agree on whether the entity is live. | Usually the identifier record is stale: the national register is the authority on whether a company exists, and the identifier record reflects what was last reported to it. |
| `dissolved_in_national_register` | The national register records the company as dissolved. | The strongest signal this product carries. A dissolved company is no longer a legal person and cannot enter a contract. |
| `lei_registration_not_current` | The identifier's registration is not in a current state. | Nobody renewed it. It is about the identifier, not about the company — see below. |

Flags are additive and each one names one fact. There is no roll-up, no score and no recommendation on top of them.

## An entity can outlive its identifier

The single most misread pair in this response is `status` against `registration_status`.

`status` is about the **entity**: is this company still a company. `registration_status` is about the **identifier**: has anyone reconfirmed it. A Legal Entity Identifier is meant to be renewed each year against the entity's own national register, and a great many are not, so `LAPSED` is ordinary and common. It means the reference data has not been rechecked recently. It does not mean the company has gone.

The distinction matters in both directions. If a counterparty needs a current identifier for a regulatory reason, `lei_registration_not_current` is exactly the flag that says they do not have one — regardless of how healthy the company is. If what you need is a live trading company, that flag is not the one to act on; read `status` and, for a UK company, the register's own wording in `status_detail`.

## Why one register lags the other

Two publication rhythms sit behind these answers, and most disagreements are explained by them alone.

The identifier golden copy is republished daily, so it is rarely more than a day behind what has been reported to it — but what has been reported to it depends on the renewal cycle above.

The UK company data is a monthly product, republished within five working days of the previous month end. An answer can therefore be up to five weeks behind the live register. That is not a defect being hidden: every response names the date of each copy in `sources`, and `/status` lists both registers with the date each was last synced. Where the age of a record matters, read it there before you act.

## What to do with a disagreement

- **Treat it as evidence, not as a verdict.** Nothing here resolves which register is right, because nothing on this server could honestly do so.
- **Quote both sides back.** They are in `agreements` precisely so that a person deciding — a compliance reviewer, an account manager — can see what was compared rather than take a flag on trust.
- **Act on `dissolved_in_national_register` first.** Of the four, it is the one that changes what you are legally able to do.
- **Do not treat `lei_registration_not_current` as a company problem** unless a current identifier is itself the requirement.
- **Check the copy dates before escalating.** A month-old snapshot beside a daily one explains a great many differences, and a disagreement that resolves itself after the next sync was never worth an email to a customer.

## What is not compared, and never will be

The comparison covers the name and the status. It does not cover addresses, because this product holds none — a registered address is very often somebody's home, and an identifier alone does not say whether a company or a sole trader stands behind it. It does not cover officers, ownership or filings, because the free files these answers come from do not carry them in a form that could be compared honestly.

Identifier reference data is published by the Global Legal Entity Identifier Foundation under a CC0 1.0 public-domain dedication; Spaw answers from its own synced copy and is not affiliated with, endorsed by or connected to that foundation. UK company data is the Companies House free company data product, used under the Open Government Licence v3.0.

## What to do next

- Read the [business verification guide](/docs/business-verification) for every field, flag and reason.
- Read the [name_differs_across_registers reference page](/docs/reasons/name_differs_across_registers) for the exact wording and an example answer.
- See what the check digit does and does not settle in [a LEI check digit is a typing check](/guides/a-lei-check-digit-is-a-typing-check).
- Understand why a struck-off UK company disappears rather than changing status in [how a UK dissolution shows up in open data](/guides/how-a-uk-dissolution-shows-up-in-open-data).

Reference: https://spaw.co/guides/when-two-registers-disagree-about-a-company
