h4kuna/ares
h4kuna/ares is a PHP client for the Czech ARES business registry. Look up companies by IČO and retrieve structured details such as name, address, legal form, and registration data. Lightweight, framework-agnostic, and easy to integrate into Laravel or any PHP app.
CompanyRegistry::lookup($country, $id)) with this as one adapter.Consider it when:
Look elsewhere when:
To executives (decision / value):
Czech B2B customers can't complete signup without typing their company details by hand, and our ops team verifies them manually. This package lets us replace that with a single IČO field that auto-fills legal name, address, and VAT ID from the official Czech registry — roughly a one-to-two-day integration, no vendor contract, no procurement. Expected impact: faster signup, fewer billing errors, and less manual review per account. It is a convenience and data-quality feature, not a compliance control — we should not market it as KYC. The risk is dependency hygiene: it's a small, single-maintainer open-source package, so we isolate it behind our own interface and can swap to the official ARES API or a paid provider without touching product code. Ask: approve a one-sprint spike with a go/no-go on shipping to production, not an open-ended adoption.
To engineering (implementation / risk):
Thin wrapper over the Czech ARES registry that returns typed company objects. Use it, don't depend on it: put it behind a
CompanyRegistryinterface, normalize into our own DTO, cache by IČO with a TTL measured in days, and add timeouts, retries, and graceful degradation — if ARES is down, onboarding must still complete with manual entry. Pin the exact version; there's no downstream ecosystem to catch a bad release. Keep the adapter ~100 lines so replacing it with the official REST API or a commercial KYB vendor is a contained change. Please also log lookup failures — those are our signal for whether the source is reliable enough to keep.
To customer support / ops:
One field replaces a form. When the lookup fails, the user falls back to manual entry — nothing blocks. Fewer "wrong VAT number on invoice" tickets, but expect questions about why the address differs from what the customer typed; registry data is authoritative for legal purposes, so we show it as pre-filled but editable.
How can I help you explore Laravel packages today?