Electronic Support Document (DS)
The Electronic Support Document for acquisitions from non-invoicing individuals/entities allows companies to support deductible costs in income tax and VAT. JCFlow automatically generates the CUDS, signs the XML with XAdES and transmits to DIAN in real-time.
Automatic Vendor Resolution
Does not require RUT for individuals with Citizen ID or Passport.
CUDS SHA-384 Calculation
Cryptographic generation and signing according to DIAN Resolution 000167.
Adjustment Notes (Type 95)
Full cancellation or partial value correction referencing the original CUDS.
Issue Electronic Support Document
/v1/api/documentos-soporte/emitirCreates, signs and transmits a Support Document (Code 05) to DIAN.
Main request payload parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| proveedor | object | Yes | Non-invoicing vendor data (individual / legal entity) |
| lineas | array | Yes | Purchased goods or services detail with withholdings |
| forma_pago | string | No | 1 = Cash, 2 = Credit (default: 1) |
| metodo_pago | string | No | 10 = Cash, 42 = Bank Transfer, 48 = Credit Card, etc. (default: 10) |
| fecha_emision | string | No | Acquisition date YYYY-MM-DD (default: today) |
| observaciones | string | No | Support document notes or observations |
| transmitir | boolean | No | true to sign and transmit to DIAN immediately (default: true) |
| centro_costos | string | No | Cost center or internal accounting account |
Vendor Object
| Field | Type | Required | Description |
|---|---|---|---|
| numero_identificacion | string | Yes | ID or NIT number of the non-invoicing vendor |
| nombre | string | Yes | Full name or company name of the vendor |
| tipo_documento | string | No | 13 = Citizen ID, 22 = Foreigner ID, 41 = Passport, 31 = NIT (default: 13) |
| correo | string | No | Email address for notification |
| telefono | string | No | Contact phone number |
| direccion | string | No | Residence or business address |
| municipio | string | No | DANE municipality code (e.g. 11001 for Bogotá) |
| tipo_regimen | string | No | 49 = Non-VAT taxpayer (default) |
Purchase Line Items Object
| Field | Type | Required | Description |
|---|---|---|---|
| descripcion | string | Yes | Description of the acquired good or service |
| cantidad | number | Yes | Quantity of acquired units |
| precio_unitario | number | Yes | Unit price before withholdings |
| codigo | string | No | Internal code for service or item |
| unidad_medida | string | No | DIAN unit code (default: 94 = Unit, E48 = Service) |
| retenciones | array | No | Array of applied withholdings: 07=ReteFuente, 05=ReteICA |
Code Examples
curl -X POST "https://api.jcflow.com.co/v1/api/documentos-soporte/emitir" \
-H "Content-Type: application/json" \
-H "X-Api-Key: sk_test_tu_api_key_aqui" \
-d '{
"proveedor": {
"tipo_documento": "13",
"numero_identificacion": "1018293847",
"nombre": "Pedro Antonio Gómez Morales",
"correo": "pedro.gomez@servicios.com",
"telefono": "3124567890",
"direccion": "Vereda San José Finca El Roble",
"municipio": "25899"
},
"forma_pago": "1",
"metodo_pago": "10",
"lineas": [
{
"codigo": "SERV-ELEC-01",
"descripcion": "Mantenimiento eléctrico preventivo de oficinas",
"cantidad": 1,
"precio_unitario": 850000,
"retenciones": [
{ "tipo": "07", "porcentaje": 4, "base": 850000, "valor": 34000 },
{ "tipo": "05", "porcentaje": 0.966, "base": 850000, "valor": 8211 }
]
}
],
"observaciones": "Cuenta de cobro No. 14 por servicios de mantenimiento",
"transmitir": true
}'Successful Response (200 OK)
{
"success": true,
"message": "Documento Soporte Electrónico emitido exitosamente",
"data": {
"id": 302,
"prefijo": "DS",
"numero": "0089",
"cuds": "f47ac10b58cc4372a5670e02b2f3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7",
"qr_url": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=f47ac10b...",
"subtotal": 850000,
"total_retenciones": 42211,
"total": 807789,
"estado_dian": "Aceptado",
"pdf_url": "https://api.jcflow.com.co/v1/api/documentos-soporte/302/pdf",
"xml_url": "https://api.jcflow.com.co/v1/api/documentos-soporte/302/xml"
}
}Support Document Adjustment Note (Type 95)
/v1/api/documentos-soporte/:id/nota-ajusteIssues an adjustment note to void or correct a previously issued Support Document.
The Adjustment Note allows you to fully or partially reverse the values of a Support Document previously accepted by DIAN.
| Field | Type | Required | Description |
|---|---|---|---|
| documento_referencia | integer | Yes | ID of the original Support Document in JCFlow |
| concepto_nota | string | Yes | 1 = Refund or cancellation, 2 = Void due to non-charge, 3 = Price adjustment |
| motivo | string | Yes | Explanation for the adjustment or cancellation reason |
| lineas | array | No | Corrected lines (for partial value adjustments) |
| transmitir | boolean | No | true to transmit to DIAN immediately |
Request Example
curl -X POST "https://api.jcflow.com.co/v1/api/documentos-soporte/302/nota-ajuste" \
-H "Content-Type: application/json" \
-H "X-Api-Key: sk_test_tu_api_key_aqui" \
-d '{
"documento_referencia": 302,
"concepto_nota": "1",
"motivo": "Anulación de cuenta de cobro por no ejecución del servicio",
"transmitir": true
}'Queries and File Downloads
/v1/api/documentos-soportePaginated list of support documents with filters by date, status and vendor.
/v1/api/documentos-soporte/:idGets full details of a Support Document by its ID.
/v1/api/documentos-soporte/:id/consultar-dianQueries live CUDS status directly against DIAN servers.
/v1/api/documentos-soporte/:id/pdfDownloads the official PDF graphical representation.
/v1/api/documentos-soporte/:id/xmlDownloads the UBL 2.1 XML file electronically signed with XAdES.