Fixed

Invoice amount due and the payment status filter, fixed

Two numbers integrations read every day now come back right.

  • Amount due deducts credit notes. On Get invoice, amountDue is now the gross amount minus what was paid and the credit notes deducted from the invoice, floored at 0. An invoice settled partly by a credit note used to show its full amount as still due. amountPaid now comes from the payments only.
  • "Payment status is not…" works on payable searches. On Search payables, a paymentStatus filter with the != operator used to be ignored and returned paid payables too. It now returns the complement: != ["paid"] returns the payables still to pay, and != ["toPay", "paid"] returns none.
curl --request POST \
  --url https://public-api.spendesk.com/v1/payables/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{"filters":{"field":"paymentStatus","operator":"!=","value":["paid"]},"limit":50}'
🚧

Check your workarounds

  • If your integration filtered paid payables out on its side after a paymentStatus != search, the API now does it: the result is the same, with fewer rows to page through.
  • List invoices and the summary do not deduct credit notes yet: on the list, amountDue is the full gross amount until the invoice is paid. Read Get invoice for the outstanding balance of one invoice.

These endpoints remain experimental (scopes experimental:invoice:read and experimental:payable-search:read).