Bulk-create paid invoices from the incoming credits of a bank statement
The revenue counterpart of /expenses/import: takes the same kind of file (CSV/Excel or ISO-20022 CAMT XML) and turns incoming credits into invoices. Credits are first matched against the user's unpaid invoices — a match records the payment and marks that invoice paid instead of creating a new one. Only the leftovers can become invoices, and they must survive: an exact re-import fingerprint check (importRef), a deterministic filter that rejects cash deposits, card refunds and transfers between the user's own accounts, two amount/date/payer duplicate checks against existing payments and earlier auto-created invoices, and finally a conservative Claude gate that must find positive evidence of a customer paying for goods or services. Payouts from card acquirers (SumUp, TWINT, Adyen…) and from app stores, marketplaces and payout platforms (Google Payment Corp, Apple, Shopify, Amazon, Stripe, PayPal, Etsy, Uber, Booking.com…) become one invoice per payout — that money is the business's own sales, settled in batches. Anything the model is unsure about is returned under unclassified for review and is never created. Rows under unclassified and nonInvoiceable carry a payload in details that can be posted to /invoices/from-credit to create the invoice anyway. Created invoices are stored paid, with the received amount recorded as a payment on the transaction date and VAT stored inclusive so the invoice total equals the money received.
Response
Statement processed; returns what was matched, created, skipped as duplicate, rejected, and left for review.
Changes
No recorded changes to this endpoint across all 1 revision of this API.