Electronic Equivalent POS Document
The Electronic POS Equivalent Document (Code 20) replaces traditional paper receipts to comply with DIAN Resolution 000165. Built for physical retail stores, supermarkets, restaurants and counter sales with sub-2-second synchronous response time.
Ultra Fast (< 2s)
Instant synchronous signing and response without slowing down checkout queues.
Thermal Receipt 80mm / 58mm
Ready-to-use endpoint to stream receipt PDF directly to thermal POS printers.
Auto Final Consumer
If customer is omitted, automatically defaults to 222222222222.
Issue Electronic POS Ticket
/v1/api/pos/emitirIssues an Electronic POS Document (Code 20) with real-time synchronous transmission.
Request payload parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| lineas | array | Yes | Line items sold at counter/POS |
| cliente | object | No | Customer data (optional: if omitted, applies Final Consumer 222222222222) |
| pagos | array | No | Array of split payments (cash, card, etc.) |
| id_caja | integer | No | POS cash register / terminal ID |
| id_cajero | integer | No | Cashier user ID |
| propina_voluntaria | number | No | Voluntary tip amount (restaurants / hospitality) |
| observaciones | string | No | Receipt or table notes |
| transmitir | boolean | No | true to validate and transmit synchronously to DIAN (default: true) |
Sales Line Items Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| descripcion | string | Yes | Product name or description sold |
| cantidad | number | Yes | Quantity sold |
| precio_unitario | number | Yes | Unit price with or without tax |
| codigo | string | No | PLU, SKU or barcode of the product |
| porcentaje_iva | number | No | VAT percentage (e.g. 19, 5, 0) |
| tipo_impuesto | string | No | 01 = VAT, 04 = National Consumption Tax (INC 8%) |
| descuento_valor | number | No | Discount value in currency |
Code Examples
curl -X POST "https://api.jcflow.com.co/v1/api/pos/emitir" \
-H "Content-Type: application/json" \
-H "X-Api-Key: sk_test_tu_api_key_aqui" \
-d '{
"cliente": {
"tipo_documento": "CC",
"numero_documento": "1019283746",
"nombre_completo": "Carlos Rodríguez",
"correo": "carlos.cliente@gmail.com"
},
"lineas": [
{
"codigo": "MENU-001",
"descripcion": "Parrillada Mixta Familiar",
"cantidad": 1,
"precio_unitario": 85000,
"porcentaje_iva": 8,
"tipo_impuesto": "04"
},
{
"codigo": "BEB-004",
"descripcion": "Jarra de Limonada Natural 1.5L",
"cantidad": 2,
"precio_unitario": 16000,
"porcentaje_iva": 8,
"tipo_impuesto": "04"
}
],
"pagos": [
{ "forma": "1", "metodo": "48", "monto": 100000 },
{ "forma": "1", "metodo": "10", "monto": 26360 }
],
"propina_voluntaria": 10000,
"observaciones": "Mesa 08 - Salón Principal",
"transmitir": true
}'Successful Response (200 OK)
{
"success": true,
"message": "Documento POS Electrónico emitido exitosamente",
"data": {
"id": 890,
"prefijo": "POS",
"numero": "10492",
"cude": "cude_sha384_pos_electronico_9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f",
"qr_url": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=cude_sha384...",
"subtotal": 117000,
"total_impuestos": 9360,
"propina": 10000,
"total": 136360,
"tiempo_emision_ms": 1180,
"estado_dian": "Aceptado",
"tirilla_url": "https://api.jcflow.com.co/v1/api/pos/890/tirilla?width=80"
}
}POS Adjustment Note (Code 29)
/v1/api/pos/:id/nota-ajusteIssues an adjustment note to void or correct a previously issued POS receipt.
Allows you to void a POS receipt or return items sold at checkout.
curl -X POST "https://api.jcflow.com.co/v1/api/pos/890/nota-ajuste" \
-H "Content-Type: application/json" \
-H "X-Api-Key: sk_test_tu_api_key_aqui" \
-d '{
"motivo": "Devolución de producto en mostrador",
"concepto": "1",
"transmitir": true
}'Thermal Printing & Cash Arqueo
/v1/api/pos/:id/tirilla?width=80Downloads the graphical receipt in thermal roll format (80mm or 58mm) for POS printers.
/v1/api/pos/arqueoConsolidated summary of POS electronic sales by date and cash shift.
/v1/api/posPaginated list of POS receipts filtered by date, register and status.