Giter VIP home page Giter VIP logo

Comments (16)

jonathanmaron avatar jonathanmaron commented on June 19, 2024 1

Since we are removing a class, that is absolutely a breaking change and requires a new major version.

Increment the [..] MAJOR version when you make incompatible API changes.

Source: https://semver.org/

Removing a class is an "incompatible API change".

from vies.

DragonBe avatar DragonBe commented on June 19, 2024 1

Instead of removing support for the UK, we could continue to support all users there by providing an additional call to the service provided by Gov.uk as suggested by Derick. This service is still in beta though.

from vies.

cooperaj avatar cooperaj commented on June 19, 2024 1

@DragonBe Unsure unfortunately. My current project has been public beta for 4 months so somewhere between that and perpetual a web 2.0 forever. The api linked by Derick has been around in some form or other since January 2018.

EDIT. My bad. I was looking at a different API. Ha... I don't know when this one was made.

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

As mentioned in #127 I would like to implement the Nothern Ireland structures first before removing the UK completely from this library.

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

Question: is removing support of the UK a BC break for which I need to release a new major version 3.0.0, or do I accept it as normal progression and tag it as a 2.2.0 or a 2.1.15 release?

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

@jonathanmaron that's exactly what I was thinking too, but bear with me when I play devil's advocate.

Keeping UK in the current code base can be considered a bug since Brexit and has to be fixed. The validation routines are not impacted nor is there a change in API signatures, the only thing that happens is a removal of a configuration that now allows validation of Brittish VAT ID's and with them helper classes that allow the validation to be executed.

In the above thinking the change looks more like a bugfix rather than a BC breaking version.

If I tag this as version a new major release, people who are using the older version are still validating UK VAT ID's locally, but fail validation at the EC VIES service which is not a desired feature. This is where I'm stuck.

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

Added Polls on

from vies.

michaelcullum avatar michaelcullum commented on June 19, 2024

I'd say it's major, as VAT is still applicable inside the UK same as before (if you're a UK entity using this would be a significant breaking change), and VAT is still to be paid on products purchased & being imported to the UK from the EU.

I'd say the ideal would be introducing an extra option that would make the UK fail, thereby giving users the option for if they see it as a bug for their use-case, they can implement a change as appropriate, but does not introduce a BC break for people expecting current behaviour.

from vies.

cooperaj avatar cooperaj commented on June 19, 2024

I work for a gov agency with public facing sites. Beta may mean changes in the future but (by our standards at least) would mean the service is here to stay.

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

@cooperaj Do you also know how long it takes before a "beta" state becomes stable with the UK.gov services (on average)?

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

No worries @cooperaj, I will need to fully investigate if and how I can integrate this service.

from vies.

jonathanmaron avatar jonathanmaron commented on June 19, 2024

The original scope of DragonBe\Vies\Vies is defined as:

Component using the European Commission (EC) VAT Information Exchange System (VIES) to verify and validate VAT registration numbers in the EU, using PHP and Composer.

Since the VIES web service no longer provides validation for the United Kingdom, I do not think that we should support validation for the United Kingdom in the component.

Why should the United Kingdom be treated differently from all other non-EU countries that have VAT numbers? There are many. See the second and third tables at: https://en.wikipedia.org/wiki/VAT_identification_number

I think a far more elegant and scalable solution would be to provide a new component with the same API as DragonBe\Vies\Vies that offers validation for non-EU countries.

This would allow developers to create their own validation components that cherry pick the validation routines that they need for their application.

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

As I'm investigating options for the UK, I should really think about a more modular approach for this package where non-European validation services could be added as an external plugin maintained by others rather than it is build-in.

In regards to the whole UK issue, I don't want to remove the logic just yet except I won't submit the request against the EC VIES service any longer as there it will be marked as invalid. I could inform users the structure is valid but validation requires an additional step with a pointer to https://www.tax.service.gov.uk/check-vat-number/enter-vat-details. Would this work?

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

@jonathanmaron I know this is not a solution to still provide VAT validation services for UK VAT ID's, but have a look at #132 as I believe this is an elegant transition for the time being.

from vies.

Freeaqingme avatar Freeaqingme commented on June 19, 2024

I think the fact that Vies::listEuropeanCountries() still returns 'GB' should be considered a bug as of this year. The rest, I'm not sure.

from vies.

DragonBe avatar DragonBe commented on June 19, 2024

I think it's safe to now make the UK validation a failure as solved in 03231df

from vies.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.