- What does asignua/filament-vat-id do?
- It adds a dedicated VAT/Tax ID input component to Filament forms. The field provides offline format and checksum validation for EU VAT, Polish NIP/REGON, Czech IČO/DIČ and Ukrainian ЄДРПОУ/РНОКПП identifiers. It also describes company lookup integrations for VIES, ARES, the Polish white list and GUS.
- How do I install asignua/filament-vat-id in a Laravel Filament app?
- Install it with Composer using composer require asignua/filament-vat-id, then add TaxIdInput to a Filament form schema. The package is a form-field extension, so the overview does not describe migrations or service-provider setup. Use ->validationAttribute() when you need exact validation message text.
- Which Filament and PHP versions does this package support?
- The package targets Filament 5. The provided overview does not state the exact PHP version constraint, so check composer.json in the repository and confirm it matches your application. Pin the supported Filament major and PHP constraint and retest after Filament upgrades.
- Which VAT and tax ID formats are validated?
- It includes offline format and checksum rules for EU VAT numbers, Polish NIP and REGON, Czech IČO and DIČ, and Ukrainian ЄДРПОУ and РНОКПП. Online company lookups are described for VIES, ARES, the Polish white list and GUS. Confirm coverage for the specific countries and identifier types your forms collect before rollout.
- Does validation work offline, and does it call VIES, ARES or GUS?
- Format and checksum validation for the supported identifiers runs offline, so you can validate structure without a network call. The package also describes company lookup integrations for VIES, ARES, the Polish white list and GUS, which are online and subject to latency and availability. Built-in caching is not stated in the overview, so add caching or async handling if lookup volume matters.
- How can I customize validation messages and translations?
- Use ->validationAttribute() to set the attribute text used when validation messages are composed, which decouples exact copy from Filament label transformation. The package lists support for 10 languages, but verify the messages in your target locale. The field compensates for Filament's lcfirst label behavior, so add regression tests for message casing after upgrades.
- Does the field store or normalize VAT IDs?
- The field is an input and validation concern; the overview does not describe persistence or normalization. Normalize country prefix, whitespace and case in your application code before saving the identifier. Use validationAttribute() where exact message wording matters.
- How do I test the Filament VAT ID field locally?
- Use the v1.0.2 workbench demo with DemoSeeder and Acme Supply data to reproduce the field locally. Add regression tests for validation message casing and for the country-specific formats you accept. This shortens evaluation and bug-report turnaround.
- Is it suitable for production and what maintenance is needed?
- Technical risk is low-to-moderate: the code surface is small, v1.0.2 is a patch release, and there are no migrations or persistence requirements. Budget for review on Filament major upgrades because of the label-casing coupling, and monitor the upstream tax-ID rules and lookup services. Define validationAttribute() where exact copy matters and test in your target locales.
- What are the alternatives to this package?
- A common alternative is a standard Filament TextInput combined with your own Laravel validation rules or a generic VAT validation library. This package is for teams that want a dedicated Filament field with offline format and checksum rules plus VIES, ARES, Polish white list and GUS lookups. Evaluate it via the workbench demo before replacing an existing implementation.