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…

Authentication

Checking whether you're signed in…
POST
/companies/{companyId}/planned_transactions

Authorization

headerAuthorization<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.

Path Parameters

companyId*string
Length1 <= length

Request Body

application/json
  1. body
name*string
Length1 <= length
startDate*string
Length1 <= length
amountValue*string
amountCurrency*string
Length1 <= length
accountId?string|null
categoryId?string|null
counterparty?|null
usingDateRule?||||

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|null
overrides?

Response Body

Created planned transaction

application/json
  1. response
id*string
Formatuuid
companyId*string
Formatuuid
accountId*string|null
name*string

The name of the planned transaction.

startDate*string

The start date of the planned transaction.

amountValue*string

The numerical value of the planned amount.

amountCurrency*string

The currency of the planned amount.

Value in"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|null
counterparty*|null
usingDateRule*|||

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|null
externalSubscriptionId*string|null
externalInvoiceId*|

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*|null
createdTime*|
Formatdate-time
createdUserId*string|null
lastUpdatedTime*|
Formatdate-time
lastUpdatedUserId*string|null
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": 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"}