File tree Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change 1
1
# vatin.py - function to validate any given VATIN.
2
2
#
3
3
# Copyright (C) 2020 Leandro Regueiro
4
- # Copyright (C) 2021 Arthur de Jong
4
+ # Copyright (C) 2021-2024 Arthur de Jong
5
5
#
6
6
# This library is free software; you can redistribute it and/or
7
7
# modify it under the terms of the GNU Lesser General Public
@@ -74,7 +74,10 @@ def compact(number):
74
74
"""Convert the number to the minimal representation."""
75
75
number = clean (number ).strip ()
76
76
module = _get_cc_module (number [:2 ])
77
- return number [:2 ] + module .compact (number [2 :])
77
+ try :
78
+ return number [:2 ].upper () + module .compact (number [2 :])
79
+ except ValidationError :
80
+ return module .compact (number )
78
81
79
82
80
83
def validate (number ):
Original file line number Diff line number Diff line change 1
1
test_vatin.doctest - more detailed doctests for stdnum.vatin module
2
2
3
3
Copyright (C) 2020 Leandro Regueiro
4
- Copyright (C) 2021 Arthur de Jong
4
+ Copyright (C) 2021-2024 Arthur de Jong
5
5
6
6
This library is free software; you can redistribute it and/or
7
7
modify it under the terms of the GNU Lesser General Public
96
96
False
97
97
>>> vatin.is_valid('US')
98
98
False
99
+
100
+
101
+ Check for VAT numbers that cannot be compacted without EU prefix:
102
+
103
+ >>> vatin.is_valid('EU191849184')
104
+ True
105
+ >>> vatin.compact('EU191849184')
106
+ 'EU191849184'
You can’t perform that action at this time.
0 commit comments