details:   https://code.tryton.org/tryton/commit/1a4bf1aa835e
branch:    default
user:      Cédric Krier <[email protected]>
date:      Tue Jan 13 15:47:25 2026 +0100
description:
        Update API of ogm_vcs fallback to be the same as the release 2.2 of 
python-stdnum

        Closes #14488
diffstat:

 modules/account_be/account.py |   2 +-
 modules/account_be/ogm_vcs.py |  12 ++++--------
 2 files changed, 5 insertions(+), 9 deletions(-)

diffs (42 lines):

diff -r a7bcd29273f4 -r 1a4bf1aa835e modules/account_be/account.py
--- a/modules/account_be/account.py     Sat Jan 10 18:39:18 2026 +0100
+++ b/modules/account_be/account.py     Tue Jan 13 15:47:25 2026 +0100
@@ -179,7 +179,7 @@
         number = self._customer_payment_reference_number_digit(source)
         if number:
             number = number % 10**10
-            check_digit = ogm_vcs.calc_check_digit(str(number))
+            check_digit = ogm_vcs.calc_check_digits(str(number))
             reference = f'{self.number_digit:0>10}{check_digit}'
             return f'+++{ogm_vcs.format(reference)}+++'
 
diff -r a7bcd29273f4 -r 1a4bf1aa835e modules/account_be/ogm_vcs.py
--- a/modules/account_be/ogm_vcs.py     Sat Jan 10 18:39:18 2026 +0100
+++ b/modules/account_be/ogm_vcs.py     Tue Jan 13 15:47:25 2026 +0100
@@ -12,14 +12,10 @@
     return clean(number, ' +/').strip()
 
 
-def checksum(number: str) -> int:
-    """Calculate the checksum."""
-    return (int(number) % 97) or 97
-
-
-def calc_check_digit(number: str) -> str:
+def calc_check_digits(number: str) -> str:
     """Calculate the check digit that should be added."""
-    return '%02d' % checksum(number)
+    number = compact(number)
+    return '%02d' % ((int(number[:10]) % 97) or 97)
 
 
 def validate(number: str) -> str:
@@ -29,7 +25,7 @@
         raise InvalidFormat()
     if len(number) != 12:
         raise InvalidLength()
-    if checksum(number[:-2]) != int(number[-2:]):
+    if calc_check_digits(number) != number[-2:]:
         raise InvalidChecksum()
     return number
 

Reply via email to