Documento Equivalente Electrónico POS — Código 20

Documento Equivalente POS Electrónico

El Documento Equivalente Electrónico Tiquete de Máquina Registradora con Sistema POS (Código 20) reemplaza el tiquete tradicional de papel para cumplir con la Resolución DIAN 000165. Diseñado para puntos de venta físicos, supermercados, restaurantes y comercios minoristas con respuesta síncrona en menos de 2 segundos.

Ultra Rápido (< 2s)

Firma y respuesta síncrona inmediata para no demorar la fila de la caja.

Tirilla Térmica 80mm / 58mm

Endpoint listo para descargar el PDF en formato tirilla o enviar a impresoras POS.

Consumidor Final Automático

Si no se envían datos del cliente, aplica automáticamente NIT 222222222222.

Emitir Tiquete POS Electrónico

POST/v1/api/pos/emitir

Emite un Documento Equivalente POS (Código 20) con transmisión síncrona en tiempo real.

Parámetros del request:

CampoTipoRequeridoDescripción
lineasarrayLíneas de productos o servicios vendidos en mostrador
clienteobjectNoDatos del comprador (opcional: si se omite, aplica Consumidor Final 222222222222)
pagosarrayNoArray de pagos combinados (efectivo, tarjeta, etc.)
id_cajaintegerNoID o identificador de la caja / terminal POS
id_cajerointegerNoID o identificador del usuario cajero
propina_voluntarianumberNoMonto de propina voluntaria (restaurantes / bares)
observacionesstringNoNotas del ticket o mesa
transmitirbooleanNotrue para transmitir y validar síncronamente ante DIAN (default: true)

Parámetros de Líneas de Venta

CampoTipoRequeridoDescripción
descripcionstringNombre o descripción del producto vendido
cantidadnumberCantidad vendida
precio_unitarionumberPrecio unitario con o sin impuesto
codigostringNoCódigo PLU, SKU o barras del producto
porcentaje_ivanumberNoPorcentaje de IVA (ej: 19, 5, 0)
tipo_impuestostringNo01 = IVA, 04 = Impuesto Nacional al Consumo (INC 8%)
descuento_valornumberNoValor en pesos del descuento aplicado

Ejemplos de Consumo

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
  }'

Respuesta Exitosa (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"
  }
}
Probar EndpointPOST /pos/emitir

Nota de Ajuste a Documento POS (Código 29)

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

Emite una nota de ajuste para anulación o corrección de un tiquete POS emitido.

Permite anular un tiquete POS o devolver productos vendidos en mostrador.

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
  }'

Impresión Térmica y Arqueo de Caja

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

Descarga la representación gráfica en formato tirilla térmica (80mm o 58mm) para impresoras POS.

GET/v1/api/pos/arqueo

Resumen consolidado de ventas electrónicas POS por fecha y turno de caja.

GET/v1/api/pos

Listado paginado de tiquetes POS con filtros por fecha, caja y estado.