Curso de facturación electrónica Colombia en C# .Net

En este curso te explico cómo puedes crear la factura electrónica de Colombia según lo establecido por el DIAN.

Todo el proceso esta explicado para la tecnología C# .Net.

El curso esta en proceso, si quieres estar informado de cuando publico los videos, te invito a que te suscribas a mi canal de youtube dando clic aquí.

1.- Generar clases a partir de XSD

Curso complemento para recepción de pagos en C# .Net, Convertir XSD a clases de C#, SAT cfdi 3.3, #2

En este video te enseñare como convertir los xsd otorgados por el SAT a clases de C# .Net de una manera automática, limpia y en segundos.

Este curso esta hecho para que puedas crear el xml 3.3 con el complemento de pago en C# .Net.

Código facturación electrónica: clic aquí

Código de este video: clic aquí

Video anterior #1: https://www.youtube.com/watch?v=9qcD51EZ-Zw

 

¿Cómo crear el archivo pdf a partir de un xml timbrado 3.3 C# .Net?, Impuestos, SAT #5

En este quinto video te muestro como obtener los impuestos del xml para imprimirlos en el archivo pdf

Primer video: https://www.youtube.com/watch?v=gHSC8GrEC5g

Segundo video: https://www.youtube.com/watch?v=ZppyFAM2JQM

Tercer video: https://www.youtube.com/watch?v=2l9y_dbguaQ

Cuarto video: https://www.youtube.com/watch?v=0nmqpoCTUuM

Código del video: aquí

¿Cómo crear el xml 3.3 con impuestos federales? cfdi C# .Net? | catálogos | SAT #1

Te invito a que te suscribas a mi canal de youtube para mas videos interesantes sobre programación.

En este primer video te mostrare como agregar un impuesto al concepto y al nodo principal comprobante.

Descargar código: Clic aquí

Curso facturación electrónica básico: https://www.youtube.com/watch?v=XlTz0NRQLm4&list=PLWYKfSbdsjJg-yuu9K53GwthkEE8lkXDL

Curso creación pdf a partir de xml 3.3: https://www.youtube.com/watch?v=gHSC8GrEC5g&list=PLWYKfSbdsjJi6sOjwqZqotNnpWf7Jl_me

Catálogos mysql: https://www.youtube.com/watch?v=ZpHROAfzxsM

Curso gratis para crear el archivo PDF a partir de un XML 3.3 ya timbrado. C# .Net #SAT #cfdi




Con este curso de 4 videos te enseño como crear el archivo pdf a partir de un XML ya timbrado con C# .Net.

Te invito a que te suscribas a mi canal de youtube para mas videos interesantes sobre programación.

La ventaja que tiene ese curso, es que haremos el archivo pdf a partir de un archivo HTML, esto es útil para cuando el cliente pide muchos cambios en su formato (es más fácil capacitarlo a que el mismo mueva el archivo html que capacitarlo en crystal reports por ejemplo).

Me enfoco para crear el archivo PDF con un proyecto simple de consola, para que así veas que puedes implementarlo en cualquier tipo de proyecto de C# .Net: mvc .net, asp, Windows form, WPF, WCF etc.

1.- En el primer video nos enfocaremos a obtener la información del xml 3.3 en un objeto, y para ello te muestro como es posible hacer el parseo de los datos del xml para posterior poder manipularlos.

2.- En este segundo video nos centraremos en convertir un archivo html a pdf, y de igual manera te mostrare como ejecutar Razor para que nuestro html sea manipulado dinámicamente (no importa que el proyecto no sea web, yo te muestro como hacerlo).

3.- En este video te muestro como crear el código QR como el SAT lo requiere.

4.- En este video, te muestro como hacer el archivo PDF conforme al anexo 20, al igual veremos cómo crear el texto de la cantidad total de la factura con letra.

5.- Por último, te enseño como puedes navegar a elementos mas profundos, en este caso los impuestos, y de esta manera puedas representarlos en tu pdf.

Con estos 5 videos seras capaz de crear el archivo PDF sin problemas.

 

¿Cómo crear el archivo pdf a partir de un xml timbrado 3.3 C# .Net? | Anexo 20 | SAT #4

En este cuarto y último video de este curso veremos como crear el pdf a partir del anexo 20, a parte veremos como introducir la cantidad total con letra.

Código del video: clic aquí

Primer video: https://www.youtube.com/watch?v=gHSC8GrEC5g

Segundo video: https://www.youtube.com/watch?v=ZppyFAM2JQM

Tercer video: https://www.youtube.com/watch?v=2l9y_dbguaQ

Curso para que aprendas a crear el xml 3.3 desde cero: https://www.youtube.com/watch?v=XlTz0NRQLm4&list=PLWYKfSbdsjJg-yuu9K53GwthkEE8lkXDL

Catálogos sat mysql: https://hdeleon.net/catalogos-para-facturar-3-3-sat-en-mysql/

¿Cómo crear el archivo pdf a partir de un xml timbrado 3.3 C# .Net? | Xml a clase/objeto | SAT #1

En este video te mostrare como serializar un xml y guardarlo en una clase para poder manipularla los datos en C# .Net

Código del video: clic aquí

Curso para que aprendas a crear el xml 3.3 desde cero: https://hdeleon.net/curso-para-crear-la-factura-electronica-3-3-cfdi-del-sat-gratis-en-c-net/

Catálogos sat mysql: https://hdeleon.net/catalogos-para-facturar-3-3-sat-en-mysql/

Curso para crear la factura electrónica 3.3 cfdi del SAT GRATIS en C# .Net




Gratuitamente te enseñare como puedes crear tu factura electrónica con los siguientes videos, te aseguro que después de ver los videos podrás entender a la perfección como realizar el cfdi 3.3 que tanto martirio tiene a todos los contribuyentes en México.

Te invito a que te suscribas a mi canal de youtube para mas videos interesantes sobre programación.

1.- ¿Cómo convertir archivos XSD a clases de C# .Net? cfdi 3.3 

En este primer video te muestro como generar automáticamente las clase a partir de los archivos xsd del SAT.

2.- ¿Cómo crear el XML para cfdi 3.3 facturación electrónica C# .Net? – Limpiando código 

Una vez que creaste las clases de manera automatica, es momento de optimizarlas, y a continuación te muestro como hacerlo.

3.- ¿Cómo crear el XML para cfdi 3.3 facturación electrónica C# .Net? – implementando anexo 20

Ya por fin que tenemos nuestras clases adecuadas para crear el archivo XML, es momento de ir llenandolo conforme el anexo 20 del SAT, para ello te explico los campos del SAT para que son y como llenarlos de la forma correcta.

4.- ¿Cómo sellar el XML para cfdi 3.3 facturación electrónica C# .Net? – utf8, obtener número de Certificado

Ya que tenemos el xml listo, es momento comenzar el sellado, y te diré como obtener el numero del certificado; tambien te enseñare como cambiar la codificación de tu xml a utf8.

5.- ¿Cómo sellar el XML para cfdi 3.3 facturación electrónica C# .Net? – Sellar con key

Ya por fin vamos a sellar nuestro xml con nuestro archivo key, al igual te mostrare como arreglar el problema con los campos FieldSpecified que se generaron al crear nuestras clases en el primer video, agregar los namespace adecuados del SAT, y a obtener la cadena original por medio del archivo xslt necesaria para el sellado.

6.- ¿Cómo timbrar el XML para cfdi 3.3 facturación electrónica C# .Net? – conectandonos al PAC

Ya por fin en este vide veras como realizar el mitico timbrado de la factura, con lo cual tu factura ya sera valida para el SAT.

Para contratar el servicio de timbrado comunícate al siguiente teléfono (33) 36581329 o al correo electrónico [email protected]. Y si deseas un DESCUENTO diles que viste los videos de Héctor de León.

Si eres un perezoso o te urge hacer la facturación electrónica, te dejo el enlace al código del proyecto, espero te sirva: Código del proyecto

Dudas y comentarios pueden hacérmelos llegar en los comentarios abajo.

¿Cómo crear el XML para cfdi 3.3 facturación electrónica C# .Net? – implementando anexo 20 – SAT #3

Te muestro como crear el xml según la documentación del SAT establecida en el anexo 20.

Clase para crear el XML: clic aquí

Video 1: https://www.youtube.com/watch?v=XlTz0NRQLm4

Video 2: https://www.youtube.com/watch?v=HjfqdTspnio

Catálogos SAT mysql: https://hdeleon.net/catalogos-para-facturar-3-3-sat-en-mysql/


 class Program
    {
        static void Main(string[] args)
        {

            //Llenamos la clase COMPROBANTE--------------------------------------------------------

            Comprobante oComprobante = new Comprobante();
            oComprobante.Version = "3.3";
            oComprobante.Serie = "H";
            oComprobante.Folio = "1";
            oComprobante.Fecha = DateTime.Now;
            oComprobante.Sello = "faltante"; //sig video
            oComprobante.FormaPago = "99";
            oComprobante.NoCertificado = "12312312313112121212"; //sig video
            oComprobante.Certificado = ""; //sig video
            oComprobante.SubTotal = 10m;
            oComprobante.Descuento =1;
            oComprobante.Moneda = "MXN";
            oComprobante.Total =9;
            oComprobante.TipoDeComprobante = "I";
            oComprobante.MetodoPago = "PUE";
            oComprobante.LugarExpedicion = "20131";

            ComprobanteEmisor oEmisor = new ComprobanteEmisor();

            oEmisor.Rfc = "POWE870601DM7";
            oEmisor.Nombre = "Una razón rh de cv";
            oEmisor.RegimenFiscal = "605";

            ComprobanteReceptor oReceptor = new ComprobanteReceptor();
            oReceptor.Nombre = "Pepe SA DE CV";
            oReceptor.Rfc = "PEPE080801JH1";
            oReceptor.UsoCFDI = "P01";

            //asigno emisor y receptor
            oComprobante.Emisor = oEmisor;
            oComprobante.Receptor = oReceptor;

            List<ComprobanteConcepto> lstConceptos = new List<ComprobanteConcepto>();
            ComprobanteConcepto oConcepto = new ComprobanteConcepto();
            oConcepto.Importe = 10m;
            oConcepto.ClaveProdServ = "92111704";
            oConcepto.Cantidad = 1;
            oConcepto.ClaveUnidad = "C81";
            oConcepto.Descripcion = "Un misil para la guerra";
            oConcepto.ValorUnitario = 10m;
            oConcepto.Descuento = 1;

            lstConceptos.Add(oConcepto);

            oComprobante.Conceptos = lstConceptos.ToArray();

            //SERIALIZAMOS.-------------------------------------------------
            string pathXML = @"C:\Users\Bioxor\source\repos\XSDToXML\miPrimerXML.xml";

            XmlSerializer oXmlSerializar = new XmlSerializer(typeof(Comprobante));

            string sXml = "";

            using (var sww= new StringWriter())
            {
                using (XmlWriter writter = XmlWriter.Create(sww))
                {

                    oXmlSerializar.Serialize(writter,oComprobante);
                    sXml = sww.ToString();
                }

            }

            //guardamos el string en un archivo
            System.IO.File.WriteAllText(pathXML,sXml);

        }
    }