Send e-invoices and one bank statement (CAMT or MT940): which invoices are paid, partly paid or open, and which payments match no invoice. Matches by invoice number, amount, IBAN and name.
curl -X POST https://api.bigapi.dev/v1/bank/reconcile -H 'Authorization: Bearer $KEY' -F 'files=@kontoauszug.xml' -F 'files=@RE-1001.xml' -F 'files=@RE-1002.pdf'
New keys come with 100 free operations, no signup: curl -X POST https://api.bigapi.dev/v1/keys. Failed calls cost nothing.
| Name | Meaning |
|---|---|
files required | Up to 49 e-invoices (XRechnung or ZUGFeRD, XML or PDF) plus exactly one bank statement (CAMT .xml or MT940), in any order. Send each file as files. |
direction | outgoing: your own invoices, matched against money received; incoming: supplier invoices, matched against money paid (also by the supplier's IBAN). If no invoice matches in the chosen direction but some match in the other, the warning direction_mismatch says so; no_payments_in_direction if the statement has no payments that way. Allowed: outgoing, incomingDefault: "outgoing" |
output | json for agents; xlsx with the sheets 'Rechnungen' and 'Zahlungen ohne Rechnung'. Allowed: json, xlsxDefault: "json" |
Returns application/json | spreadsheet. Response headers carry the cost (X-BigAPI-Cost) and notes about your input (X-BigAPI-Warnings).
400 need_one_statement | Send exactly one bank statement (CAMT or MT940) together with the invoices. |
400 no_invoices | No readable e-invoice among the files. |
Connect BiGapi as an MCP server: https://api.bigapi.dev/mcp (hosted) or npx -y @bigapi/mcp (local). Then ask in plain words; the agent finds bank_reconcile on its own.
Here are my invoices from October and the bank statement. Which ones are still unpaid?