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…
Authentication
Authorization<token>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.
companyId*string1 <= lengthapplication/json- body
name*string1 <= lengthstartDate*string1 <= lengthamountValue*stringamountCurrency*string1 <= lengthaccountId?string|nullcategoryId?string|nullcounterparty?|nullusingDateRule?||||Rules for determining the effective/accrual date range of a transaction.
recurrence?|Recurrence configuration of a planned transaction: how often it repeats and when it stops. null for a one-off.
passThroughTaxAmount?string|nulloverrides?Created planned transaction
application/json- response
id*stringuuidcompanyId*stringuuidaccountId*string|nullname*stringThe name of the planned transaction.
startDate*stringThe start date of the planned transaction.
amountValue*stringThe numerical value of the planned amount.
amountCurrency*stringThe currency of the planned amount.
"EUR""AUD""BRL""CAD""CHF""CNY""CZK""DKK""GBP""HKD""HUF""IDR""ILS""INR""ISK""JPY""KRW""MXN""MYR""NOK""NZD""PHP""PLN""RON""SEK""SGD""THB""TRY""USD""ZAR"passThroughTaxAmount*|The pass-through tax amount (e.g., VAT).
categoryId*string|nullcounterparty*|nullusingDateRule*|||Rules for determining the effective/accrual date range of a transaction.
recurrence*|Recurrence configuration (frequency, interval, end condition).
overrides*source*|The source of the planned transaction (e.g., Stripe, HubSpot).
externalId*string|nullexternalSubscriptionId*string|nullexternalInvoiceId*|The invoice id in the source system, for issued invoices.
invoiceDate*|The date an invoice was issued for this amount. Set only when the row represents an invoice that has been issued but not yet paid; null for predicted amounts.
serviceStartDate*|Start of the service period the issued invoice bills for.
serviceEndDate*|End of the service period the issued invoice bills for.
externalData*|nullcreatedTime*|date-timecreatedUserId*string|nulllastUpdatedTime*|date-timelastUpdatedUserId*string|nullcurl -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": 1, "lastDayOfMonth": true, "end": { "type": "date", "date": "2019-08-24" } }, "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…
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…