Registries
Registries are the per-country axis. Each RegistryDriver declares the capabilities it can
answer and the countries it serves; the RegistryManager routes a request to the first
driver that covers (country + capability).
Capabilities
RegistryCapability is the vocabulary checks use to ask for data:
| Capability | Meaning | Reference driver(s) |
|---|---|---|
VatStatus |
Active VAT payer? | PL White List |
BankAccountMatch |
Is an IBAN assigned to the entity? | PL White List |
EuVatValidation |
Cross-border EU VAT validity | EU VIES |
LegalEntityData |
Legal name, status, address | KRS, CEIDG |
BusinessRegistration |
Formal registration status | KRS, CEIDG |
BeneficialOwners |
Ultimate beneficial owners | CRBR |
StatisticalData |
REGON / PKD activity codes | REGON |
How routing works
$driver = $registries->driverFor('DE', RegistryCapability::LegalEntityData); // ?RegistryDriver
$result = $registries->lookup($counterparty, RegistryCapability::LegalEntityData); // ?LookupResult
If no registered driver serves (country, capability), routing returns null and the
RegistryCheck records an honest inconclusive result with the reason - it never guesses.
In this section
- Reference adapters - the bundled PL/EU drivers and what they need.
- Adding a country - implement a driver, parse your API’s response, register it. Full control over the mapping.
- Contract tests - certify any driver against the shipped contract.
Once a driver is registered, see Risk engine -> Country-specific scoring to score its data differently per country.