Tax certificate
What a withholding agent withheld from a third party in a tax year, or the VAT invoiced, by concept, by month and document by document.
certificado-retencion, with the estandar design: the certificate a withholding agent hands each beneficiary at year end, to be used in their tax return.
One type for all four taxes. tipo says which one —retefuente (income tax withholding), reteiva (VAT withholding), reteica (local business tax withholding) or iva (VAT invoiced)— and with it the title and the column names change; the layout is the same, because it is the same document.
"tipo": "retefuente", // retefuente | reteiva | reteica | iva
"titulo": "Certificado de retención en la fuente", // optional: without it, the one for the type
"anioGravable": 2025,
"agenteRetenedor": { "nombre": "Inversiones Altamar S.A.S.", "nit": "901223445-7",
"direccion": "Carrera 43A # 1-50, Of. 1204", "ciudad": "Medellín" },
"beneficiario": { "nombre": "Servicios Integrales del Valle S.A.S.", "nit": "900345678-1",
"direccion": "Calle 10 # 40-21", "ciudad": "Itagüí" },
"conceptos": [ // required, at least one
{ "concepto": "Honorarios", "base": 24000000, "retenido": 2640000 }
],
"meses": [ // optional: the monthly summary
{ "mes": "junio", "base": 24000000, "retenido": 1410000 }
],
"detalle": [ // optional: the document-by-document annex
{ "fecha": "2025-06-09", "factura": "FV-10488", "concepto": "Honorarios",
"base": 12000000, "tarifa": "11 %", "retenido": 1320000 }
],
"totalBase": 90000000,
"totalRetenido": 5190000, // required: the figure the paper exists for
"pagos": 14, // how many payments, not how much was paid
"expedidoEl": "2026-02-27", "lugarExpedicion": "Medellín",
"textoLegal": "Este certificado se expide de conformidad con el artículo 381 …",
"firma": { "nombre": "Claudia Patricia Henao", "documento": "CC 43.118.772",
"tarjetaProfesional": "T.P. 48.221-T", "cargo": "Revisora fiscal",
"trazo": "https://…/firma.png" } // optional, as a whole
- Nothing is added up here, and in this document less than in any other.
totalBaseandtotalRetenidoarrive final and are printed exactly as they arrive, even if they do not match the concepts: the figure printed here is declared by the beneficiary to the tax authority, and whoever computed it answers for it. The rate is not derived from the base and the amount withheld either, and the concept is not translated. tipochanges what the document states. In the three withholding types the column is «Retenido» and the base is the one subject to withholding. Inivathere was no withholding at all: the column reads «IVA facturado» and the base, «Valor facturado sin IVA». Atipooutside those four returns400listing the ones that exist.- The signature is optional; the legal wording is not. With
firma, the block is drawn with its stroke —PNG or JPEG, by URL ordata:—, the ID, the role and the professional licence, and with no timestamp: a certificate does not prove when it was received. Withoutfirmano empty signature line is left, becausetextoLegalusually states that no handwritten signature is required. The wording is printed either way. - The annex and the monthly summary are optional. With
detalle, each document with its date, invoice, base, rate and amount withheld, to reconcile against the beneficiary’s books; without it there is neither a heading nor an extra page. The same goes formeses. - If the annex does not fit on one page, the table continues on the next repeating its header, and the signature and the legal wording are never split across pages.
- Required:
tipo,anioGravable,agenteRetenedor.nombreand.nit,beneficiario.nombreand.nit,conceptos,totalRetenido,expedidoElandtextoLegal. If any is missing, the response is400with the list of what is missing and no PDF is composed. AtotalRetenidoof zero is valid: zero is a figure. - The document also comes in four palettes —
corporativa(blue),profesional(green),minimalista(violet) andbasica(orange)—, with the same layout. It also acceptsnotes,fields,sideNotes,selectedCurrencyandyourCompanyfor the withholding agent’s logo and contact details.
Examples: certificado-retencion.json (income tax withholding, with annex and signature), certificado-retencion-reteiva.json, certificado-retencion-reteica.json and certificado-retencion-iva.json.
