Skip to content

v0.1.0 — canonical ISO jurisdiction reference

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 14 Jul 21:39

First release of Cbox Geo — the shared jurisdiction primitive for the Cbox portfolio.

Countries, subdivisions and currencies bound to stable ISO codes (3166-1 alpha-2 / 3166-2 / 4217), resolved deny-by-default, wrapping the vetted commerceguys/addressing dataset — with a tax-profile layer on top for downstream billing and tax engines.

Highlights

  • Contracts\JurisdictionRepositorycountries() / find() / subdivisions(); unknown input returns null, never a guess.
  • Value objects: CountryCode, SubdivisionCode (always carries its parent country), Jurisdiction, Subdivision, TaxProfile.
  • Tax profile per jurisdiction: regime, regimeModule, isEuMember, isSubFederal, requiresRooftop — structural facts, not rates.
  • Sub-federal split from rooftop: Canada resolves at province level; the US needs rooftop geocoding.
  • No forced migration — the ISO data ships in the library; persistence is an optional host concern.

Quality

PHP ^8.4 · Laravel ^12 || ^13. Gate green: pint · phpstan level max (0 errors) · 16 tests / 43 assertions · license-check (76 permissive deps) · CycloneDX SBOM · composer audit clean.

Status: early / pre-1.0. Contracts are settled; API may still evolve before 1.0.