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-18.0.2.0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_l10n_co_electronic_invoice_self-18.0.2.0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 104d061e5ed4a04254c1efffccd2d49e19f40f3b4429ee1314eec5149f060205
MD5 8afbcccc6bde57e697e8358110007437
BLAKE2b-256 de54c81f626b5d6765734ab626510321e76dc7e0fd768ab94f0c3a65dded4b23

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