Changelog
2026-11-11: payout, sales and SFTP feeds, quotes, shipped Z-report (Wave 3)#
- Payout feeds.
ingestPayoutTransactions(source, company, account, payouts)takes up to 500 payouts of apayout_feedsource onto the company's PSP account (upsertFeedBankAccountwithtype: psp).PayoutFeedInputcarriespayoutDate,arrivalDate, the netamountMinor(positive),grossMinor,feesMinor, thereferencethe bank statement shows,destination { iban account },status(paid,in_transit: not accepted until paid,PENDING_NOT_BOOKED) andreversesfor a payout that failed. Idempotent byexternalId; a changed payout isIMMUTABLE_TRANSACTION. Scopemonetary_accounts:write. - Transfer matcher. A payout is paired with the credit on one of the company's bank accounts (same amount, around the arrival day, the reference in the statement text or the destination IBAN), whichever arrives first, also when the credit comes through Lunch Flow or a statement file (hourly). Both sides are booked on the suspense ledger, where they cancel out;
bank_transaction.bookedfollows as for any booking.payoutTransferMatches(source, company, payouts)(monetary_accounts:read) lists the pairs withconfidenceandrationale. - Sales and purchase feeds.
ingestSalesInvoices(sales_feedsource) andingestPurchaseInvoices(purchase_feed) take up to 500 invoices with the same fields and rules asupsertSalesInvoiceandupsertPurchaseInvoice; the invoices carry the source. - Read-only partner data. Invoices from a sales or purchase feed and hours from an hours feed are read-only for the company's users, like delivered bank rows: changing the facts (customer, dates, amounts, lines, tax) or deleting answers
PARTNER_SOURCED_READ_ONLYwith the source's name. Processing stays open: ledgers, cost centres and projects on purchase lines, approval, payment and booking. Reopening a delivered sales invoice is refused too; corrections are credit notes from you. - SFTP statement pickup. A source with
delivery: { sftp: true }accepts camt.053, camt.052 and MT940 files in its folder on the FinBaze SFTP server (<platform id>/<source key>/). FinBaze picks them up within a minute, imports them like an upload (receivedVia: sftpondataSourceFiles, same dedup and events) and moves them toprocessed/<date>/; a file it cannot take moves tofailed/with a.error.txtbeside it. SFTP accounts are set up per platform on request. - Quotes.
upsertQuote(input)and bulkobject=quotes(quotes:write): draft quotes with your own id, lines as on sales invoices,expectedTotalMinoras a guard. Sending stays in FinBaze; a sent quote accepts metadata only and cannot be deleted. - Bank detail provenance. A bank account change through your token (including bulk jobs and flow runs) records your platform; changes by your backend count as
platform_push. - Custom records. FinBaze ships a
z_reportrecord type and apos-z-reporttemplate (flowTemplateslists it asshipped). Your ownz_reporttype replaces the shipped one;activateFlowTemplate(key: "pos-z-report", version: 1)copies the shipped template into your platform and activates the copy, it never runs on its own. Expressions can readprevious.data(the record's data before the change that started the run) next toprevious.status;testFlowTemplatetakespreviousDataper sample record. Records in bulk:object=custom_recordswith lines likeupsertCustomRecord({ company?, externalId, type, status?, data, metadata?, occurredAt? },custom_records:write). A record pushed withoutstatuskeeps its current state. - Promotion. The sandbox bundle carries a new policy kind
records: your active record types and flow templates. Confirming the import in production defines the types, saves and activates the templates and retires active templates that are not in the bundle.PolicyKindgainsrecords.