Creating an invoice through the API that has "already been paid"

Hi everyone. I’m creating invoices through the API. I’m trying to make the invoice appear to be paid of already (because the user pays elsewhere with Stripe).

Do do this, I’m setting the paid_value to the full amount, and the due_value to 0. This doesn’t seem to work, though. Are there any other attributes I need to set?


I do this in DoubleAgent when reconciling Stripe payouts. You need to (a) create an invoice as normal; (b) create a bank transaction explanation with a paid_invoice attribute pointing to your invoice. FreeAgent will then take care of the invoice’s paid_value and due_value.

Andrew’s reply is spot on, I’ll just add that what you’ll need to do is essentially recreate this workflow from the web app (i.e. either explain an existing transaction imported via a bank feed or create a manual transaction in the user’s bank account within FreeAgent). To do this, you’ll need to use this Bank Transaction Explanations endpoint, and, as Andrew already helpfully suggested, include a reference to the paid_invoice in your request body.

Thanks a lot, this is super helpful!