Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Vies Laravel Package

dragonbe/vies

PHP Composer package to validate EU VAT numbers via the European Commission VIES SOAP service. Returns country code, VAT number, request date, validity, and (when available) registered company name and address. GDPR-friendly: no data stored by the package.

View on GitHub
Deep Wiki
Context7
2.3.2

What's Changed

New Contributors

Full Changelog: https://github.com/DragonBe/vies/compare/2.3.1...2.3.2

2.3.1

Added a fix for country validation made by @julesdohmen

2.3.0
  • fix: integer overflow on 32 bit architectures (#137)
  • chore: update github actions to run tests on PHP 8.X versions
  • feat: migrate composer to 2.0
  • chore: Informing users about problem validating UK VAT ID's (#126)
  • chore: Replace abandoned Sensiolabs security checker
2.2.0

Because the VIES service has shifted to SSL/TLS we needed to adapt support for it ASAP.

In this version we now support SSL/TLS for VIES:

  • Heatbeat: Verification if the service is up
  • Vies: The client that connects to the service

Much gratitude to @gregsmirnov-av for reporting this

2.1.14

With Brexit being final, we like to welcome Northern Ireland to the VAT validation service. A huge thanks for @jonathanmaron to provide the update to make this possible.

The country code for Northern Ireland is XI, but the original VAT ID's remain the same as they were for the UK.

2.1.13

This release was long overdue but because of work, life and Covid-19 a delay was unfortunately not preventable.

With this release we have a few new features and some bug fixes:

  • Using the command line for checking VAT
  • Full support for proxy services
  • Allowing to use VIES test codes
  • Allowing VAT for Bulgarian foreign natural persons

This release was made possible thanks to the help of @jellyNoone and @fabianwelzer. Great work folks 👍 and thank you for your contributions 🙇!

2.1.12

It has taken a while but this release is jam-packed with bug fixes and improvements.

Here's a list of what has been done:

  • Bug fixes:
    • Issue #99: Failure to add arguments (like trader name) with non-Latin characters
    • Issue #64: Adding support for VIES Test services
  • Improvements:
    • Removing support for PHP-7.0
    • Improving unit and integration tests
    • Added additional edge test cases
    • Improving language usage and error messages
    • Moving Docker containers into their own project space

A huge thanks and appreciation for @peter279k for his pull requests and to @krzaczek, @robmeek, @fidelo-software and @MPablo for reporting issues. Thank you all 🙇 for your time and efforts.

Enjoy this new release 🚀

2.1.11

Thanks to the contributions of @jbrinksmeier, @sophiekuehn and @krzaczek an issue validating Finnish VAT numbers is now fixed.

A big shoutout to the people making this library better 👏

2.1.10

Minor updates:

  • Added VAT validation for new Dutch ID's for self employed entrepreneurs
  • Added support for PHP 7.4 in testing

A big shoutout this time to @krzaczek for his swift actions and code updates, but also a big thank you to @Smitsel and @MollieRick for their contributions in getting this change mentioned and updated.

2.1.9

Didn't check the code style properly and it failed our build. Fixed in this version.

2.1.8

Where we used to have an issue with the time always being set to 02:00 was in fact the timezone the request was made and not the time. As was researched by @cottton, the VIES service returns only the date and the timezone where the request was made for.

So now this VIES service will return you the correct date and the correct timezone, but as the time itself is not returned, it will default to "00:00:00".

Kudos to @cottton for raising the issue and fixing the problem. 🏅

2.1.7

In issue #67 reported by @willemstuursma wrong input validation failed. This is fixed now in the latest release of VIES 2.1.7.

2.1.6

There was an issue validating VAT ID's for natural persons in Bulgaria, which this version fixes. Thanks to @mato61 for reporting it in issue #34.

2.1.5

This release has some interesting updates:

  • Update of sensiolabs/security-checker by @arjank
  • Extra test for the undefined SOAP_1_2 constant warning (issue #60) reported by @gasperkol
  • Adding Docker containers to make testing a whole lot easier (documentation will follow soon)
  • Removal of dead code

Many thanks to all for helping me improve this package. I wish all of you happy holidays and a wonderful 2019!

Michelangelo

2.1.4

This update contains no logic enhancements, only a few more examples to play with and an update of the README.md to explain the unexpected things that we have in our library like the EL prefix for Greek VAT ID's.

2.1.3

This fixes Issue #54 for Slovenian VAT ID's

1.0.9

This fixes Issue #54 for Slovenian VAT ID's

2.1.2

In PR #51 @Freeaqingme requested for a trader check by the VIES service but for some reason his contribution kept failing our unit tests.

So taking his suggestion to heart, I've build and implemented the basic functionality to perform VIES service-side checking of the additional information you pass along the request for validation.

I've also improved the code coverage to cover 100% of the code base and updated the README to better explain the functionality and the possibilities of the service.

I want to thank all that have suggested improvements on the code to make this tool a valuable part of your business workflow.

2.1.1

This is a small update:

We have just updated dependent composer packages We have added a GDPR statement in the README

2.1.0

This is a small update:

  • We have just updated dependent composer packages
  • We have added a GDPR statement in the README
2.0.4

A fix for

  • #41 validateVatSum method falsly returns false for Spanish VAT number

Thanks to @hvanoch for reporting and @krzaczek for fixing this issue super fast! You all rock!

2.0.3

A massive "Thank You" to @nyamsprod and @krzaczek for their huge efforts making this new release of VIES possible. You both are my heroes!

This release contains the following fixes and updates:

  • Improved validation on VAT checksums
  • Consistency in code base
  • Small performance improvements
  • Improvements on unit tests to elevate quality
  • New validation rule for Czech VAT numbers to include recent additions to their VAT number catalogue.
  • Tested agains PHP 7.2

As you see, work continues to improve VAT validation for your projects. If you like to participate, please review our CONTRIBUTING document and as always, please report issues or feature requests on the VIES project's issue tracker.

Thank you for your support in the project!

Michelangelo

1.0.8

This is fix #35 created by @krzaczek to solve a problem processing BG VAT ID's

2.0.2

This is fix #35 created by @krzaczek to solve a problem processing BG VAT ID's

2.0.1

This release has updated VAT validation rules created by @krzaczek. We're very grateful for his work to make this package useful for everyone. #kudos

2.0.0

All PHP 5 versions are now end-of-life, only PHP 5.6 has security updates until 31 Dec 2018. That's why I have decided to upgrade immediately to PHP 7.1 and continue to support the PHP 7 releases.

This release is developed against PHP 7.1 as it supports:

  • type hinting
  • return types
  • visibility of constants

I believe that by upgrading VIES to PHP 7.1 we support the #gophp7 initiative.

Support for older PHP versions will be maintained until 31 Dec 2018 as 1.0.x releases.

I understand it's not always easy to upgrade, but from a security point you must update your public servers to the latest PHP version. Please look at the supported PHP versions to see when a version is announced end-of-life.

I've discussed this with other project maintainers and following the PHP version support is the best way to move forward.

1.0.6

Fixing issue

  • #22: Implementing 8 or 9 VAT numbers for Ireland
  • #23: Removing requirement for pcntl as it's only used for testing
1.0.5

Release notes

  • pre-validation of country code and VAT number before making a request

A big thanks to @krzaczek for his contributions.

1.0.4

Release notes

  • Fixed country UK to GB
  • Added Croatia for VAT validation
  • Improved package description

A big thanks to @jamesblackwell for his contribution in this release

1.0.3

We love VIES service provided by the European Commission, but we also have to be realistic and acknowledge the service might not be accessible from time to time.

To help you verify if the service is up and running, I've added a HeartBeat functionality to the project that will just verify if the service is online before you start querying the service.

A typical example would be the following

<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';

$vies = new \DragonBe\Vies\Vies();
if (false === $vies->getHeartBeat()->isAlive()) {

    echo 'Service is not available at the moment, please try again later.' . PHP_EOL;

} else {

//  Using my own VAT to verify, should be valid
    $result = $vies->validateVat('BE', '0811231190');
    echo ($result->isValid() ? 'VALID' : 'INVALID') . ' VAT number' . PHP_EOL;

//  Using bogus VAT to verify, should be invalid
    $result = $vies->validateVat('BE', '1234567890');
    echo ($result->isValid() ? 'VALID' : 'INVALID') . ' VAT number' . PHP_EOL;
}

I hope that this HeartBeat functionality will be a small, but valuable contribution to the project.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity