Download the PHP package hansdeboeck/laravel-vat-validator without Composer

On this page you can find all versions of the php package hansdeboeck/laravel-vat-validator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-vat-validator

laravel-vat-validator

EU BTW-nummer validatie voor Laravel. VIES als primaire bron met automatische fallbacks naar btwzoeken.be, controleerbtwnummer.eu en btw-opzoeken.be. Cached, geretry'd, met adres-parsing.

Requirements

Laravel 11 wordt niet meer ondersteund: die versie is sinds 12 maart 2026 volledig end-of-life, ook voor security fixes.

Installatie

Lokaal (path-repository) — voeg toe aan je app's composer.json:

Daarna:

Gebruik

Validation rule

Vraagt VIES om de input te valideren — dezelfde semantiek als lookup().

Array access (legacy)

Het result-object implementeert ArrayAccess, zodat code die een array verwachtte blijft werken:

Configuratie

config/vat-validator.php:

Key Default Doel
cache_ttl 86400 (24u) Hoe lang positieve lookups gecached worden
cache_enabled true Voor tests/debug uit te zetten
cache_prefix vat: Wijzig om bestaande cache te invalideren
http_timeout 6s Per HTTP-request, niet onder 5
fallbacks_enabled true Schakel niet-VIES bronnen uit
sources ['vies', 'btwzoeken', 'cbw', 'btwo'] De volgorde waarin bronnen bevraagd worden
btwzoeken.base_url https://btwzoeken.be/api/v1 Leeg maken zet die bron uit
btwzoeken.key null Optionele API-sleutel van btwzoeken.be

Override via env: VAT_VALIDATOR_CACHE_TTL, VAT_VALIDATOR_FALLBACKS, VAT_VALIDATOR_BTWZOEKEN_URL, VAT_VALIDATOR_BTWZOEKEN_KEY, etc.

Bronnen

  1. VIES (EU) — https://ec.europa.eu/taxation_customs/vies/rest-api/... — primaire bron, retried 2× met 200ms.
  2. btwzoeken.be — https://btwzoeken.be/api/v1/companies/{nummer} — de open data van de KBO als JSON.
  3. controleerbtwnummer.eu — fallback voor alle EU-landen wanneer VIES geen antwoord geeft.
  4. btw-opzoeken.be — laatste redmiddel, alleen voor BE-nummers.

De volgorde ligt niet vast in de code maar in sources. De eerste bron die een geldig antwoord geeft, wint; wat erachter staat, wordt niet meer bevraagd. Een bron die wegvalt, een foutstatus geeft of begrensd wordt (429), telt als "weet het niet" — dan komt de volgende aan de beurt in plaats van dat de hele lookup faalt.

Negatieve lookups worden niet gecached (zodat een net geactiveerd BTW-nummer niet 24u onbruikbaar blijft).

btwzoeken.be

Deze bron geeft meer terug dan VIES: naam, adres in aparte velden, en achter dezelfde API ook de rechtsvorm, de activiteiten en de vestigingen. Voor Belgische nummers is dat het verschil tussen "bestaat dit" en "wie is dit".

Let op wat valid hier betekent. VIES zegt of een nummer VANDAAG geldig is voor intracommunautaire handel; btwzoeken.be zegt of de onderneming in de KBO actief staat. Een stopgezette onderneming komt dus als ongeldig terug en niet als onbekend — wie een factuur nakijkt van een bedrijf dat vorig jaar ophield, hoort geen groen vinkje te krijgen. Wie de officiële EU-bevestiging nodig heeft, houdt vies vooraan in sources.

Een sleutel is optioneel:

Zonder sleutel geldt de publieke begrenzing van btwzoeken.be (5 verzoeken per minuut en 20 per uur per IP-adres); met een sleutel 100 per uur. Een sleutel maak je aan op btwzoeken.be/api/sleutels. De cache in deze package telt daarin mee: een nummer dat vandaag al opgezocht is, kost geen tweede verzoek.

Draait deze package IN btwzoeken.be zelf, dan hoort btwzoeken uit sources te gaan (of VAT_VALIDATOR_BTWZOEKEN_URL leeg te staan). De API daar valt voor een onbekend nummer terug op deze validator, en een validator die die API bevraagt, is een lus.

Cache-formaat

Resultaten gaan als platte array de cache in, niet als geserialiseerd object. Dat is bewust: Laravel 13 zet serializable_classes in config/cache.php standaard op false, waardoor objecten die uit een serialiserende store (file, redis, database, storage) komen niet meer hersteld worden. Met een array-payload werkt de cache op elke store en op elke Laravel-versie, zonder dat de app iets hoeft te configureren.

De payload draagt een versienummer. Wijzigt de vorm van het resultaat, dan worden oude entries automatisch genegeerd in plaats van half gehydrateerd; cache_prefix aanpassen is daarvoor niet nodig.


All versions of laravel-vat-validator with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
guzzlehttp/guzzle Version ^7.9
illuminate/cache Version ^12.0|^13.0
illuminate/contracts Version ^12.0|^13.0
illuminate/http Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package hansdeboeck/laravel-vat-validator contains the following files

Loading the files please wait ...