-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Bienvenido al wiki de dolibarr-sii. Aquí podrás encontrar algunos recursos para poder desarrollar un módulo para facturación electrónica en Dolibarr. Si deseas ayudar, puedes escribirnos a través de nuestro formulario de contacto.
Se deben ejecutar los siguientes comandos:
$ sudo apt update $ sudo apt upgrade $ sudo apt install lamp-server^ $ sudo apt install php7.0-curl php7.0-gd php7.0-xml unzip
Se descomprime la carpeta htdocs
, y se sube al servidor.
Se accede a la base de datos:
$ sudo mysql -u root -p
Una vez dentro, debe escribirse lo siguiente (la primera línea es experimental):
mysql> CREATE DATABASE dolibarr DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; mysql> CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY 'dolibarr'; mysql> GRANT ALL PRIVILEGES ON dolibarr.* TO 'dolibarr'@'localhost'; mysql> FLUSH PRIVILEGES;
- 33 - Factura Electrónica
- 34 - Factura No Afecta o Exenta Electrónica
- 39 - Boleta Electrónica
- 41 - Boleta Exenta Electrónica
- 43 - Liquidación-Factura Electrónica
- 46 - Factura de Compra Electrónica
- 52 - Guía de Despacho Electrónica
- 56 - Nota de Débito Electrónica
- 61 - Nota de Crédito Electrónica
- 110 - Factura de Exportación Electrónica
- 111 - Nota de Débito de Exportación Electrónica
- 112 - Nota de Crédito de Exportación Electrónica
Más información: http://www.sii.cl/factura_electronica/instructivo_emision.pdf#page=8
<AUTORIZACION> <CAF version="1.0"> <DA> <RE></re> <RS></rs> <TD></td> <RNG> <D></d> <H></h> </rng> <FA></fa> <RSAPK> <M></m> <E></e> </rsapk> <IDK><IDK> </da> <FRMA><FRMA> </caf> <RSASK></rsask> <RSAPUBK></rsapubk> </autorizacion>
- TED: Timbre Electrónico del DTE
- DD: Datos
- RE: RUT del Emisor
- TD: Tipo de DTE
- F: Folio de DTE
- FE: Fecha de Emisión (en formato AAAA-MM-DD)
- RR: RUT del Receptor
- RSR: Razón Social del Receptor (máximo 40 caracteres)
- MNT: Monto Total del DTE (sin decimales)
- IT1: Ítem 1 (máximo 40 caracteres)
- CAF: Código de Autorización de Folios
- DA:
- RE: RUT del Emisor
- RS: Razón Social
- TD: Tipo de DTE
- RNG: Rango
- D: Desde
- H: Hasta
- FA:
- RSAPK: RSA Public Key (llave pública del contribuyente)
- M: Módulo
- E: Exponente
- IDK: ID Key (identificación de la llave pública del SII)
- FRMA: Firma (del SII sobre el CAF)
- DA:
- TSTED: Timestamp del Timbre Electrónico del DTE (en formato AAAA-MM-DDTHH:MM:SS)
- FRMT: Firma del Timbre Electrónico (en formato SHA1+RSA)
- DD: Datos
- Se deben convertir los caracteres especiales como
&
,<
,>
,"
y'
al formato HTML. - Los otros caracteres especiales, como la eñe y acentos, se deben codificar en ISO-8859-1.
- Solo en el caso de las boletas, si no se conocen los datos del cliente, se define el RUT como
66666666-6
.
Estos se extrajeron de documentos reales, usando la aplicación de Android PDF417 Barcode Scan Demo App
<TED version="1.0"><DD><RE>78627210-6</re><TD>39</td><F>264307787</f><FE>2017-04-16</fe><RR>66666666-6</rr><RSR>RECEPTOR COMODIN</rsr><MNT>14141</mnt><IT1>BEB.SPRITE 3LT</it1><CAF version="1.0"><DA><RE>78627210-6</re><RS>HIPERMERCADOS TOTTUS SA</rs><TD>39</td><RNG><D>264301001</d><H>269301000</h></rng><FA>2017-03-07</fa><RSAPK><M>2rKsoElolL/WTavNwU4BlcPTUZ1pfchXs8AkOq+f9RFMLpJrabg5cy8YkIhENn6qIV8MmIs8ZtcWeUHLVWCeYw==</m><E>Aw==</e></rsapk><IDK>300</idk></da><FRMA algoritmo="SHA1withRSA">WCk/hTdAHi41c5i44XhB4VU9nwfPooOWCvc/PSp47PirsxHNShpRBgS2LMboAJqGNejoFDlWNSpVYCzYmwtvdQ==</frma></caf><TSTED>2017-04-16T18:05:16</tsted></dd><FRMT algoritmo="SHA1withRSA">JZ5WSvG0Bcp9g+mPXYowNzRWNyWRVWixonnAJ7pVxeOFCZpRFq4ASO9CJhXdVZd2547vpJry8CVtHjpmPX3pIA==</frmt></ted>
<TED version="1.0"><DD><RE>77875890-3</re><TD>39</td><F>8525823</f><FE>2017-05-02</fe><RR>66666666-6</rr><RSR>Razon Comodin</rsr><MNT>9940</mnt><IT1>Promo Vienesa $990</it1><CAF version="1.0"><DA><RE>77875890-3</re><RS>PRODUCTOS ALIMENTICIOS DOMINO FLORIDA LI</rs><TD>39</td><RNG><D>1</d><H>10000000</h></rng><FA>2015-11-25</fa><RSAPK><M>rsc8TSDagVbdyINAtb0XmVZ8LwGRoNZjw086BFzOQ48Ulg6VtJnfZnw2UHoy5p4kVAynnZWFGRkjr2btsdAy8w==</m><E>Aw==</e></rsapk><IDK>300</idk></da><FRMA algoritmo="SHA1withRSA">AHHohzMNnKF7mXtX09FeHGzZ6DRMx7xbjHLdwsYcZLBspjxp/m2Z6sut7XpY0APSnbNH1SW4vRLmgsuS3B4/dg==</frma></caf><TSTED>2017-05-02T17:13:22</tsted></dd><FRMT algoritmo="SHA1withRSA">Trqs102FrrbImLVG2++YwuQW94TXjo9C4OQQHljj78/aWw8JINTLq47hwGvK+ZCpuidCaeLrcjNvBgMJWKG8yg==</frmt></ted>
Los certificados X509 se deben escribir con un máximo de 76 caracteres, sino, se debe insertar un salto de línea.
- http://www.sii.cl/factura_electronica/instructivo_emision.pdf
- http://php.net/manual/en/simplexmlelement.addchild.php
- http://php.net/manual/es/function.openssl-x509-parse.php
- http://lenguajedemaquinas.blogspot.cl/2013/05/como-firmar-el-dte.html
- http://lenguajedemaquinas.blogspot.cl/2013/04/libro-de-compra-venta-en-formato-plano.html
- http://lenguajedemaquinas.blogspot.cl/2013/04/libros-compra-venta-iecv-procesamiento.html
- http://lenguajedemaquinas.blogspot.cl/2013/04/codificacion-correcta-de-dte-y-iecv-en.html
- http://stackoverflow.com/questions/3212982/need-to-write-xml-using-php-how
- http://stackoverflow.com/questions/4456244/how-do-you-merge-two-xml-documents-in-php-using-simplexml
- http://code.runnable.com/UoHv1JE3L7YdAADj/how-to-create-a-simple-xml-for-php-and-xmlwriter
Podría venir firmado con SHA1+DSA o SHA1+RSA.
/* Generar el mensaje a partir del archivo XML */ $xml = simplexml_load_file( 'F60T33-ejemplo.xml' ); $ddDom = new DOMDocument( '1.0', 'ISO-8859-1' ); $ddDom->preserveWhiteSpace = false; $ddDom->loadXML( $xml->SetDTE->DTE->Documento->TED->DD->asXML() ); $dd = $ddDom->saveXML( $ddDom->documentElement ); /* Realizar la firma */ $pk = openssl_pkey_get_private( 'file://./pk.pem' ); openssl_sign( $dd, $signature, $pk ); openssl_free_key( $pk ); /* Verificar */ if ( base64_encode( $signature ) == $xml->SetDTE->DTE->Documento->TED->FRMT ) { echo 'OK'; } else { echo 'Algo falló'; }
Esto requiere la biblioteca TCPDF, la cual tiene un error. Más información aquí.
/* Pruebas con PDF417 */ $xml = simplexml_load_file( 'F60T33-ejemplo.xml' ); $tedDom = new DOMDocument( '1.0', 'ISO-8859-1' ); $tedDom->preserveWhiteSpace = false; $tedDom->loadXML( $xml->SetDTE->DTE->Documento->TED->asXML() ); $ted = $tedDom->saveXML( $tedDom->documentElement ); require_once( 'TCPDF/tcpdf_barcodes_2d.php' ); $tedObject = new TCPDF2DBarcode( $ted, 'PDF417' ); echo '<br />'; echo '<img src="data:image/gif;base64,'; $tedImage = $tedObject->getBarcodePngData(); echo base64_encode( $tedImage ); echo '" />';
-----BEGIN RSA PRIVATE KEY----- MIIBOwIBAAJBANGuDuim8fEI9yuIlkj+MOyp3mWHifoP6a4oWLSBKJSrd3MpEsZd czvL0l7t/e0IU5rF+0gRLnU1Mfvtsw1wYWcCAQMCQQCLyV9FxKFLW09yWw7bVCCd xpRDr7FRX/EexZB4VhsNxm/vtJfDZyYle0Lfy42LlcsXxPm1w6Q6NnjuW+AeBy67 AiEA7iMi5q5xjswqq+49RP55o//jqdZL/pC9rdnUKxsNRMMCIQDhaHdIctErN2hC IP9knS3+9zra4R+5jSXOvI+3xVhWjQIhAJ7CF0R0S7SIHHKe04NUURf/7RvkMqm1 08k74sdnXi3XAiEAlkWk2vc2HM+a1sCqQxNz/098ketqe7NuidMKeoOQObMCIQCk FAMS9IcPcMjk7zI2r/4EEW63PSXyN7MFAX7TYe25mw== -----END RSA PRIVATE KEY-----
Se pueden encontrar varios ejemplos en: FORMATO XML DE DOCUMENTOS ELECTRÓNICOS.
Un nuevo módulo debe tener al menos un archivo de descripción, el cual debe ir en la ruta htdocs/nombre_del_módulo/core/modules/modNombreDelMódulo.php
. Este archivo debe basarse en esta plantilla.
htdocs/ +-- nombre_del_módulo/ +-- build/ +-- core/ | +-- modules/ | | +-- modNombreDelMódulo.php | +-- triggers/ +-- admin/ +-- class/ +-- css/ +-- docs/ +-- img/ +-- langs/ | +-- en_US/ | +-- es_CL/ | +-- es_ES/ +-- lib/ +-- scripts/ +-- sql/ +-- themes/ +-- nombre_del_tema/
- Dolibarr Factronica - Factura Electrónica SII Chile
- Demo Módulo de Facturación electrónica SII Chile para Dolibarr
- Factura Electronica con Dolibarr
- https://youtu.be/ZLRxZ58b-w4
-
http://www.sii.cl/factura_electronica/
- http://www.sii.cl/factura_electronica/formato_xml.htm
- http://www.sii.cl/factura_electronica/formato_dte.pdf
- http://www.sii.cl/factura_electronica/formato_iecv.pdf
- http://www.sii.cl/factura_electronica/instructivo_emision.pdf
- http://www.sii.cl/factura_electronica/manual_muestras_impresas.pdf
- http://www.sii.cl/factura_electronica/manual_certificacion.pdf (podría ser este el documento más importante)
- MODELO DE SOLUCIÓN PARA DOCUMENTOS TRIBUTARIOS ELECTRÓNICOS EN DISPOSITIVOS MÓVILES
- Oportunidades de Negocios en torno a la Factura Electrónica
- FACTURA ELECTRÓNICA SII CHILE : FIRMAR LIBROS CONTABLES
- Etapas para la generación y envío de DTE al SII
- PHP:
- Defontana:
- Random:
- Desarrollo de un módulo
- Módulo para crear PDF y códigos de barra (como el PDF417): TCPDF
- Factronica en GitHub
-
Facturación electrónica chilena para Odoo
- dansanti / l10n_cl_dte / models / invoice.py → Sirve para darse una idea al crear archivos XML, PDF, etc.
- Libros de compra - venta, boletas y consumo de folios de boletas
- Boleta y factura electrónica para punto de ventas Odoo
- Repositorio de prototipo proyecto facturación electrónica
- Emisión de documentos tributarios electrónicos, localización chilena
- odoo-chile / l10n_cl_dte
- Este repositorio es para unir diferentes experimentos con DTE (ver otros)
- Web realizada para consultar DTE
- API GENERATOR FOR LIBRE DTE
- Port de la gema sii_chile → Verifica la situación tributaria.
- Métodos para rescatar en línea los indicadores económicos de SII de Chile
- Convertidor de Respaldos XML SII (Chile) a CSV
- Sistema WEB basado en LAMP con IReport + XML con miras a movimientos electrónicos del SII
-
Biblioteca PHP para facturación electrónica en Chile
- LibreDTE / libredte-lib / lib / FirmaElectronica.php → Sirve para darse una idea de cómo manejar las firmas digitales.
- https://github.com/eguenul/appdte
-
Factura Electrónica Desarrolladores .Net
- http://lenguajedemaquinas.blogspot.cl/2013/05/ejemplo-timbre-electronico-del-dte.html
- http://lenguajedemaquinas.blogspot.cl/2013/04/como-recuperae-el-token-del-sii.html
- http://lenguajedemaquinas.blogspot.cl/2013/02/autentificacion-automatica-contra-el-sii_28.html
- http://lenguajedemaquinas.blogspot.cl/2013/02/como-firmar-la-semilla.html
- http://lenguajedemaquinas.blogspot.cl/2013/02/solicitar-semilla-al-sii.html
- http://lenguajedemaquinas.blogspot.cl/2013/02/conectarse-automaticamente-al-sii.html
- http://lenguajedemaquinas.blogspot.cl/2007/09/dar-formato-fechas-con-xslt.html
- http://lenguajedemaquinas.blogspot.cl/2017/05/web-service-de-consulta-y-registro-de.html
- http://lenguajedemaquinas.blogspot.cl/2015/08/cesion-de-documentos-electronicos-dte.html
- http://lenguajedemaquinas.blogspot.cl/2014/02/agregar-documento-dte-base-de-datos-sql.html
- http://lenguajedemaquinas.blogspot.cl/2014/02/verificacion-de-firma-dte.html
- http://lenguajedemaquinas.blogspot.cl/2013/07/flujo-basico-modulo-recepcion-dte.html
- SuperFactura