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)
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 →
- Workflow
- Code
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:$schemato be set tohttps://gobl.org/draft-0/bill/invoicesupplier.tax_id.countryto be set toCOsupplier.extto include the DIAN municipality code under theco-dian-municipalityextension. Colombian customers need it too.
Example B2B invoice
Example B2B invoice
In this example, we’re issuing a B2B invoice from a Colombian supplier to another Colombian business customer.Notice:
- the
$schemais set tohttps://gobl.org/draft-0/bill/invoice, - the supplier’s
tax_idcountry is set toCO, and the DIAN municipality code is set with theco-dian-municipalityextension 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.
Example B2C invoice
Example B2C invoice
In this example, we’re issuing a B2C simplified invoice from a Colombian supplier to a consumer.Notice:
- we’ve set the
simplifiedtag in thetax.tagsfield; 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
advanceanddueamounts, 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.
Example credit note
Example credit note
In this example, we’re issuing a credit note (nota de crédito) that corrects a previously issued invoice.Notice:
- the
typeis set tocredit-note, - the
seriesis set to the credit note series (NCTTin the sandbox environment, which is separate from theSETTinvoice series), - the
precedingarray references the original invoice being corrected by itsseries,code, andissue_date, along with areasonfor 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
My GOBL document for a Colombian invoice fails to build because of the postal code
My GOBL document for a Colombian invoice fails to build because of the postal code
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.How does Invopop issue invoices in Colombia?
How does Invopop issue invoices in Colombia?
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.
What does a GOBL invoice need to be accepted by the DIAN?
What does a GOBL invoice need to be accepted by the DIAN?
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.Which taxes can appear on a Colombian invoice?
Which taxes can appear on a Colombian invoice?
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.
Can I issue credit notes through Invopop in Colombia?
Can I issue credit notes through Invopop in Colombia?
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.
What are the sandbox limitations for Colombia?
What are the sandbox limitations for Colombia?
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.🇨🇴 Invopop resources for Colombia
🇨🇴 Invopop resources for Colombia
Participate in our community
Ask and answer questions about invoicing in Colombia →