Skip to main content

Introduction

The DIAN in Colombia stands for Dirección de Impuestos y Aduanas Nacionales (National Directorate of Taxes and Customs). It is the government agency responsible for managing and overseeing tax collection, customs operations, and facilitating international trade. Electronic invoicing in Colombia is mandatory and operates on a real-time clearance model whereby every invoice must receive a unique identifier called a CUFE (Código Único de Factura Electrónica) issued by the DIAN. Invopop has partnered with Plemsi to issue invoices in Colombia (DIAN). You have the option of either using Invopop’s Plemsi billing account or create your own and provide your own credentials. This guide will walk you through the steps necessary to set up the workflows that will allow you to issue GOBL documents in Colombia using Plemsi as a provider. For onboarding suppliers with the DIAN and Plemsi, see the companion guide: Colombia: Supplier registration. Please refer to the docs of the GOBL’s Colombia Tax Regime to learn about the specifics of Colombian GOBL documents and to obtain examples.

Prerequisites

In order to complete this guide in a live Invopop environment, you will need:
  • A registered supplier: follow the DIAN supplier registration guide to authorize Plemsi in the DIAN and set up the supplier’s Plemsi account before issuing.
  • Customer details for B2B transactions, including name, RUT or international ID, address, and municipality code for national transactions.
  • Line and item details, including quantity, price, description, and taxes to apply. Colombia can be complicated, as a single invoice may need to apply up to three different value added and retained taxes.

Sandbox limitations

When using Plemsi’s sandbox environment (see the supplier registration guide for how to enable it), bear in mind:
  • There’s only one supplier enabled. Its tax code is 9015852843.
  • There’s only one series enabled for invoices (SETT) and another one for credit notes (NCTT). Moreover, those series are shared and, to avoid collisions, we’ll provide you with a specific range for you to use (e.g. SETT-123xxxx)
Your test invoices will need to use the supplier’s tax ID code and series above.

Setup

The supplier must already be registered with the DIAN and Plemsi — this is covered in the supplier registration guide.
1

Create a workflow

DIAN-Colombia Invoice Workflow

Add to my workspace →
Setup is complete. You can now use the workflow you created to issue invoices and credit notes in Colombia.

Examples

The following examples are of GOBL documents you can copy and paste directly into the Invopop Console or store via the API as silo entries. Then, you must run the DIAN Colombia workflow created during setup. GOBL Invoices sent to DIAN require the following properties to perform the correct normalization and validation steps:
  • $schema to be set to https://gobl.org/draft-0/bill/invoice
  • supplier.tax_id.country to be set to CO
  • supplier.ext to include the DIAN municipality code under the co-dian-municipality extension. Colombian customers need it too.
In this example, we’re issuing a B2B invoice from a Colombian supplier to another Colombian business customer.Notice:
  • the $schema is set to https://gobl.org/draft-0/bill/invoice,
  • the supplier’s tax_id country is set to CO, and the DIAN municipality code is set with the co-dian-municipality extension on the party,
  • the customer details include full address, email, and telephone information,
  • the invoice includes VAT at the standard Colombian rate of 19%,
  • payment terms are specified with a due date and payment amount, and,
  • there are no calculations in some fields; these will be made automatically when uploading.
In this example, we’re issuing a B2C simplified invoice from a Colombian supplier to a consumer.Notice:
  • we’ve set the simplified tag in the tax.tags field; this indicates the invoice is for a final consumer,
  • the customer information is omitted, as it’s not required for B2C transactions,
  • the invoice includes a prepayment advance of 100%, meaning the invoice has been fully paid,
  • the totals section shows the advance and due amounts, with the latter being zero since the invoice is fully paid, and,
  • there are no calculations in some fields; these will be made automatically when uploading.
In this example, we’re issuing a credit note (nota de crédito) that corrects a previously issued invoice.Notice:
  • the type is set to credit-note,
  • the series is set to the credit note series (NCTT in the sandbox environment, which is separate from the SETT invoice series),
  • the preceding array references the original invoice being corrected by its series, code, and issue_date, along with a reason for the correction,
  • the lines describe the amounts being credited — a credit note can cover the full original invoice or just part of it, and,
  • there are no calculations in some fields; these will be made automatically when uploading.

FAQ

The DIAN requires a Municipal Code rather than a postal code to specify the municipality of the supplier. Make sure you are setting a municipal code (5 digits) and not a postal code (6 digits) in the supplier’s co-dian-municipality extension.
Through Plemsi, an authorized technology provider for DIAN electronic invoicing. The DIAN Colombia workflow signs the GOBL envelope, sends the invoice to the DIAN via Plemsi, receives the CUFE, and generates a compliant PDF with the DIAN QR code.
Set $schema to https://gobl.org/draft-0/bill/invoice, the supplier’s tax_id.country to CO, and include the supplier’s and customer’s DIAN municipality codes via the co-dian-municipality extension in each party’s ext. See the GOBL Colombia tax regime for the full field reference and examples.
VAT (IVA, 19% standard or 5% reduced), consumption taxes (IC, INC), the industry and commerce tax (ICA), and the retained taxes ReteIVA, ReteICA, and Retefuente. A single invoice may need to combine up to three value added and retained taxes — all are supported by the GOBL Colombia tax regime.
Yes. The same DIAN Colombia workflow handles invoices and credit notes when configured with a dynamic sequential code, so each document type draws from its own authorized numbering range.
Plemsi’s sandbox has a single enabled supplier (tax code 9015852843) and one series per document type: SETT for invoices and NCTT for credit notes. The series are shared across users, so we assign you a specific number range to avoid collisions. Contact us via Slack or support@invopop.com to enable the sandbox in your workspace.
More available in our Colombia FAQ section

Participate in our community

Ask and answer questions about invoicing in Colombia →