瀏覽代碼

Fix validation for Finnish vat numbers

Fixing a bug in the validate method in fi.py. Previous code returns None when checksum == 0. E.g. FI19506810 is a valid Finnish vat number, but validate() returns None.
dyyni 5 年之前
父節點
當前提交
eca8ff1e49
共有 1 個文件被更改,包括 4 次插入5 次删除
  1. 4 5
      pyVat/validators/fi.py

+ 4 - 5
pyVat/validators/fi.py

@@ -40,10 +40,9 @@ class Validator(GenericValidator):
         checksum = int(vat_number[7])
 
         r = 11 - self.sum_weights([7,9,10,5,8,4,2], vat_number) % 11
-        if r == 0:
+        if r == 10:
             return False
-        elif r == 11:
-            if checksum != 0:
-                return False
+        elif (r == 11 and checksum == 0) or checksum == r:
+            return True
         else:
-            return checksum == r
+            return False