# Changelog of EU Company ID Resolver – VAT, KVK, KBO & LEI (`lwsdjfls/eu-company-id-resolver`) Actor

- **URL**: https://apify.com/lwsdjfls/eu-company-id-resolver/changelog.md
- **Full Actor documentation**: https://apify.com/lwsdjfls/eu-company-id-resolver.md

## Changelog

### 0.1

- Initial release: VAT, KvK, KBO, SIREN/SIRET, LEI and name inputs resolved across VIES, GLEIF (LEI records, registeredAs, legal forms), the Belgian KBO public search, the French SIRENE register and the Peppol Directory; deterministic derivations for Belgian and French numbers; every fact with source, confidence and verification; explicit not-found reasons; names of natural persons withheld.
- Numbers only derived by arithmetic (the KBO number inside a Belgian VAT number, the SIREN inside a SIRET or French VAT number, and back) carry confidence 0.60 until VIES, the KBO or SIRENE confirms them, and do not make an entity resolved on their own: an input no register answered for is not charged. A different number from a Peppol card or a GLEIF record never replaces them (the contradiction is reported in `warnings`), a GLEIF record that lists another register number than the company's is not linked, SIRENE's VAT number is only taken when it contains the SIREN, and a VAT number that replaces another is checked in VIES again. The overall `confidence` of a resolved entity includes its unconfirmed derived numbers.
- A name input keeps the same guarantee: the KBO number or SIREN inside the matched VAT number is derived before any other source is asked, so a Peppol card or GLEIF record that lists another company's number neither replaces it nor leads to that company's KBO page or SIRENE record, and a VAT number or SIRET that does not fit the derived number is not taken. A KBO page that lists the enterprise as liable to VAT ("Onderworpen aan btw" among its qualities) confirms the Belgian VAT number without VIES, unless VIES has reported that number as not valid; only the block under the qualities heading counts, not the same words in a name, commercial name or director; "Niet onderworpen aan btw" is no longer read as liable, and a KBO page that shows another enterprise number is not used.
- Ambiguous names list at most five alternatives, each at least 70% similar. Failed sources are reported by HTTP status or a fixed phrase, never by response text or request URL. KBO pages are read with a linear scan, and responses are capped at 4 MB. Character references on a KBO page are decoded once (`&amp;#66;` in a name stays `&#66;`), and one that stands for no character reads as U+FFFD instead of losing the page.
- How well a name matched carries through to the result. A name input's overall `confidence` is at most 0.95 × the similarity of the match, also when registers confirm every number of the matched company (those fields show 1.00 verified with the match in `via`). An LEI linked through a registered name keeps 0.95 × the similarity and the match in `via`, and an LEI found by a register number is no surer than that number: a found LEI is 1.00 verified only when its GLEIF record lists a number the company has for sure (the input, a number its register confirmed, or the number inside an input VAT number or SIRET), also when that number is confirmed after the LEI was linked. A found LEI's record is no longer requested a second time.
