Algoritmo de módulo 11 SRI C#
Para Facturación Electronica
En este Blog vamos a ver parte por parte ademas dejaremos el codigo para la realizar todo sobre fcturacion electronica
Puedes Seguirme en mi pagina de
Facebook
Tambien Seguirme en mi canal de
Youtube
En esta Primera entrega veremos el algoritmo del Modulo 11
Segun lo que dice el SRI es lo Siguiente
Ahora veremos el codigo Resuelto en c#
Primero debemos obtener los 48 digitos q se da para formar la clave de Acceso
var x= digito11("120320210607044538100011100001000000806000000511");
x.ToString();
Luego de eso realizar los siguientes pasos
Que es primero Sacar el areglo de la Clave de Acceso en ToCharArray(), para poder sumar y multiplicar cada una de los char;
En segundo lugar es recorrer todo el array realizando la suma y multiplicando por el factor q segun el SRI va del 1 al 7 y restar cada uno al factor por cada Iteracion;
Por ultimo hacemos la verificacion de el modulo 11 q es la suma por el mod 11 y comparar si es diferente de 11 o 10 va el numero q salio Si es igual a 11 va 0 y si es 10 va 1
Por ultimo retornamos el Codigo Verificador mas el digito verificador y es todo sobre el Algoritmo de Codigo 11 para el SRI
private static string digito11(string claveAcceso48)
{
var clave1 = claveAcceso48.ToCharArray();
int suma = 0, factor = 7;
foreach (var item in clave1)
{
suma = suma + Convert.ToInt32(item.ToString()) * factor;
factor = factor - 1;
if (factor == 1)
factor = 7;
}
var digitoverificador = (suma % 11);
digitoverificador = 11 - digitoverificador;
if (digitoverificador == 11)
digitoverificador = 0;
else if (digitoverificador == 10)
digitoverificador = 1;
return claveAcceso48 + digitoverificador.ToString(); ;
}