Hi QuickFile team,
We’re moving our integration to the REST API v2 and have a question about the response from POST /client_payments.
We posted a partial payment of £40.00 against invoice 000057 (invoice id 42143401), which has a total of £45.00. The response was:
{
"id": 38391073,
"date": "2026-09-21",
"client_id": 9836104,
"amount": 40,
"amount_in_currency": 40,
"currency": "GBP",
"status": "LIVE",
"nominal_code": 1230,
"invoices": [
{
"id": 42143401,
"number": "000057",
"amount": 40,
"amount_in_currency": 40,
"date": "2026-09-21"
}
]
}
Two things we’d expect to find in the invoices array:
- The invoice’s own figures.
invoices[].amountandamount_in_currencyshow the £40 allocated by this payment. Could you confirm that’s what they mean? We’d have expected the invoice’s total (£45.00) and ideally the balance still outstanding, either in these fields or in new ones. - The invoice’s status. Nothing in the response tells us whether the invoice is now paid in full or part paid (
paid,partpaid,sentand so on). TheInvoicemodel in the Swagger docs only listsid,number,amount,amount_in_currencyanddate.
At the moment we have to make a separate GET /invoices/{id} after every payment just to learn the new status. Returning the status (and total or balance) in the payment response would save that call, and each call counts towards our rate limit.
A related question: client_id is marked required on POST /client_payments, and we get “Payment client ID is required” if it’s left out, even though invoice_id is supplied. Is that intended, or could the client be taken from the invoice when invoice_id is given?
Thanks,