Skip to main content

=?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

Odoo Community Association

Colombia - Factura Electrónica Software Propio

Beta License: AGPL-3 OCA/l10n-colombia Translate me on Weblate Try me on Runboat

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

  1. Crear y confirmar la factura.

  2. El CRON EDI genera el XML, firma y envía a DIAN.

  3. Resultado en el chatter (aceptado, rechazado, error).

  4. 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:

  1. 030 - Acuse de recibo.

  2. 032 - Recibo del bien/servicio.

  3. 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

Authors

  • IKU Solutions - Yan Chirino

Contributors

  • Yan Chirino - Initial work - GitHub

Maintainers

This module is maintained by the OCA.

Odoo Community Association

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo_addon_l10n_co_electronic_invoice_self-19.0.2.0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_l10n_co_electronic_invoice_self-19.0.2.0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 56281e41bcb80f38c5277c397b7fa8d8dbc36f409b0a36605e3dca46488ffb00
MD5 218f1a3a175d0e6d6d5bcaee29b9d153
BLAKE2b-256 59b7b5112f1a232d8c4b7159c7ef9b68e58867d4730b664a301139f6a3da1728

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page