Link stripe invoices
Book one or more Stripe invoices onto the transaction that paid them, taking the service period, tax split and customer from each invoice instead of the payment date. Pass several ids when one transfer settled several invoices. Re-linking an invoice replaces only the categorizations it produced, so anything categorized by hand is kept. If the payer settled for a different amount than was invoiced, the difference is left uncategorized and the transaction stays open, because only the customer knows what the difference was.
Authentication
sf_… API key in the bearerAuth field below.A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.
In: header
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/companies/string/transactions/link_stripe_invoices" \ -H "Content-Type: application/json" \ -d '{ "transactionId": "string", "stripeAccountId": "string", "stripeInvoiceIds": [ "string" ] }'{ "createdByInvoice": { "property1": 0, "property2": 0 }, "uncovered": 0, "covered": true, "skipped": [ { "stripeInvoiceId": "string", "reason": "string" } ]}Stripe invoice candidates
List Stripe invoices this payment might have settled, strongest evidence first. Only invoices that were paid outside Stripe and are not yet linked to a transaction are offered, because anything Stripe collected itself already has its revenue booked. `evidence` says why a row is being offered: `reference` means the payment text quotes that invoice number, `amountAndDate` means only the figures line up.
Transfer chain
Resolve the full path of a linked transfer, ordered from source to destination. Money moving between two accounts is two transactions, and when the legs cannot be matched directly SaaSFlow routes them through a transit account, which puts extra hops in between. This returns every node on that path so the whole movement can be shown as one thing. `nodes` is empty when the categorization is not a linked transfer.