=?utf-8?q?Integraci=C3=B3n_con_la_DIAN_Colombia_para_la_emisi=C3=B3n_de_Facturas_Electr=C3=B3nicas_en_modo_de_operaci=C3=B3n_software_propio?=
Project description
Colombia - Factura Electrónica Software Propio
Integración directa con los servicios web de la DIAN para la emisión de facturación electrónica colombiana en modo software propio.
Funcionalidades:
Generación de XML UBL 2.1 con extensiones DIAN
Firma digital XAdES-EPES y envelope SOAP con WS-Security
Envío SendTestSetAsync (habilitación) y SendBillSync (producción)
Consulta de estado: GetStatusZip y GetStatus (por CUFE)
Consulta de rangos de numeración y clave técnica (GetNumberingRange)
Generación de AttachedDocument con CDATA
Eventos RADIAN con flujo secuencial (030, 031, 032, 033)
Importación de facturas de proveedor desde XML o ZIP
Representación gráfica PDF según requisitos DIAN
Generación de ZIP (PDF + XML) para envío por email
Modos de operación: Demostración, Habilitación y Producción.
Documentos soportados:
Factura electrónica de venta (01)
Factura electrónica de exportación (02)
Nota crédito electrónica (91) con o sin referencia
Nota débito electrónica (92)
Documento soporte (05)
Nota de ajuste documento soporte (95)
Copyright (C) 2025 IKU Solutions - Yan Chirino yan.chirino@iku.solutions
Table of contents
Usage
Requisitos
Módulo l10n_co_electronic_invoice instalado.
Módulo certificate nativo de Odoo (habilitación y producción).
Python: xmlsig, lxml, cryptography, xmltodict, requests, qrcode.
Configuración del diario
Contabilidad > Configuración > Diarios → pestaña DIAN:
Modo de Operación: Demostración, Habilitación o Producción.
Software ID y PIN: asignados por la DIAN al registrar el software.
TestSetId (solo habilitación): UUID del set de pruebas.
Habilitación/Demostración — configurar manualmente:
Tipo de resolución, resolución, prefijo, rango, clave técnica.
Producción — botón “Obtener resolución DIAN”:
Configurar resolución y prefijo antes de consultar.
Llena automáticamente rango, fechas y clave técnica.
Si hay múltiples prefijos con la misma resolución, el match usa resolución + prefijo.
Configuración de empresa
NIT con dígito de verificación (ej: 000000000-0).
Régimen fiscal (IVA / No responsable).
Responsabilidades fiscales.
Código CIIU.
Configuración de clientes
Nacionales: país Colombia, NIT/CC, tipo de identificación, régimen fiscal, responsabilidades fiscales.
Extranjeros: país, nombre, tipo de identificación (ID Extranjera o NIT otro país), número de identificación.
Consumidor final: se asigna tipo 13 (CC) automáticamente si no tiene tipo configurado.
Configuración de impuestos
Cada impuesto debe tener el campo Tipo de impuesto DIAN (l10n_co_tax_type_id) configurado con el código correcto: 01 (IVA), 03 (ICA), 04 (INC), 05 (ReteIVA), etc.
Configuración de productos
Código UNSPSC o referencia interna.
Impuesto y unidad de medida con código UNECE.
Para exportación (tipo 02): marca y modelo obligatorios.
Certificado digital
Cargar en Ajustes > Certificados (.pem + clave privada). En demostración se usa certificado demo incluido.
Flujo de facturación
Crear y confirmar la factura.
El CRON EDI genera el XML, firma y envía a DIAN.
Resultado en el chatter (aceptado, rechazado, error).
Si aceptado: se genera AttachedDocument.
Habilitación (asíncrono)
SendTestSetAsync retorna ZipKey → estado “Enviado”.
Botón Consultar Estado DIAN ejecuta GetStatusZip.
Si aceptado: genera AttachedDocument.
Producción (sincrónico)
SendBillSync retorna resultado inmediato.
Botón Consultar Estado DIAN ejecuta GetStatus por CUFE.
Factura de exportación (tipo 02)
Moneda: USD en Odoo, pero el XML va en COP con TRM.
Cliente con país distinto de Colombia.
Productos con marca y modelo configurados.
CustomizationID = "32" automático.
PaymentExchangeRate con TRM (COP/USD).
Notas crédito y débito
Con referencia: desde botón en la factura. Requiere CUFE y estado aceptado en la factura original.
Sin referencia: crear manualmente. Requiere periodo de facturación (fecha inicio y fin).
Concepto de corrección obligatorio (tabla DIAN 13.2.4/13.2.5).
Importación de facturas de proveedor
Arrastrar XML o ZIP al card del diario de compras. Detecta automáticamente XMLs DIAN y extrae partner, líneas, CUFE y tipo de documento.
Eventos RADIAN
Desde factura de proveedor confirmada con CUFE:
030 - Acuse de recibo.
032 - Recibo del bien/servicio.
033 - Aceptación expresa, o 031 - Reclamo.
Flujo secuencial validado. Estado RADIAN en “Otra información”.
PDF (Representación gráfica)
Incluye: denominación DIAN, info fiscal emisor/receptor, QR DIAN, CUFE/CUDE, mensaje de resolución, referencia NC/ND, forma de pago.
Copyright (C) 2025 IKU Solutions - Yan Chirino yan.chirino@iku.solutions Licencia AGPL-3.0 o posterior (http://www.gnu.org/licenses/agpl).
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
Yan Chirino - Initial work - GitHub
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/l10n-colombia project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_addon_l10n_co_electronic_invoice_self-18.0.2.0.0.2-py3-none-any.whl.
File metadata
- Download URL: odoo_addon_l10n_co_electronic_invoice_self-18.0.2.0.0.2-py3-none-any.whl
- Upload date:
- Size: 107.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
104d061e5ed4a04254c1efffccd2d49e19f40f3b4429ee1314eec5149f060205
|
|
| MD5 |
8afbcccc6bde57e697e8358110007437
|
|
| BLAKE2b-256 |
de54c81f626b5d6765734ab626510321e76dc7e0fd768ab94f0c3a65dded4b23
|