Create planned transaction
Create a planned transaction, the expected future cash event the forecast is built from. The sign of `amountValue` is what makes it money in or money out, so send a negative value for planned spend and a positive one for planned income. It is a decimal string, and it excludes pass-through tax: put VAT in `passThroughTaxAmount` separately, since the gross hit to the bank account is the two added together. Leave `recurrence` null for a one-off. For a repeating item, `frequency` and `interval` combine (`{ frequency: "month", interval: 3 }` is quarterly, not monthly for three months) and `end` takes either a date or a number of occurrences. `startDate` is the first occurrence, not the day you created the rule.
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
curl -X POST "https://example.com/companies/string/planned_transactions" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "startDate": "string", "amountValue": "string", "amountCurrency": "string" }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda", "accountId": "string", "name": "string", "startDate": "string", "amountValue": "string", "amountCurrency": "EUR", "passThroughTaxAmount": "string", "categoryId": "string", "counterparty": { "type": "customer", "id": "string" }, "usingDateRule": { "type": "transactionDate" }, "recurrence": { "frequency": "day", "interval": 0, "lastDayOfMonth": true, "end": { "type": "date", "date": "string" } }, "overrides": { "property1": null, "property2": null }, "source": "string", "externalId": "string", "externalSubscriptionId": "string", "externalInvoiceId": "string", "invoiceDate": "string", "serviceStartDate": "string", "serviceEndDate": "string", "externalData": { "invoiceNumber": "string", "invoiceUrl": "string", "collectionMethod": "charge_automatically", "attempted": true, "attemptCount": 0, "nextPaymentAttemptDate": "string", "dueDate": "string" }, "createdTime": "2019-08-24T14:15:22Z", "createdUserId": "string", "lastUpdatedTime": "2019-08-24T14:15:22Z", "lastUpdatedUserId": "string"}List planned transactions
List planned transactions for a company. Each row is a recurrence rule, not a dated event. For individual dated occurrences, and for totals over a date range, use the `planned_transaction_occurrences` endpoint instead. Amount semantics: `amountValue` is the **net** amount excluding pass-through taxes (e.g. VAT). When `passThroughTaxAmount` is non-null, the **gross cash impact** on the bank account is `amountValue + passThroughTaxAmount`. For "planned cash inflow / outflow" questions, sum the gross amount; for "planned revenue / cost net of VAT", sum `amountValue` only.
Retrieve planned transaction
Retrieve a single planned transaction by id, meaning the recurrence rule rather than its dated occurrences. Same amount semantics as the list endpoint: `amountValue` is net of pass-through tax. Returns 404 if it does not exist or belongs to another company.