Librería para CFDI 4.0

En 2015 haciendo mis prácticas profesionales en un despacho contable, conocí lo que era CFDI 3.2 y en mi afán de aprender, desarrollé una librería que generaba el XML sellado para su timbrado.

Pero justo al terminar mis prácticas, me contrató una empresa local dedicada a la facturación electrónica, donde laboré por más de 3 años dando soporte técnico al SDK para CFDI que comercializaban.

Con esa experiencia decidí volver a crear una librería para facturación electrónica, que coincidió con la llegada del Cfdi 3.3 y pude venderla cuando entró en vigor (ver aquí).

Además, al mismo tiempo en la empresa que trabajaba desarrollé una nueva versión del SDK, que también soportaba Cfdi 3.3, que entre sus características más resaltables eran:

  • Retro compatibilidad con los proyectos que ya usaban el SDK anterior (prácticamente era quitar el viejo e incorporar el nuevo)
  • Su nueva estructura le permitía darle soporte de forma mucho más facil
  • Implementé un sistema de plugins que le permitía al SDK realizar operaciones antes, durante y después de generar y timbrar el Cfdi.

Con esos casi 4 años de experiencia y los casi 7 años de experiencia profesional, decidí crear una librería para CFDI 4.0.

Actualmente estoy desarrollando una librería que soporta las versiones 3.3 (aún vigente) y 4.0 de CFDI. Esta librería podrá incluir cualquier complemento que necesites por medio de librerías extra que iré desarrollando y liberando tan pronto como me sea posible.

¿Cómo consigo la librería?

La librería la puedes conseguir desde la nuget gallery o puedes buscarla en Visual Studio, desde nuget package manager, igual que los complementos.

Librería para CFDI 4.0 en nuget gallery
Mi perfil de NuGet Gallery al día de la publicación
Librería para CFDI 4.0 en NuGet Package Manager
NuGet Package Manager (Marca la opción “Incluir versión preliminar”)

Compatibilidad

Compatibilidad de la librería para CFDI 4.0
Para más detalle revisa la información el NuGet Package Manager o NuGet Gallery

¿De verdad es gratis?

Si, la librería para CFDI junto con las librerías para complementos son totalmente gratuitas. Este es un proyecto personal y deseó poder implementar la mayor cantidad de complementos posibles (a ser posible, todos).

Soporte Técnico

Actualmente no dispongo del tiempo que me gustaría para darle soporte a un proyecto como este y no puedo ofrecer soporte 24/7.

Como dije anteriormente, mi idea es implementar la mayoría de los complementos, por lo que si necesitasl alguno en concreto hazmelo saber.

Importante

  • Actualmente estoy utilizando el ambiente de pruebas de Solución Factible para timbrar los CFDI y validar que las librerías estén trabajando correctamente.
  • Pronto publicaré un repositorio de GitHub con los ejemplos que timbré para validar las librerías, está atento a este sitio para que puedas descargarlo.

Ejemplos

4 comentarios

  1. JOSE LUIS ZAMORA

    11/08/2022 a las 10:31 AM

    Estimado Amigo:

    al estar realizando las pruebas con tu código se esta generando el siguiente error al llegar a la ejecución de:

    string cadenaOriginal = XsltTransform.GeneraCadenaOriginal(cfdi.Documento, xsltFile);

    el error es:
    XmlException: Por razones de seguridad, la DTD está prohibida en este documento XML. Para habilitar el procesamiento de la DTD, establezca la propiedad DtdProcessing de XmlReaderSettings en Parse y pase la configuración al método XmlReader.Create.

    sabrás a que se deba?
    le busque y comentan que hay que cambiar ProhibitDtd = False

    • Buen dia, no he podido reproducir el error, siempre me genera el sello correctamente, me ayudaria bastante si haces un pequeño proyecto de prueba donde te genere el error para poder revisarlo, por favor incluye tu archivo xslt.

  2. Excelente aporte… lo probe con nomina y lo genera muy bien. Solo que trate de hacer una de donatarias, pero genera mal el schemalocation, falta el donat11.xsd. ¿Se puede modificar el schemalocation de alguna forma?

    • Perdón no había visto tu comentario, me puedes decir específicamente cual es el error? para corregirlo y subirte la actualización, según yo se estaba generando correctamente el XML

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.