SaaSFlow
DevelopersAPIReferenceplanned_transactions

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

You're not signed in. Either sign in at app.saasflow.com and reload (then pick sessionCookie), or paste a SaaSFlow sf_… API key in the bearerAuth field below.
POST
/companies/{companyId}/planned_transactions

Authorization

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.

In: header

Path Parameters

companyId*string
Length1 <= length

Request 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"}