Qué es LibreDTE Core, de qué vamos a hablar en este blog y por dónde puedes empezar a integrarlo.
Bienvenido al blog de LibreDTE Core
Este es el espacio donde vamos a contar, en un lenguaje técnico pero fácil de seguir, cómo funciona LibreDTE Core por dentro y cómo puedes usarlo en tus propios proyectos.
Qué es LibreDTE Core
LibreDTE tiene por objetivo proveer facturación electrónica libre, accesible y bien documentada para Chile. Su núcleo, LibreDTE Core, es la parte que conversa directamente con el Servicio de Impuestos Internos (SII) para emitir y recibir Documentos Tributarios Electrónicos (DTE).
Es software libre bajo licencia AGPL, sin costo por el código ni por usarlo. Con él puedes, entre otras cosas:
- construir, validar y firmar documentos tributarios,
- generar su representación impresa,
- enviarlos al SII y consultar su estado,
- intercambiarlos con otras empresas,
- y trabajar con libros, registros tributarios y cesión electrónica.
Una biblioteca, varias formas de usarla
El núcleo es una biblioteca PHP, pero no necesitas programar en PHP para aprovecharla. Según cómo quieras integrarte, hay seis puertas de entrada, todas documentadas en core.libredte.cl/docs:
Se embebe en tu proceso
- Biblioteca PHP, si tu proyecto ya está en PHP.
- Dispatcher, una capa intermedia pensada como base para construir un puente hacia otro lenguaje.
- Bridge Python, que usa el motor PHP dentro de tu propio proceso Python.
Se consume como un servicio aparte
- Servicios Web (API), para usar desde cualquier lenguaje por HTTP.
- Imagen Docker (API), la misma API ya empaquetada y lista para correr.
- Imagen Docker (Consola), con cada operación como un comando de línea de comandos.
La diferencia entre los dos grupos no es solo técnica. Si tu programa embebe el código de LibreDTE en su propio proceso, se convierte en un trabajo derivado y queda sujeto a los términos de la licencia AGPL. Si en cambio le habla por red a un proceso aparte, no. Los detalles están en los términos y condiciones de uso.
De qué vamos a hablar
Vamos a publicar sobre:
- Cómo está construido el núcleo. Su arquitectura, las decisiones técnicas y los paquetes de Derafu en los que se apoya.
- Cómo integrarlo. Casos de uso, ejemplos y buenas prácticas para cada una de las seis formas de uso.
- Detalles técnicos de la facturación electrónica. Firma, XML, certificados, autenticación con el SII y otros temas donde se pierde tiempo si no se conocen.
- Novedades del proyecto. Cambios relevantes y hacia dónde va.
Nuestro primer artículo técnico explica cómo LibreDTE Core pasó de un único repositorio a apoyarse en múltiples paquetes de Derafu. Después vendrán temas como Backbone, la base de extensibilidad del núcleo.
Dónde encontrarnos
- Documentación: core.libredte.cl/docs.
- Código fuente: github.com/LibreDTE/libredte-lib-core.
- Paquete en Composer: libredte/libredte-lib-core.
Si tienes dudas sobre algún tema que te gustaría ver aquí, o quieres contribuir al proyecto, escríbenos o abre un issue en GitHub. Síguenos para no perderte los próximos artículos.