-
Notifications
You must be signed in to change notification settings - Fork 162
VAT Id Number validators for all EU countries #271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Check Digit calculation/validation https://issues.apache.org/jira/projects/VALIDATOR/issues/VALIDATOR-494
Error: Failed to execute goal org.apache.maven.plugins:maven-pmd-plugin:3.24.0:check (default-cli) on project commons-validator: PMD 7.4.0 has found 1 violation. For more details see: /home/runner/work/commons-validator/commons-validator/target/pmd.xml -> [Help 1]
This reverts commit 62c5f75.
minor changes in VATidATCheckDigit
Check Digit calculation/validation It is a subclass from Modulus97CheckDigit, which is also used to validate the LEI and German Leitweg, see apache#61 This implemets parts of https://issues.apache.org/jira/projects/VALIDATOR/issues/VALIDATOR-494
Check Digit calculation/validation https://issues.apache.org/jira/projects/VALIDATOR/issues/VALIDATOR-494
- add testcases with branches
I agree that testing the checksums and structure of VAT numbers will allow the removal of incorrect numbers, however it won't prove that they were ever valid, only that they could have been. |
Nice find! I checked and can confirm that both my own btw-id and the one I won't disclose are accepted by the updated implementation. To justify the additional maintenance burden it'd still be good to find one or two other parties that can confirm they'd use this component in production and help keep it up-to-date before merging it into the main library. |
I think it is vital to include links to the official documentation of the validation requirements in each national class. Furthermore, most of the Wikipedia entries give no validation details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These look like bugs
src/main/java/org/apache/commons/validator/routines/checkdigit/VATidBECheckDigit.java
Show resolved
Hide resolved
src/main/java/org/apache/commons/validator/routines/checkdigit/VATidLUCheckDigit.java
Show resolved
Hide resolved
src/main/java/org/apache/commons/validator/routines/checkdigit/VATidLUCheckDigit.java
Outdated
Show resolved
Hide resolved
src/main/java/org/apache/commons/validator/routines/checkdigit/VATidBECheckDigit.java
Show resolved
Hide resolved
I change in `VATidLUCheckDigit` from `MIN_LEN` which is 4 to the stronger `CHECKDIGIT_LEN` which is 2 tkx to https://github.com/sebbASF
No. Imprecise comments + inconsistent code. Both resolved. Tkx |
src/main/java/org/apache/commons/validator/routines/checkdigit/VATidBECheckDigit.java
Show resolved
Hide resolved
src/main/java/org/apache/commons/validator/routines/checkdigit/VATidBECheckDigit.java
Show resolved
Hide resolved
which does not provide a comment (implicit constructor)
There are some classes with logging, but not all. What determines whether logging is used? |
I wouldn't except any logging from this component. |
apache#271 (comment) There are some classes with logging, but not all. ... Is it really needed? VATidCZCheckDigit : LOG was used only when DebugEnabled VATidBGCheckDigit : dto VATidESCheckDigit : dto VATidFRCheckDigit : dto VATidGBCheckDigit : dto VATidLVCheckDigit : dto + to explain why calculation fails
I've removed logging. There is one class with logging left :
@garydgregory |
Logging can be completely disabled, so should not be essential to the functioning of a class. In this case, the log messages are directly associated with an exception (apart from an unnecessary debug log), so I don't see the point of them; they don't provide any extra information. I think they should be removed as well please. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per comments
Hi @garydgregory ,
here is EUgen from Europe.
With this PR I provide validation and check digit calculation for VAT Id Numbers VATIN for all countries in the EU. This number is neccessary in the intra comunity trades to apply a zero VAT rate.
You can find a documentation of the different VATINs structures in my VATIN wiki (de)
The validator for all is
VATINValidator
- it implements the jira issue 494Pls review and merge.
Regards EUGen