Pagos
Aplica pagos a facturas.
Pagos individuales aplicados a facturas.
Dependencias: Requiere cargar tanto Comprobantes COMO Facturas primero.
⚠️ Importante: Al cargar pagos para un comprobante, debe incluir TODOS los pagos asociados con ese comprobante en el mismo archivo. No se admiten actualizaciones parciales.
Endpoint
POST /full-csv-integration/upload-payments
- Campo de Formulario:
paymentsFile
Campos Requeridos
| Campo | Tipo | Descripción | Validaciones |
|---|---|---|---|
erp_voucher_id | String | ID del comprobante en ERP | Debe existir en Comprobantes. Los pagos de un comprobante se reemplazan por completo en cada carga |
erp_invoice_id | String | ID de la factura en ERP | Debe existir en Facturas. Las filas cuya factura no exista se descartan en silencio y la carga se reporta igualmente como exitosa |
amount | Float | Monto del pago | Número decimal |
currency | String | Moneda del pago | La columna debe estar presente. Se guarda tal cual — no se contrasta con la moneda de la factura |
payment_method | String | Método de pago | Texto libre. Se guarda exactamente como lo envías — ver más abajo |
Campos Opcionales
| Campo | Tipo | Descripción | Por Defecto |
|---|---|---|---|
erp_cost_center_id | String | Centro de costo para el pago | null |
Método de Pago
payment_method es texto libre. Se recortan los espacios y se guarda en el pago exactamente como lo envías: no hay enum ni validación, así que cualquier valor se acepta y se conserva.
La normalización a un conjunto fijo aplica en un solo caso: cuando una factura tiene un acuerdo de pago activo, el sistema genera además un pago sugerido, y ese registro guarda el método normalizado. Esto no cambia lo que queda en tu registro de pago.
| Valor normalizado | Entradas que se le asignan |
|---|---|
cash | cash, efectivo, dinero en efectivo |
bank_transfer | bank_transfer, transfer, transferencia, transferencia bancaria, wire |
check | check, cheque |
credit_card | credit_card, credit, tarjeta de credito, tarjeta crédito |
debit_card | debit_card, debit, tarjeta de debito, tarjeta débito |
other | Cualquier otro valor, incluido uno vacío |
La comparación no distingue mayúsculas de minúsculas. Nota que card no está en la tabla, así que un pago sugerido lo registraría como other — tu pago sigue guardando card.
Ejemplo CSV
erp_voucher_id,erp_invoice_id,amount,currency,payment_method,erp_cost_center_id
VCH001,INV001,500000.00,COP,transfer,CC001
VCH002,INV002,500000.00,COP,cash,CC002
VCH003,INV001,300000.00,COP,check,CC001