sunkaflek/vies-parser

Parses adresses from VIES API

v0.5.5 2023-10-11 10:55 UTC

This package is auto-updated.

Last update: 2024-05-11 12:13:51 UTC


README

This library aims to parse addresses returned by EU's VIES API (VAT Information Exchange System). Normally the API returns adresses as one string, instead of street, city, zip. This may be be a big issue for automation.

Supported countries are in get_supported_countries(), currently that is ['SK', 'NL', 'BE', 'FR', 'PT', 'IT', 'FI', 'RO', 'SI', 'AT', 'PL', 'HR', 'EL', 'DK', 'EE', 'CZ'].

I try to add more countries and/or tweak the parser as I get more data from a project in production.

Please note that for some countries (e.g. DE, IE) it is not possible to parse address at all, since the VIES API does not return it or is too inconsistent.

Installation

To install the latest version use composer require sunkaflek/vies-parser.

Usage

<?php

use ViesParser\ViesParser;
require_once __DIR__ . '/vendor/autoload.php';

$parser = new ViesParser();

$address = "Havenlaan 2\n1080 Sint-Jans-Molenbeek";
$vat = 'BE0462920226';

$parsed_address = $parser->get_parsed_address($vat, $address);


if ($parsed_address) {
    var_dump($parsed_address);
} else {
    echo 'cant parse yet';
}

Options

Options are passed in an array in the third parameter of the call to get_parsed_address, for example:

$parser->get_parsed_address($vat, $address, ['sk_delete_mc']);

Available options are:

  • sk_delete_mc deletes "Mestka cast" or its abbreviation "m. c. " from the city name for Slovakian VATs. This is to save space, it is unnecessary to have it in an address
  • do_not_greeklish do not attempt to convert Greek language addresses to latin characters

Notes

Adresses from VIES API can be obtained for example using the excelent library https://github.com/DragonBe/vies