Code Monkey home page Code Monkey logo

libredte-lib's Introduction

LibreDTE: Biblioteca PHP

Build Status Total Downloads Monthly Downloads License

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 interacción con el Servicio de Impuestos Internos (SII).

La biblioteca se construye originalmente para ser usada en el módulo Dte del framework SowerPHP. 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 ya construída puedes revisar el sitio web oficial de LibreDTE donde podrás registrarte gratuitamente y usar la plataforma web de facturación. Si deseas acceder al código fuente de la aplicación web puedes hacerlo aquí.

Realiza una donación al proyecto

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).
  • Descarga contribuyentes electrónicos desde SII con email de intercambio.
  • Cesión electrónica (factoring).
  • Registro de compra y venta (RCV).

Funcionalidades independientes

  • Conversión de arreglos PHP a XML.
  • Firma electrónica de cualquier 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 dev-master

O editando el archivo composer.json y agregando:

{
	"require": {
		 "sasco/libredte": "dev-master"
	}
}

Por el momento, la única versión disponible es la de desarrollo.

Documentación

La documentación está disponible en formato HTML generada con Doxygen en: http://doc.libredte.cl.

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:

  1. Hacer fork del proyecto en GitHub
  2. Crear una branch para los cambios: git checkout -b nombre-branch
  3. Modificar código: git commit -am 'Se agrega...'
  4. Publicar cambios: git push origin nombre-branch
  5. 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

libredte-lib's People

Contributors

estebandelaf avatar dmancilla avatar adoniasv avatar gaulatti avatar gbesoain avatar isos avatar pabloxp avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.