Calculo dígito de verificación Dian (Colombia)
COMO SE HACE?
Para el ejemplo tomaremos el NIT de la DIAN (800,197,268) cuyo DV debe ser 4, esto lo
hacemos con el fin quecada persona interesada pueda elaborar la formulación bien sea en
un archivo excel o incorporar la rutina a cualquier programa.
NIT
DV
: 800, 197,268
:4
Posición 15 ->
8 X 3 = 24
Posición14 ->
6 X 7 = 42
Posición 13 ->
2 X 13 = 26
Posición 12 ->
7 X 17 = 119
Posición 11 ->
9 X 19 = 171
Posición 10 ->
1 X 23 = 23
Posición 9 ->
0 X 29 = 0
Posición 8 ->
0 X 37 = 0
Posición 7->
8 X 41 = 328
Posición 6 ->
0 X 43 = 0
Posición 5 ->
0 X 47 = 0
Posición 4 ->
0 X 53 = 0
Posición 3 ->
0 X 59 = 0
Posición 2 ->
0 X 67 = 0
Posición 1 ->
0 X 71 = 0
Sumatoria: –>
733Residuo (después de dividir la sumatoria por 11): –> 7
Si el residuo es cero (0) el DV es Cero (0) –>
Si el residuo es uno (1) el DV es Uno (1) –>
Si el residuo es diferente de cero (0) y uno (1),se resta el residuo al número 11 y ese será el
DV –> 4
EN CODIGO Power Builder
string nit_dclrcion,dgto_vrfcdor
dgto_vrfcdor = '0'
nit_dclrcion = string(nit,'000000000000000')
//CalculaDigito Verificador
smtria = (MOD(((integer(mid(nit_dclrcion,15,1))) *3 + &
integer(mid(nit_dclrcion,14,1)) *7 + &
integer(mid(nit_dclrcion,13,1)) *13 + &
integer(mid(nit_dclrcion, 12,1)) *17 + &integer(mid(nit_dclrcion,11,1)) *19 + &
integer(mid(nit_dclrcion,10,1)) *23 + &
integer(mid(nit_dclrcion,9,1)) *29 + &
integer(mid(nit_dclrcion,8,1)) *37 + &
integer(mid(nit_dclrcion,7,1)) *41 + &integer(mid(nit_dclrcion,6,1)) *43 + &
integer(mid(nit_dclrcion,5,1)) *47 + &
integer(mid(nit_dclrcion,4,1)) *53 + &
integer(mid(nit_dclrcion,3,1)) *59 + &
integer(mid(nit_dclrcion,2,1)) *67 + &integer(mid(nit_dclrcion, 1,1)) *71),11));
CHOOSE CASE smtria
CASE 0
dgto_vrfcdor ="0"
CASE 1
dgto_vrfcdor ="1"
CASE ELSE
dgto = (11 - mod(smtria,11))
dgto_vrfcdor = string((dgto))
END CHOOSE...
Regístrate para leer el documento completo.