Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #18537 -- Fixed CUIT calculation in ar localflavor

Thanks mmoya at 8ksoft.com.ar for the report and Kevin Shaul for the
initial patch.
  • Loading branch information...
commit 1d2982362df1dbd9b08ffcc1d2506b2e3789250e 1 parent 590de18
@claudep claudep authored
View
9 django/contrib/localflavor/ar/forms.py
@@ -105,9 +105,16 @@ def _canon(self, cuit):
return cuit[:-1], cuit[-1]
def _calc_cd(self, cuit):
+ # Calculation code based on:
+ # http://es.wikipedia.org/wiki/C%C3%B3digo_%C3%9Anico_de_Identificaci%C3%B3n_Tributaria
mults = (5, 4, 3, 2, 7, 6, 5, 4, 3, 2)
tmp = sum([m * int(cuit[idx]) for idx, m in enumerate(mults)])
- return str(11 - tmp % 11)
+ result = 11 - (tmp % 11)
+ if result == 11:
+ result = 0
+ elif result == 10:
+ result = 9
+ return str(result)
def _format(self, cuit, check_digit=None):
if check_digit == None:
View
1  tests/regressiontests/localflavor/ar/tests.py
@@ -87,6 +87,7 @@ def test_ARCUITField(self):
'27-10345678-4': '27-10345678-4',
'20101234569': '20-10123456-9',
'27103456784': '27-10345678-4',
+ '30011111110': '30-01111111-0',
}
invalid = {
'2-10123456-9': error_format,
Please sign in to comment.
Something went wrong with that request. Please try again.