Skip to main content

Register suppliers

Supplier registration guide ›

Issue invoices

Invoicing guide ›
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; credit and debit notes receive the equivalent CUDE.Invopop’s Colombia app has partnered with Alegra, an authorized technology provider for DIAN electronic invoicing, to onboard suppliers and issue documents on their behalf. The app handles the DIAN enablement (habilitación) through a hosted portal, keeps track of the supplier’s billing numbering resolutions, and clears invoices, credit notes, and debit notes in real time.Key features
  • Workflow automation: Automated workflows for registering suppliers and issuing invoices, credit notes, and debit notes through the DIAN system.
  • Clearance: Every document is validated by the DIAN before it’s issued, receiving its unique CUFE or CUDE code as the dian-cude stamp on the envelope.
  • Supplier onboarding: A hosted portal walks suppliers through the DIAN enablement test set, with the workflow resuming automatically once the DIAN accepts it. You can also submit the test set via the API.
  • Resolution management: Billing numbering resolutions linked to Alegra are fetched from the DIAN automatically, and invoice numbers are validated against them before sending. You can also list them via the API.
  • UBL 2.1 generation: The signed DIAN XML (AttachedDocument) is stored as a file on the silo entry.
  • QR code: The DIAN QR code is added as the dian-qr stamp, ready for legally compliant PDF generation.
  • Legally compliant PDF invoices: The send workflow renders a PDF with all mandatory fields, the CUFE or CUDE, and the DIAN QR code.
Check out the guides below to get started:

FAQ

Invoicing questions
The DIAN expects a 5-digit municipal code, not a 6-digit postal code, in the co-dian-municipality extension of the supplier and of customers identified by a Colombian NIT. For example, use 11001 for Bogotá.
Through Alegra, an authorized DIAN technology provider. The send workflow signs the GOBL envelope, clears it with the DIAN, stamps the CUFE and QR code, and generates a compliant PDF.
Set $schema to https://gobl.org/draft-0/bill/invoice, the supplier’s tax_id.country to CO, and include the supplier’s DIAN municipality code via the co-dian-municipality extension in its ext. Customers identified by a Colombian NIT need the extension too; foreign customers and simplified B2C invoices don’t (see When is the municipality code required?). See the GOBL Colombia tax regime for the full field reference and examples.
No. The co-dian-municipality extension is only required on customers identified by a Colombian NIT, that is, with tax_id.country set to CO and a tax_id.code. Foreign customers, simplified B2C invoices without a customer, and consumers identified only by a cédula build without it. Invopop can’t derive the code from the NIT, so collect it for each Colombian business customer.
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 supported by the GOBL Colombia tax regime.
Invoices, credit notes, and debit notes. Credit and debit notes reference the corrected invoice in the preceding array; debit notes require every preceding entry to carry the dian-cude stamp of the original invoice.
Only Alegra’s NIT (9005590882) can be the supplier. Invoices use series SETP with codes 990000000–995000000 (shared across users, so avoid common codes) and today’s date in Colombia.
The series, code, and issue date must fall within an active DIAN numbering resolution. Resolutions are refreshed automatically, so a rejection usually means the range isn’t linked to Alegra yet, or it expired or ran out and the supplier needs a new one. See Numbering resolutions.
Registering supplier questions
The supplier must be registered with the DIAN with an active RUT (Registro Único Tributario), complete the DIAN habilitación, and hold a valid billing numbering range authorization. The supplier registration guide walks through each step.
Upload a GOBL party with the supplier’s name, NIT (with verification digit), and email, then run the registration workflow. It publishes an enablement portal link under registration-link in the entry’s meta; the supplier’s legal representative completes the DIAN enablement there, and the workflow finishes once the DIAN accepts it. See the supplier registration guide.
A one-time DIAN certification required before issuing real invoices. The supplier submits a TestSetId from the DIAN portal through the hosted portal, Alegra sends the test documents, and the supplier is enabled once the DIAN accepts them.
The enablement status only says failed. The DIAN’s reason is in the faults of the registration job: check the entry’s job history in the Console, fetch the job via the API, or receive it in a Send Webhook step in the workflow’s error handling flow. Fix the cause and re-run the registration workflow to start again. See Failed enablement.
Yes, but only Alegra’s NIT (9005590882) can be registered. The enablement is simulated: enter the TestSetId a70562e0-631e-4ceb-aa65-36887b57dc17 for an instant acceptance. Other outcomes are in the sandbox section of the guide.
Yes. Authorizations are valid for 2 years and also end when their numbers run out. Before a range with unused numbers expires, the supplier can extend it (extension request); once it’s used up, they request a new one (new authorization). Updated resolutions are picked up automatically.
More answers in our Colombia FAQ section

Participate in our community

Ask and answer questions about the Colombia app →