Envelope
Todos los eventos usan el mismo sobre, tanto en webhooks como en el pull:- Montos en pesos enteros (como en la base). Los costos van en centavos (
unit_cost_cents). - Los timestamps del POS en milisegundos se exponen también como
*_at_millis. seqes monótono por empresa.event_ides único y sirve para deduplicar.
sale.created
Venta confirmada (cobrada, fiada o consumo). Se emite una sola vez; una resubida idempotente de la tablet no lo duplica.
El descuento es a nivel de orden. El ERP lo prorratea por importe de línea.
sale_kind puede ser sale, fiado o consumo; en consumo no hay cobro (solo egreso de stock).sale.voided
Anulación total de una venta.
fiscal_document.issued
Comprobante autorizado por ARCA. Cubre facturas y notas de crédito: se distinguen por kind. No existe un evento separado credit_note.issued.
kind = credit_note, reverses_invoice_id apunta a la factura revertida y cbte_tipo es 8 (NC B) o 13 (NC C).
fiscal_document.failed
Fallo de facturación persistido. will_retry indica si el backend POS reintentará el CAE con backoff.
punto_venta_missing o fiscal deshabilitado) llegan con will_retry: false y no se vuelven a intentar. Cuando el reintento tiene éxito, llega fiscal_document.issued.
caja.closed
Cierre de caja. totals_by_payment_method es derivado: suma sale_payments de ventas no anuladas con el mismo POS dentro de la ventana opened_at..closed_at.
La diferencia de arqueo (
closing_variance_pesos) es solo de efectivo. La caja es por dispositivo: dos tablets en la misma sucursal pueden tener cierres distintos.stock.changed
Todo cambio de stock aplicado, con el saldo resultante. Los movimientos que origina el ERP llegan con reason prefijado erp_.
reason puede ser sale, sale_cancel, manual_adjust, transfer_out, transfer_in, transfer_void, admin_set, erp_receipt, erp_transfer_in, erp_transfer_out, erp_adjustment, erp_return_to_supplier o erp_other.
stock_transfer.updated
Transferencia entre sucursales creada o con cambio de estado.
fiado.created
Alta de una cuenta de fiado.
fiado.paid
Cobro aplicado a un fiado.
product.created
Producto creado desde el POS (alta por escaneo) o desde el back office. El ERP lo adopta o lo rechaza (DELETE de producto vía API).
created_by_pos_id viene informado cuando el producto nació en una tablet.