Accounting reports

Get a balance sheet

Builds a balance sheet as of a date: what is owned, what is owed, and what is left over. Requires the reports:read permission.

GET
https://services.magicdoor.com/accounting/company-portal/reports/balance-sheet

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

basisenum<string>required

cash counts money when it moves; accrual counts it when it is earned or owed. The two give different numbers from the same data.

example: accrualcashaccrual
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
portfolioIdsstring[]

Only these portfolios.

propertyIdsstring[]

Only these properties.

asOfDatestring · date

The date to draw the line at, read in the company's timezone. Everything posted on or before it is included.

Response

200 · The balance sheet, three sections of account trees.

assetsobject

What the books own: cash, receivables, and anything else in the 1xxxxx band.

liabilitiesobject

What the books owe: payables, security deposits held, and anything else in the 2xxxxx band.

equityobject

What is left after liabilities: owner contributions and distributions, and anything else in the 3xxxxx band.

400 · `basis` or `reportType` is missing or not a recognised value, or an id is not a Snowflake.

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

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

Assets equal liabilities plus equity — the totals of the three sections are the two sides of that identity.

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.