Colombia

Odoo’s Colombian localization package provides accounting, fiscal, and legal features for databases in Colombia - such as chart of accounts, taxes, and electronic invoicing. The localization has the following prerequisites when using the DIAN Own Software solution with Odoo:

See also

Configuration

Modules installation

Install the following modules to get all the features of the Colombian localization:

Name

Technical name

Description

Colombia - Accounting

l10n_co

Default fiscal localization package. This module adds the base accounting features for the Colombian localization: chart of accounts, taxes, withholdings, and identification document type.

Electronic invoicing for Colombia with DIAN

l10n_co_dian

This module includes the features required for integration with the DIAN as its own software, and adds the ability to generate electronic invoices and support documents based on DIAN regulations.

Colombian - Accounting Reports

l10n_co_reports

This module includes accounting reports for sending certifications to suppliers for withholdings applied.

Electronic invoicing for Colombia with Carvajal

l10n_co_edi

This module includes the features required for integration with Carvajal. Adds the ability to generate the electronic invoices and support documents, based on DIAN regulations.

Colombian - Point of Sale

l10n_co_pos

This module includes Point of Sale receipts for Colombian localization.

Company information

To configure your company information:

  1. Access your company’s contact form:

    • Go to the Contacts app and search for your company or;

    • Go to the Settings app, activate the developer mode, and in the Companies section, click Update Info. Then, in the Contact field, click on the company name.

  2. Configure the following information:

    • Company Name.

    • Address: Including City, Department, and ZIP code.

    • Identification Number: Select the Identification Type (NIT, Cédula de Ciudadanía, Registro Civil, etc.). When the Identification Type is NIT, the Identification Number must have the verification digit at the end of the ID prefixed by a hyphen (-).

  3. Go to the Sales & Purchase tab and configure the Fiscal Information:

    • Obligaciones y Responsabilidades: Select the fiscal responsibility for the company. (O-13 Gran Contribuyente, O-15 Autorretenedor, O-23 Agente de retención IVA, O-47 Regimen de tributación simple, R-99-PN No Aplica).

    • Gran Contribuyente: If the company is Gran Contribuyente, enable this option.

    • Fiscal Regimen: Select the Tribute Name for the company (IVA, INC, IVA e INC, or No Aplica)

    • Commercial Name: If the company uses a specific commercial name and it needs to be displayed in the invoice.

Tip

The data configured in the Fiscal Information section is printed in the valid fiscal PDF reports.

Electronic invoicing credentials and DIAN environment

To configure the user credentials to be used to connect with the DIAN’s web service and the DIAN environment, navigate to Accounting ‣ Configuration ‣ Settings and scroll to the Colombian Electronic Invoicing section. Then, follow these steps:

  1. Select DIAN: Free Service as the Electronic Invoicing Provider.

  2. Configure the Operation Modes for the respective types of documents (electronic invoices or support documents) to be generated from Odoo. Click Add a line, then fill in the fields:

    • Software Mode: the type of document to be generated with the operation mode.

    • Software ID: the ID generated by DIAN for the specific operation mode.

    • Software PIN: the PIN selected in the operation mode configuration in the DIAN portal.

    • Testing ID: the testing ID generated by DIAN and obtained after testing the operation mode.

  3. Configure the available Certificates to sign the electronic documents. Click Add a line, then fill in the fields:

    • Name: the name of the certificate.

    • Certificate: upload the certificate file in PEM format. In the Private Key field that appears on the screen, select an existing private key or create a new one. To do so, enter a key name and select Create and edit. Then, in the Create Private Key wizard, upload a valid Key file and click Save & Close.

      Colombian electronic invoicing credentials configured.
  4. Configure the DIAN environment; the DIAN electronic invoicing module offers three different DIAN environments to connect with:

    • Certification environment: This environment is useful to pass the DIAN certification process and obtain the Enabled status to invoice from Odoo. To activate it, enable both the Test environment and the Activate the certification process checkboxes.

    • Testing environment: This environment allows reproducing electronic invoicing flows and validations in the DIAN testing portal. To activate it, enable only the Test Environment checkbox.

    • Production environment: Activate production databases to generate valid electronic documents. To activate it, disable both the Test environment and the Activate the certification process checkboxes.

Note

In a multi-company database, each company can have its own certificate.

See also

For electronic invoicing configurations using the Carvajal solution, review the following video: Configuración de Facturación Electrónica - Localización de Colombia.

Master data

Contacts

Configure the following fields on the contact form:

  • Identification Number (VAT): Select the identification number type and enter the identification number. If the identification number type is NIT, the identification number must include the verification digit at the end, prefixed by a hyphen (-).

  • Fiscal Information fields in the Sales & Purchase tab.

Products

Access the product’s form via Accounting ‣ Customers ‣ Products and ensure that either the UNSPSC Category field (found in the Accounting tab) or the Internal Reference field (in the General Information tab) is configured.

Taxes

To create or modify taxes, go to Accounting ‣ Configuration ‣ Taxes, and select the related tax.

If sales transactions include products with taxes, configure the Value Type field in the Advanced Options tab. Retention tax types (ICA, IVA, Fuente) are also included. This configuration is used to display taxes correctly on the invoice.

Specific tax configurations per DIAN regulations.

Sales journals

Once the DIAN has assigned the official sequence and prefix for the electronic invoice resolution, the sales journals related to the invoices must be updated in Odoo. To do so, navigate to Accounting ‣ Configuration ‣ Journals and select an existing sales journal or create a new one with the Create button.

On the sales journal form, enter the Journal Name and Type, then set a unique Short Code in the Journals Entries tab. Then, configure the following data in the Advanced Settings tab:

  • Electronic invoicing: enable UBL 2.1 (Colombia).

  • Invoicing Resolution: resolution number issued by DIAN to the company via their test set.

  • Resolution Date: initial effective date of the resolution.

  • Resolution End Date: end date of the resolution’s validity.

  • Range of Numbering (minimum): first authorized invoice number.

  • Range of Numbering (maximum): last authorized invoice number.

  • Technical Key: control key received from the DIAN portal test set or from their web service in case of the production environment.

When the database is configured for the production environment, instead of configuring these fields manually, click the Reload DIAN configuration button to obtain the DIAN resolution information from the DIAN web service.

Reload DIAN configuration button in sale journals.

Important

  • The short code and resolution of the journal must match the ones received in the DIAN portal test set or from the MUISCA portal.

  • The invoice sequence and prefix must be correctly configured when the first invoice is created. Odoo automatically assigns a prefix and sequence to the following invoices.

Purchase journals

Once the DIAN has assigned the official sequence and prefix for the support document related to vendor bills, the purchase journals related to their supporting documents need to be updated in Odoo. The process is similar to the configuration of the sales journals.

See also

For more information on support document journals using the Carvajal solution, review the Documento Soporte - Localización de Colombia video.

Chart of accounts

The chart of accounts is installed by default as part of the localization module. The accounts are mapped automatically in taxes, default account payable, and default account receivable. The chart of accounts for Colombia is based on the PUC (Plan Unico de Cuentas).

Main workflows

Electronic invoices

The following is a breakdown of the main workflow for electronic invoices with the Colombian localization:

  1. The user creates an invoice.

  2. Odoo generates the legal XML file.

  3. Odoo generates the CUFE (Invoice Electronic Code) with the electronic signature.

  4. Odoo sends a notification to DIAN.

  5. DIAN validates the invoice.

  6. DIAN accepts or rejects the invoice.

  7. Odoo generates the PDF invoice with a QR code.

  8. Odoo compresses the attached document (containing the sent XML file and the DIAN validation response) and the fiscal valid PDF into a .zip file.

  9. The user sends the invoice (.zip file) via Odoo to the acquirer.

Invoice creation

Note

The functional workflow taking place before an invoice validation does not alter the main changes introduced with the electronic invoice.

Electronic invoices are generated and sent to both the DIAN and the customer. These documents can be created from the sales order or manually generated. To create a new invoice, go to Accounting ‣ Costumers ‣ Invoices, and select Create. On the invoice form, configure the following fields:

  • Customer: customer’s information.

  • Journal: journal used for electronic invoices.

  • Electronic Invoice Type: Select the type of document. By default, Factura de Venta is selected.

  • Invoice Lines: Specify the products with the correct taxes.

Important

When creating the first invoice related to an electronic invoicing journal, it is required to manually change the sequence of the invoice to the DIAN format: Prefix + Sequence.

For example, format the sequence from SETP/2024/00001 to SETP1.

When done, click Confirm.

Electronic invoice sending

After the invoice confirmation, click Print & Send. In the wizard that appears, make sure to enable the DIAN and Email checkboxes to send an XML to the DIAN web service and the validated invoice to the client fiscal email and click Print & Send. Then:

  • The XML document is created.

  • The CUFE is generated.

  • The XML is processed synchronously by the DIAN.

  • If accepted, the file is displayed in the chatter and the email to the client with the corresponding .zip file.

EDI documents available in the chatter.

The DIAN tab then displays the following:

  • Signed Date: timestamp recorded of the XML creation.

  • Status: Status result obtained in the DIAN response. If the invoice was rejected, the error messages can be seen here.

  • Testing Environment: To know if the document sent was delivered to the DIAN testing environment.

  • Certification Process: To know if the document was sent as part of the certification process with the DIAN.

  • Download: To download the sent XML file, even if the DIAN result was rejected.

  • Fetch Attached Document: To download the generated attached document file included in the delivered .zip file to the client.

EDI document record available in DIAN tab.

Credit notes

The process for credit notes is the same as for invoices. To create a credit note with reference to an invoice, go to Accounting ‣ Customers ‣ Invoices. On the invoice, click Add Credit Note, and complete the following information:

  • Credit Method: Select the type of credit method.

    • Partial Refund: Use this option when it is a partial amount.

    • Full Refund: Use this option if the credit note is for the full amount.

    • Full refund and new draft invoice: Use this option if the credit note is auto-validated and reconciled with the invoice. The original invoice is duplicated as a new draft.

  • Reason: Enter the reason for the credit note.

  • Reversal Date: Select if you want a specific date for the credit note or if it is the journal entry date.

  • Use Specific Journal: Select the journal for your credit note or leave it empty if you want to use the same journal as the original invoice.

  • Refund Date: If you chose a specific date, select the date for the refund.

Once reviewed, click the Reverse button.

Debit notes

The process for debit notes is similar to credit notes. To create a debit note with reference to an invoice, go to Accounting ‣ Customers ‣ Invoices. On the invoice, click the Add Debit Note button, and enter the following information:

  • Reason: Type the reason for the debit note.

  • Debit note date: Select the specific options.

  • Copy lines: Select this option if you need to register a debit note with the same lines of invoice.

  • Use Specific Journal: Select the printer point for your debit note, or leave it empty if you want to use the same journal as the original invoice.

When done, click Create Debit Note.

Support document for vendor bills

With master data, credentials, and the purchase journal configured for support documents related to vendor bills, you can start using support documents.

Support documents for vendor bills can be created from your purchase order or manually. Go to Accounting ‣ Vendors ‣ Bills and fill in the following data:

  • Vendor: Enter the vendor’s information.

  • Bill Date: Select the date of the bill.

  • Journal: Select the journal for support documents related to the vendor bills.

  • Invoiced Lines: Specify the products with the correct taxes.

Once reviewed, click the Confirm button. Upon confirmation, an XML file is created and automatically sent to Carvajal.

Common errors

During the XML validation, the most common errors are related to missing master data. In such cases, a validation error message is displayed and sending is blocked.

If the invoice was sent and set as Rejected by the DIAN, the error messages are visible by clicking the (info circle) icon next to the Status field in the DIAN tab. Using the reported error codes, it is possible to review solutions to apply before re-sending.

Example of error messages on rejected invoices.

After the master data or other issues are corrected, it is possible to reprocess the XML again. Do so by following the electronic invoice sending flow.

Financial reports

Certificado de Retención en ICA

This report is a certification to vendors for withholdings made for the Colombian Industry and Commerce (ICA) tax. The report can be found under Accounting ‣ Reporting ‣ Colombian Statements ‣ Certificado de Retención en ICA.

Click the (gear) icon to display options to Download Excel and Copy to Documents.

Certificado de Retención en ICA report in Odoo Accounting.

Certificado de Retención en IVA

This report issues a certificate on the amount withheld from vendors for VAT withholding. The report can be found under Accounting ‣ Reporting ‣ Colombian Statements ‣ Certificado de Retención en IVA.

Click the (gear) icon to display options to Download Excel and Copy to Documents.

Certificado de Retención en IVA report in Odoo Accounting.

Certificado de Retención en la Fuente

This certificate is issued to partners for the withholding tax that they have made. The report can be found under Accounting ‣ Reporting ‣ Colombian Statements ‣ Certificado de Retención en Fuente.

Click the (gear) icon to display options to Download Excel and Copy to Documents.

Certificado de Retención en Fuente report in Odoo Accounting.