Reference adapters

  1. PL White List (wykaz podatników VAT)
  2. EU VIES
  3. KRS (National Court Register)
  4. CEIDG (sole proprietors)
  5. REGON / GUS
  6. CRBR (beneficial owners)
  7. Verified example NIPs

All reference adapters speak PSR-18 only and are mocked in tests (no live network in CI).

PL White List (wykaz podatników VAT)

HttpWhiteListClient + WhiteListCheck / WhiteListRegistryDriver.

  • Capabilities: VatStatus, BankAccountMatch.
  • Public, no key. Endpoint https://wl-api.mf.gov.pl.
  • Returns the VAT status, the entity’s assigned bank accounts, the KRS number, and the official search identifier which is persisted as CheckResult::$proofId (due-diligence proof). An IBAN on the counterparty is matched against the assigned accounts.

EU VIES

HttpViesClient + ViesCheck / ViesRegistryDriver.

  • Capability: EuVatValidation (all 27 member states).
  • Public, no key. Validates the EU VAT number; reads valid / isValid from the response.

KRS (National Court Register)

KrsRegistryDriver - capabilities LegalEntityData, BusinessRegistration.

The Ministry of Justice API is keyed by KRS number, not NIP, so this driver first resolves NIP -> KRS via the (public) White List, then fetches the current extract (“OdpisAktualny”). An entity with no KRS (e.g. a sole proprietor) yields not-found.

CEIDG (sole proprietors)

CeidgRegistryDriver - capabilities LegalEntityData, BusinessRegistration.

Requires a bearer token from biznes.gov.pl; pass it as the Authorization header via the $headers constructor argument (or CEIDG_TOKEN in the bridges). A company that is not a sole proprietor correctly returns not-found.

REGON / GUS

RegonRegistryDriver - capabilities StatisticalData, LegalEntityData.

The official GUS BIR service is SOAP and session-keyed. The bundled driver is a JSON template; for production you will likely point it at a JSON gateway or implement a SOAP client. It surfaces as inconclusive until wired.

CRBR (beneficial owners)

CrbrRegistryDriver - capability BeneficialOwners. Resolves the ultimate beneficial owners of a Polish entity by NIP. Endpoint specifics may need adjusting for your environment.

Verified example NIPs

Useful for trying the public adapters (White List + VIES + KRS):

NIP Entity KRS
5252674798 Allegro sp. z o.o. 0000635012
5252344078 Google Poland sp. z o.o. 0000240611
7342867148 CD Projekt S.A. 0000006865
7740001454 Orlen S.A. 0000028860
6770065406 Comarch S.A. 0000057567
5260250995 Orange Polska S.A. 0000010681

Counterparty Verification - a due-diligence aid, not a compliance product. MIT licensed.

This site uses Just the Docs, a documentation theme for Jekyll.