Why matching Japanese company names is hard
Gaiji, variant characters, width, and where 株式会社 sits. What actually goes wrong when matching Japanese company names, and why string equality fails.
Reconcile an internal supplier master against Japan's corporate register and you get a large pile of "this is obviously the same company, and it did not match". The cause is orthographic variation, and there is a lot of it.
Why they do not match
Where 株式会社 sits, and how it is abbreviated. 株式会社サンプル and サンプル株式会社 differ by 前株 versus 後株 — they are different companies. But ㈱サンプル is the same company, abbreviated. Naive string comparison cannot tell those two situations apart.
Old and new character forms. 齋藤, 齊藤, 斉藤 and 斎藤 are different characters. The registered form is one of them; your CRM may hold another.
Full-width and half-width. Latin letters, digits, katakana, spaces, interpuncts. The same name arrives as different bytes depending on which system typed it.
Spaces. 日本 サンプル versus 日本サンプル.
Gaiji. This is the hard one.
The gaiji problem
Some registered company names contain characters that cannot be represented in Unicode. Where that happens, the NTA supplies an image id instead of the character.
So in the data, that company's name does not exist as a complete string. No comparison algorithm helps, because there is nothing to compare against.
This is not a rare curiosity — a meaningful number of registered names are affected. It is not corrupted data; it is data that was never provided as text.
Why normalisation alone is not enough
Unifying width and stripping spaces is straightforward, and most teams get that far. But afterwards:
- old and new character forms still do not match
- names containing gaiji still cannot be compared at all
- forcing 前株 and 後株 to be equivalent makes different companies match
That last point is the one to sit with. Matching fails in two directions, and in an accounting or credit context, deciding two different companies are the same is far more damaging than failing to link two records that are. Loose normalisation produces more of the worse error.
What Daichodo does today
Plainly: we do not offer name matching or fuzzy lookup.
What we offer is lookup by registration number or corporate number, and notification when a registration changes. Both assume you already have the number.
We do, however, flag records that contain gaiji and preserve the image ids the NTA supplies, rather than discarding them. That is the raw material any future matching work needs, and it cannot be re-fetched later.
A variant-character dictionary and gaiji resolution are the next capability we are building. They are not available today.
If this is your problem
Tell us what you are trying to reconcile — hello@daichodo.com. What gets built next is decided by messages like that.
If your data already has the numbers, lookup and change detection work today.