Payments
Apply payments to invoices.
Individual payments applied to invoices.
Dependencies: Requires both Vouchers AND Invoices to be uploaded first.
⚠️ Important: When uploading payments for a voucher, you must include ALL payments associated with that voucher in the same file. Partial updates are not supported.
Endpoint
POST /full-csv-integration/upload-payments
- Form Field:
paymentsFile
Required Fields
| Field | Type | Description | Validations |
|---|---|---|---|
erp_voucher_id | String | Voucher ID in ERP | Must exist in Vouchers. A voucher’s payments are replaced in full on every upload |
erp_invoice_id | String | Invoice ID in ERP | Must exist in Invoices. Rows whose invoice does not exist are dropped silently and the upload still reports success |
amount | Float | Payment amount | Decimal number |
currency | String | Payment currency | The column must be present. Stored as given — it is not compared against the invoice currency |
payment_method | String | Payment method | Free text. Stored exactly as provided — see below |
Optional Fields
| Field | Type | Description | Default |
|---|---|---|---|
erp_cost_center_id | String | Cost center for payment | null |
Payment Method
payment_method is free text. It is trimmed and stored on the payment exactly as you send it — there is no enum and no validation, so any value is accepted and preserved.
A normalisation to a fixed set applies in one place only: when an invoice has an active payment agreement, the system also generates a suggested payment, and that record stores a normalised method. This does not change what your payment record holds.
| Normalised value | Inputs mapped to it |
|---|---|
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 | Any other value, including an empty one |
Matching is case-insensitive. Note card is not in the table, so a suggested payment would record it as other — your payment itself still stores card.
Example 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