Dieser Artikel ist derzeit nur auf Englisch verfügbar. Die Übersetzung folgt bald.
Odoo Colombia Localization 2026: DIAN E-Invoice, IVA & Retenciones Setup
Colombia's electronic invoicing program, administered by the Direccion de Impuestos y Aduanas Nacionales (DIAN), is one of Latin America's most comprehensive. Since 2019, every company must issue Factura Electronica de Venta (FEV) through the DIAN portal, and the program expanded in 2022 to require Documento Soporte (for vendor purchases without invoice), Nomina Electronica (electronic payroll), and Factura Electronica de Venta — Sistema de Facturacion Electronica (RADIAN). Odoo's l10n_co_edi module provides robust DIAN integration with the UBL 2.1 format and CUFE/CUDS hash chaining.
Key Takeaways
- DIAN administers IVA (19% standard), Renta (corporate 35%), retenciones, and ICA (municipal 0.2-1.4%)
- Electronic invoicing mandatory for all VAT-registered taxpayers; phased rollout completed 2020-2021
- Documento Soporte required since 2020 for vendor purchases without DIAN-validated invoices
- Nomina Electronica mandatory since 2021-2022 for all employers
- Odoo
l10n_co_ediprovides DIAN UBL 2.1 generation and CUFE/CUDS hashing- Multi-municipal ICA (Industria y Comercio) requires per-municipality tax codes
- Statutory reports include monthly IVA, retenciones, ICA, and Reporte Magnetico annual
Colombia Tax Framework Overview
DIAN enforces:
- IVA: 19% standard rate; 5% reduced (basic foods, healthcare, agriculture); 0% exports; exempt for specific items
- Renta (Corporate Income Tax): 35% standard for 2026 (after periodic rate adjustments); 30% for some industries
- Retencion en la Fuente: Income tax withholding on virtually every payment, with rates varying by service type
- Retencion IVA: VAT withholding by registered agents (typically 15% of IVA on services)
- Reteica (Retencion ICA): Municipal withholding
- GMF (Gravamen a los Movimientos Financieros): 4 per mille (0.4%) on bank transactions
- ICA (Industria y Comercio): Municipal tax on commercial activity, 0.2-1.4% on revenue per municipality
Multi-municipality operations face per-municipality ICA configuration — Bogota's regime differs from Medellin, which differs from Cali, etc.
Required Odoo Localization Modules
| Module | Purpose | Edition |
|---|---|---|
l10n_co | Colombia chart of accounts (PUC compliant) | Community |
l10n_co_edi | DIAN electronic invoicing | Enterprise / Community |
l10n_co_edi_pos | POS factura electronica | Enterprise |
l10n_co_reports | DIAN reports, magnetic media | Enterprise |
l10n_co_hr_payroll | Nomina Electronica | Enterprise / Custom |
account_reports | Tax report engine | Enterprise |
Odoo's Colombian localization is well-developed, with active community contributions from local partners.
Chart of Accounts Setup
Colombia's chart follows the Plan Unico de Cuentas (PUC) for commercial entities (Decree 2650 of 1993, with subsequent updates). Key sections:
- 1: Activo (assets) — 11 cash, 13 receivables, 14 inventory, 15 fixed assets
- 2: Pasivo (liabilities) — 24 IVA payable, retenciones, 25 obligaciones laborales
- 3: Patrimonio
- 4: Ingresos
- 5: Costos
- 5x, 51-59: Gastos operativos
- 6: Costo de ventas
- 7: Gastos financieros y otros
Configure the company record with:
- NIT (Numero de Identificacion Tributaria, 9 digits + check digit)
- DIAN-registered address with municipality code
- Regimen fiscal (Comun for IVA-registered, Simplificado for small)
- ICA registration per municipality of operation
- DIAN Software ID and certificate for electronic invoicing
IVA Configuration
Configure IVA tax records:
| Tax Name | Rate | Type | Notes |
|---|---|---|---|
| IVA 19% Ventas | 19% | Sales | Standard |
| IVA 5% Ventas | 5% | Sales | Healthcare, basic foods, agricultural |
| IVA 0% Ventas | 0% | Sales | Exports, exempt with credit |
| IVA Exento | 0% | Sales | Exempt without credit (housing, education) |
| IVA 19% Compras | 19% | Purchase | Recoverable |
| Reteiva 15% | -15% IVA | Purchase | Withheld by registered agents |
Reteiva (retencion en IVA) is withheld by designated companies (typically large taxpayers) when paying suppliers — 15% of the IVA amount is withheld and remitted to DIAN, the supplier credits against their own IVA liability.
DIAN Electronic Invoicing
Colombia's electronic invoicing flow:
- Invoice approved in Odoo
l10n_co_edigenerates UBL 2.1 XML per DIAN schema (DIAN UBL Extension)- Computes CUFE (Codigo Unico de Factura Electronica) — SHA-384 hash of key fields
- Signs the XML with the company's PKI certificate
- Submits to DIAN webservice for validation
- DIAN responds with acceptance status (Validacion DIAN)
- Issuer must deliver the validated XML and PDF (with QR code) to the customer
CUFE elements:
- Numero de factura
- Fecha + Hora de emision
- NIT del emisor
- NIT del receptor (or "Adquirente sin obligacion de declarar")
- Total IVA
- Subtotal por tarifa de IVA
- Total con IVA
- Tipo de ambiente (production/test)
- Software ID + PIN
def compute_cufe(self, invoice):
"""Compute CUFE per DIAN specification using SHA-384."""
parts = [
invoice.name, # numero
invoice.invoice_date.strftime('%Y-%m-%d'),
invoice.l10n_co_emission_time,
'%.2f' % invoice.amount_untaxed,
'01', # IVA tax ID
'%.2f' % invoice.l10n_co_iva_19_amount,
'04', # ImpoConsumo tax ID
'%.2f' % invoice.l10n_co_impoconsumo_amount,
'03', # ICA tax ID
'%.2f' % invoice.l10n_co_ica_amount,
'%.2f' % invoice.amount_total,
invoice.company_id.vat,
invoice.partner_id.vat,
invoice.company_id.l10n_co_dian_software_pin,
invoice.company_id.l10n_co_dian_environment, # 1=prod, 2=test
]
cufe_string = ''.join(parts)
return hashlib.sha384(cufe_string.encode()).hexdigest()
Documento Soporte
When purchasing from suppliers not registered with DIAN's electronic invoicing system (typically Regimen Simplificado or non-resident foreign suppliers), the buyer must issue a "Documento Soporte" (Support Document) in lieu of an invoice. This electronic document:
- Is generated by the buyer's ERP
- Includes the supplier's information and transaction details
- Is submitted to DIAN with its own CUDS hash
- Acts as evidence for the buyer's tax credit claim
Odoo's l10n_co_edi handles Documento Soporte generation when a vendor bill is from a non-electronic-invoicing supplier.
Nomina Electronica
Mandatory since 2021, electronic payroll requires every payslip to be:
- Generated in DIAN-prescribed XML format
- Signed with PKI
- Submitted to DIAN with a Codigo Unico de Nomina Electronica (CUNE)
- Retained as the official payroll record
Key fields include detailed devengados (earnings: salary, bonuses, transport allowance, work overtime) and deducciones (deductions: pension, health, retencion, libranzas). Per-employee monthly submission (Nomina Inicial), adjustments (Nomina Ajuste), or replacements (Nomina Reemplazo) for corrections.
Retencion en la Fuente
Configure retencion taxes:
| Concept | Rate | Notes |
|---|---|---|
| Honorarios (services) | 10% / 11% | Professional services |
| Servicios | 4% / 6% | General services |
| Compras | 2.5% / 3.5% | Goods purchase |
| Arrendamientos | 3.5% | Lease |
| Rendimientos financieros | 7% | Interest |
Rates depend on whether the supplier is "auto-retenedor" (self-withholding) or not, and whether the buyer is a designated "agente retenedor". Threshold amounts (UVT-based) determine when retencion applies.
ICA Configuration
ICA is municipal — each city has its own rate by activity (CIIU code). Configure per municipality:
| Municipality | Standard Rate Range | Notes |
|---|---|---|
| Bogota | 0.41-1.4% | RIT registration required |
| Medellin | 0.2-1% | Per CIIU |
| Cali | 0.4-1.4% | Per CIIU |
| Barranquilla | 0.2-1% | Per CIIU |
Reteica (ICA withholding) is municipal and applies to suppliers operating in the buyer's municipality. Configure per-municipality reteica rates.
Payroll Considerations
Colombian payroll components:
| Item | Employee | Employer | Cap |
|---|---|---|---|
| Pension | 4% | 12% | 25 SMMLV |
| Salud (Health) | 4% | 8.5% | 25 SMMLV |
| ARL (Risk) | N/A | 0.522-6.96% | By risk class |
| Caja de Compensacion | N/A | 4% | Family welfare |
| ICBF | N/A | 3% | Children's institute |
| SENA | N/A | 2% | Education service |
| FSP (Solidarity Fund) | 1-2% | N/A | Above 4 SMMLV |
The "parafiscales" (Caja, ICBF, SENA) total 9% on top of standard contributions for employees earning above 10 SMMLV (under exemption rules of Law 1607).
Reporting Requirements
A Colombia Odoo deployment must produce:
- Declaracion IVA: Bimonthly or quarterly per regime
- Retencion en la Fuente: Monthly
- Reteica/Reteiva: Monthly per municipality and federally
- Declaracion de Renta: Annual
- Reporte Magnetico: Annual information regime (Form 1001-1006)
- PILA (Planilla Integrada de Liquidacion de Aportes): Monthly social security
- Nomina Electronica: Monthly per employee
Implementation Checklist
- Confirm NIT, regimen fiscal, DIAN registration for electronic invoicing
- Procure PKI digital certificate from approved provider
- Install
l10n_coandl10n_co_edi; configure NIT, software ID, PIN, certificate - Verify PUC chart of accounts; map company-specific accounts
- Configure IVA 19%, 5%, 0%, exempt; reteiva for designated agent scenarios
- Configure retenciones en la fuente per concept
- Configure ICA per municipality of operation
- Test electronic invoicing in DIAN habilitacion environment
- Configure Nomina Electronica with current year salary structures
- Build Reporte Magnetico data extracts for annual filing
Common Pitfalls
Wrong CUFE computation: Manual modifications to invoice fields after CUFE generation invalidate the hash. Treat CUFE as immutable post-issuance.
Missing reteiva: Designated agentes retenedores must withhold 15% of IVA. Failing causes DIAN audit adjustments.
Multi-municipality ICA confusion: Each municipality has different rates by activity. Operating in 5 cities means 5 ICA configurations and 5 monthly returns.
Documento Soporte skipped for foreign suppliers: Imports of services from foreign suppliers require Documento Soporte. Skipping breaks the IVA credit chain.
Nomina Electronica ajuste forgotten: When correcting a payslip after submission, an Ajuste or Reemplazo document is required. Replacing the original Nomina Inicial without the correction document leaves discrepancies.
ECOSIRE provides Odoo localization for Colombia, including DIAN electronic invoicing, multi-municipal ICA, and Nomina Electronica. Contact us for implementation or explore accounting support.
Frequently Asked Questions
Does Odoo Community support Colombian electronic invoicing?
Yes, l10n_co_edi is available in both Community and Enterprise. Enterprise adds reporting (Reporte Magnetico, IVA returns) and tighter integration. Most production deployments use Enterprise for the reporting capabilities, but Community + custom reports works for cost-conscious deployments.
How does Reteiva work in Odoo?
Reteiva is configured as a purchase tax that subtracts 15% of the line's IVA when the buyer is a designated agente retenedor and the supplier is in regimen comun. The 15% retained is credited to a "Reteiva por Pagar" account; the supplier credits against their own IVA liability via the certificate the buyer issues.
What's the difference between Documento Soporte and Documento Soporte de Pago?
Documento Soporte (Support Document) supports purchases from non-electronic-invoicing suppliers — used as evidence for the buyer's tax credit. Documento Soporte de Pago (DSP) supports payments without an underlying invoice, e.g., direct foreign payments. Both have their own CUDS hash and DIAN submission.
Can Odoo handle the Nomina Electronica for variable schedules?
Standard Nomina Electronica supports monthly, biweekly, and weekly schedules. Daily payroll or special-shift workers (taxis, construction with multiple short engagements) need custom adaptation. ECOSIRE has built schedule-flexible Nomina extensions for clients in industries with non-standard work patterns.
How do we register with DIAN for the electronic invoicing system?
Submit a Solicitud de Habilitacion via the DIAN portal, providing company details, software identification, and certificate. DIAN approves test environment access; after passing the homologacion (typically 6-10 sample documents covering different scenarios), you graduate to production. Odoo's l10n_co_edi includes the homologacion test invoices in its setup wizard.
Geschrieben von
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transformieren Sie Ihr Unternehmen mit Odoo ERP
Kompetente Odoo-Implementierung, Anpassung und Support zur Optimierung Ihrer Abläufe.
Verwandte Artikel
So fügen Sie einer Odoo-Formularansicht eine benutzerdefinierte Schaltfläche hinzu (2026)
Fügen Sie benutzerdefinierte Aktionsschaltflächen zu Odoo 19-Formularansichten hinzu: Python-Aktionsmethode, Ansichtsvererbung, bedingte Sichtbarkeit, Bestätigungsdialoge. Produktionsgeprüft.
So fügen Sie ein benutzerdefiniertes Feld in Odoo ohne Studio hinzu (2026)
Fügen Sie benutzerdefinierte Felder über ein benutzerdefiniertes Modul in Odoo 19 hinzu: Modellvererbung, Ansichtserweiterung, berechnete Felder, Store/Non-Store-Entscheidungen. Code-First, versioniert.
So fügen Sie einen benutzerdefinierten Bericht in Odoo mithilfe eines externen Layouts hinzu
Erstellen Sie einen gebrandeten PDF-Bericht in Odoo 19 mit web.external_layout: QWeb-Vorlage, Papierformat, Aktionsbindung. Mit gedrucktem Logo + Fußzeilenüberschreibungen.