hiwelo/address-formatter-bundle
A Symfony bundle for formatting postal addresses according to country-specific conventions. It turns structured address data into correctly ordered, localized mailing labels using configurable templates, useful for invoices, shipping, and customer records.
Address entity that renders a postal address per the destination country's post-operator convention supports a "localized address display" feature without hand-rolling per-country templates.sprintf calls across Blade templates, PDF invoices, and shipping-label integrations.v1.0-alpha and ships a single capability — formatting outbound addresses. There is no evidence yet of parsing/validation, normalization, country coverage breadth, or locale/script handling. Treat this as a spike-level dependency, not a platform commitment.AddressFormatter interface with this as one implementation?" Doing so keeps the build-vs-buy option open at near-zero cost.Consider it when:
Address constructor, field names, and return shape may change without a deprecation cycle. Pin the version and wrap it.Look elsewhere or defer when:
For executives (one paragraph): International customers increasingly abandon checkout when our address fields and confirmations do not match how addresses look in their country. This package is a small, low-cost PHP component that formats a captured address the way the destination country's postal service expects — improving delivery accuracy, reducing "where is my order" contacts, and making invoices and customs paperwork look locally correct. It is early-stage software (v1.0-alpha) with unproven country coverage, so the recommendation is a contained pilot on one international storefront or print flow, behind an internal interface, at a cost measured in days rather than a vendor contract. If the pilot shows coverage in our target markets, we promote it; if not, we have lost almost nothing and gained a clean abstraction.
For engineering (the ask): Introduce a thin AddressFormatter contract in our domain layer with this package as the first adapter. Pin the alpha version exactly; do not let the Address entity leak into controllers, Blade templates, or our public API surface. Add a fixture-based test suite per country comparing output against the postal-operator reference, and record which countries we assert. Flag the known unknowns explicitly: character-set and RTL handling, military and territorial addresses, and the provenance/licensing of the country rules table. Two sprints of work; reversible in an afternoon.
For support and operations: Expect fewer address-correction tickets where coverage exists, but expect new tickets in markets where the formatter is wrong or absent — so gate the feature per country rather than enabling it globally, and keep the raw captured fields visible in the back office as a fallback.
How can I help you explore Laravel packages today?