Accounting reports

Get a cash flow statement

Builds a cash flow statement over a date range, optionally split into one statement per property or per calendar period. Requires the reports:read permission.

GET
https://services.magicdoor.com/accounting/company-portal/reports/cash-flow-statement

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Query parameters

reportTypeenum<string>required

property reports on the properties' books — what the owners' money did. company reports on the management company's own books. An entry belongs to one or the other, never both.

example: propertypropertycompany
groupByenum<string>required

total returns one statement for the whole range. The others split it: one per property, or one per calendar year, quarter or month.

example: monthtotalpropertyyearquartermonth
startDatestring · daterequired

First day of the period, read in the company's timezone.

example: 2026-07-01
endDatestring · daterequired

Last day of the period, read in the company's timezone.

example: 2026-09-30
portfolioIdsstring[]

Only these portfolios.

propertyIdsstring[]

Only these properties.

Response

200 · One statement per group.

titlestring

What this statement covers — the property name, the period label, or a whole-range label when groupBy is total.

operatingRevenueobject

Cash that came in from running the properties.

operatingExpensesobject

Cash that went out running the properties.

operatingDepositsobject

Cash movement on tenant deposits held, which is operating cash but not income.

netCashFromOperationsnumber

The operating sections netted off, as a decimal. Negative when operations consumed cash.

nonOperatingRevenueobject

Cash in from outside normal operations.

nonOperatingExpensesobject

Cash out from outside normal operations.

netNonOperatingIncomenumber

The non-operating sections netted off, as a decimal.

investingActivitiesobject

Cash spent on or recovered from capital items.

netCashFromInvestingnumber

The investing section netted off, as a decimal.

financingActivitiesobject

Cash from owner contributions and out to owner distributions.

netCashFromFinancingnumber

The financing section netted off, as a decimal.

netChangeInCashnumber

All four nets added together — how much the cash position moved over the period.

beginningCashBalancenumber

Cash at the start of the period, as a decimal.

endingCashBalancenumber

Cash at the end. It equals beginningCashBalance plus netChangeInCash.

400 · `reportType`, `groupBy`, `startDate` or `endDate` is missing or not a recognised value.

401 · The access token is missing, expired, or not for this company.

403 · The caller does not hold the `reports:read` permission.

The response is a bare JSON array: one statement per group, or a single-element array when groupBy is total. There is no basis parameter — a cash flow statement is cash by definition.

The report is computed on the fly

Nothing is stored. Every call rebuilds the report from the ledger as it stands right now, so two calls with the same parameters can differ if anything was posted in between. Only manual journal entries that have been posted are included.