LibreDTE: Biblioteca Est谩ndar en PHP
LibreDTE es un proyecto que tiene por objetivo proveer Facturaci贸n Electr贸nica Libre para Chile.
Aqu铆 podr谩s encontrar la biblioteca escrita en lenguaje PHP para la integraci贸n con el Servicio de Impuestos Internos (SII) asociada a los Documentos Tributarios Electr贸nicos (DTE).
La biblioteca se construye originalmente para ser usada en la Aplicaci贸n Web de LibreDTE Versi贸n Comunidad. En esta biblioteca s贸lo estar谩 lo b谩sico, sin interfaces de usuario, para que un desarrollador pueda construir su propia aplicaci贸n.
Si deseas una aplicaci贸n "llegar y usar" sin preocuparte por instalaciones o servidores, revisa la Aplicaci贸n Web de LibreDTE Versi贸n Oficial. Podr谩s registrarte y usar la plataforma web de facturaci贸n junto a otros m贸dulos.
Importante: SASCO SpA, empresa autora y due帽a de LibreDTE, no provee soporte oficial para integraciones usando esta Biblioteca de manera directa. SASCO SpA s贸lo provee el soporte para integraciones mediante servicios web de la plataforma web de LibreDTE, normalmente en www.libredte.cl.
Funcionalidades implementadas
- Conexi贸n a maullin o palena.
- Obtenci贸n de token para autenticaci贸n autom谩tica.
- Obtenci贸n de estado de un DTE a trav茅s del folio, fecha y monto.
- Parser para set de pruebas.
- Generaci贸n de XML, timbraje y firma del DTE.
- Generaci贸n, y env铆o, de XML EnvioDTE firmado.
- Consulta del estado de env铆o de DTE a trav茅s de su Track ID.
- Consulta del estado de env铆o de un Libro a trav茅s de su Track ID.
- Documentos oficialmente soportados (sets certificados):
- Factura electr贸nica (33).
- Factura exenta electr贸nica (34).
- Boleta electr贸nica (39).
- Boleta exenta electr贸nica (41).
- Factura de compra electr贸nica (46).
- Gu铆a de despacho electr贸nica (52).
- Nota de d茅bito electr贸nica (56).
- Nota de cr茅dito electr贸nica (61).
- Factura de exportaci贸n electr贸nica (110).
- Nota de d茅bito exportaci贸n electr贸nica (111).
- Nota de cr茅dito exportaci贸n electr贸nica (112).
- Informaci贸n electr贸nica de compras y ventas (IECV).
- Libro de gu铆as de despacho electr贸nico.
- Libro de boletas y reporte de consumo de folios (RCOF).
- Etapa de intercambio con otros contribuyentes:
- Acuse de recibo.
- Recibo de mercader铆as y servicios prestados.
- Resultado validaci贸n.
- Generaci贸n de DTE en PDF a partir de su XML, hoja carta y papel cont铆nuo.
- Generaci贸n de IECV en PDF a partir de su XML.
- Impuestos adicionales (excepto combustibles).
- Cesi贸n electr贸nica (factoring).
- Acciones para el Registro de Compras y Ventas (RCV).
- Ingresar aceptaci贸n o reclamo.
- Listar eventos del DTE.
- Consultar posibilidad de cesi贸n del DTE.
- Consultar fecha de recepci贸n en SII del DTE.
Funcionalidades independientes
- Conversi贸n de arreglos PHP a XML.
- Firma electr贸nica de un XML.
- Internacionalizaci贸n.
- Sistema de logs.
Formatos soportados de entrada de datos de DTE
- Formatos oficiales con estructura del SII:
- JSON
- XML
- YAML
Instalaci贸n
Directamente desde la terminal con:
$ composer require sasco/libredte
O editando el archivo composer.json y agregando:
{
"require": {
"sasco/libredte": "21.10.*"
}
}
Los ejemplos est谩n disponibles en el directorio examples. Los ejemplos que requieren archivos XML son casos donde el XML es entregado por el SII o bien casos de XML generados por la misma biblioteca.
T茅rminos y condiciones de uso
Al utilizar este proyecto, total o parcialmente, autom谩ticamente se acepta cumplir con los t茅rminos y condiciones de uso que rigen a LibreDTE. La Licencia P煤blica General Affero de GNU (AGPL) s贸lo aplica para quienes respeten los t茅rminos y condiciones de uso. No existe una licencia comercial de LibreDTE, por lo cual no es posible usar el proyecto si no aceptas cumplir dichos t茅rminos y condiciones.
La versi贸n resumida de los t茅rminos y condiciones de uso de LibreDTE que permiten utilizar el proyecto, son los siguientes:
- Tienes la libertad de: usar, estudiar, distribuir y cambiar LibreDTE.
- Si utilizas LibreDTE en tu software, el c贸digo fuente de dicho software deber谩 ser liberado de manera p煤blica bajo licencia AGPL.
- Si haces cambios a LibreDTE deber谩s liberar de manera p煤blica el c贸digo fuente de dichos cambios bajo licencia AGPL.
- Debes hacer referencia de manera p煤blica en tu software al proyecto y autor original de LibreDTE, tanto si usas LibreDTE sin modificar o realizando cambios al c贸digo.
Es obligaci贸n de quienes quieran usar el proyecto leer y aceptar por completo los t茅rminos y condiciones de uso.
Contribuir al proyecto
Si deseas contribuir con el proyecto, especialmente resolviendo alguna de las issues abiertas o creando nuevos ejemplos sobre el uso de la biblioteca, debes:
- Hacer fork del proyecto en GitHub
- Crear una branch para los cambios: git checkout -b nombre-branch
- Modificar c贸digo: git commit -am 'Se agrega...'
- Publicar cambios: git push origin nombre-branch
- Crear un pull request para unir la nueva branch con LibreDTE.
IMPORTANTE: antes de hacer un pull request verificar que el c贸digo cumpla con los est谩ndares PSR-1, PSR-2 y PSR-4.
Contacto y redes sociales
- Sitio web: https://libredte.cl
- Youtube: https://www.youtube.com/libredtecl
- Facebook: https://www.facebook.com/libredte
- Instagram: https://www.instagram.com/libredte
- Twitter: https://twitter.com/libredte