Electronic Equivalent Document POS — Code 20

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

POST/v1/api/pos/emitir

Issues an Electronic POS Document (Code 20) with real-time synchronous transmission.

Request payload parameters:

FieldTypeRequiredDescription
lineasarrayYesLine items sold at counter/POS
clienteobjectNoCustomer data (optional: if omitted, applies Final Consumer 222222222222)
pagosarrayNoArray of split payments (cash, card, etc.)
id_cajaintegerNoPOS cash register / terminal ID
id_cajerointegerNoCashier user ID
propina_voluntarianumberNoVoluntary tip amount (restaurants / hospitality)
observacionesstringNoReceipt or table notes
transmitirbooleanNotrue to validate and transmit synchronously to DIAN (default: true)

Sales Line Items Parameters

FieldTypeRequiredDescription
descripcionstringYesProduct name or description sold
cantidadnumberYesQuantity sold
precio_unitarionumberYesUnit price with or without tax
codigostringNoPLU, SKU or barcode of the product
porcentaje_ivanumberNoVAT percentage (e.g. 19, 5, 0)
tipo_impuestostringNo01 = VAT, 04 = National Consumption Tax (INC 8%)
descuento_valornumberNoDiscount value in currency

Code Examples

CURL
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)

JSON
{
  "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"
  }
}
Try EndpointPOST /pos/emitir

POS Adjustment Note (Code 29)

POST/v1/api/pos/:id/nota-ajuste

Issues 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.

BASH
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

GET/v1/api/pos/:id/tirilla?width=80

Downloads the graphical receipt in thermal roll format (80mm or 58mm) for POS printers.

GET/v1/api/pos/arqueo

Consolidated summary of POS electronic sales by date and cash shift.

GET/v1/api/pos

Paginated list of POS receipts filtered by date, register and status.