viernes, 12 de marzo de 2021

 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

El Video Correspondiente Video de Demostracion


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(); ;


        }


3 comentarios:

  1. Hola, estuve tratando de verificar la validacion de ruc de sociedades, con tercer digito 9, intente verificar con 2 metodos el del modulo 11 con verificador en el 9no y 10mo digito y vale a unos y otros no, la verdad esta super raro este tema. Si alguien sabe algo se agradece informacion

    ResponderEliminar

FORMATO DE REPRESENTACIONES IMPRESAS DE DOCUMENTOS ELECTRÓNICOS (RIDE) FACTURACION ELECTRONICA ECUADOR En este articulo doy a conocer como ...