Moneybird logo
Moneybird API

Reports provide analytical data about your administration, such as revenue and expense breakdowns by various dimensions like projects, contacts, or time periods.


Assets report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/assets{format}

Get the assets report for the administration.

Required scope(s)

documents

Assets report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Assets report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month

Assets report › Responses

An assets report

​object[]
asset_id
​identifier · pattern: ^\d+$

A unique record identifier

ledger_account_id
​identifier · pattern: ^\d+$

A unique record identifier

name
​string
purchase_date
​string · date
lifespan
​string | null

In seconds

purchase_value
​string
calculated_purchase_value
​string
residual_value
​string
total_value_changes_since_purchase
​string
value_at_begin
​string
investment
​string
depreciation
​string
divestment
​string
value_changes
​string
value_at_end
​string

Balance sheet report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/balance_sheet{format}

Get the balance sheet report for the administration showing the financial position at the end of the specified period.

Required scope(s)

bank

Balance sheet report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Balance sheet report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period can be a date range or one of the presets. Date ranges must consist of whole months (start on 1st, end on last day of month).

Date range formats:

  • YYYYMMDD..YYYYMMDD (e.g., 20250101..20250131)
  • YYYYMM..YYYYMM (e.g., 202501..202501)
  • YYYYMM (e.g., 202501)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month
  • this_quarter - Current quarter
  • prev_quarter - Previous quarter
  • next_quarter - Next quarter
  • this_year - Current year
  • prev_year - Previous year
  • next_year - Next year

Maximum period: 12 months.

Default: this_month

Balance sheet report › Responses

A balance sheet report

​object

Debit side of the balance sheet (assets)

​object

Credit side of the balance sheet (equity and liabilities)


Cash flow report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/cash_flow{format}

Get the cash flow report for the administration showing cash received and cash paid during the specified period.

Required scope(s)

bank

Cash flow report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Cash flow report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
financial_account_id
​identifier · pattern: ^\d+$

Filter the cash flow report by a specific financial account

A unique record identifier

Cash flow report › Responses

A cash flow report

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

opening_balance
​string
closing_balance
​string

Creditors report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/creditors{format}

Returns a creditors report for the specified administration.

Required scope(s)

documents

Creditors report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Creditors report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Creditors report › Responses

Successful response

​creditors_report_item[]

Creditors aging report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/creditors_aging{format}

Returns a creditors aging report for the specified administration.

Required scope(s)

documents

Creditors aging report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Creditors aging report › query Parameters

period_until
​string · pattern: ^\d{6,8}|this_month|…

A period until which a report should be generated.

Date range formats:

  • YYYYMM (e.g., 202501)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • this_quarter - Current quarter
  • prev_quarter - Previous quarter
  • this_year - Current year
  • prev_year - Previous year
Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Creditors aging report › Responses

Successful response

​aging_report_item[]

Debtors report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/debtors{format}

Returns a debtors report for the specified administration.

Required scope(s)

sales_invoices

Debtors report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Debtors report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Debtors report › Responses

Successful response

​debtors_report_item[]

Debtors aging report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/debtors_aging{format}

Returns a debtors aging report for the specified administration.

Required scope(s)

sales_invoices

Debtors aging report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Debtors aging report › query Parameters

period_until
​string · pattern: ^\d{6,8}|this_month|…

A period until which a report should be generated.

Date range formats:

  • YYYYMM (e.g., 202501)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • this_quarter - Current quarter
  • prev_quarter - Previous quarter
  • this_year - Current year
  • prev_year - Previous year
Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Debtors aging report › Responses

Successful response

​aging_report_item[]

Expenses by contact report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/expenses_by_contact{format}

Returns a expenses by contact report for the specified administration.

Required scope(s)

documents

Expenses by contact report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Expenses by contact report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Expenses by contact report › Responses

Successful response

​contact_report_item[]

Expenses by project report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/expenses_by_project{format}

Returns a expenses by project report for the specified administration.

Required scope(s)

documents

Expenses by project report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Expenses by project report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Expenses by project report › Responses

Successful response

​project_report_item[]

Export auditfile

POST
https://moneybird.com/api/v2
/{administration_id}/reports/export/auditfile{format}

Queue the export of an auditfile (XAF XML format) for the specified year. The auditfile will be added to your downloads when ready.

The administration must not have any ledger accounts with missing or duplicate account IDs, and the specified year must contain journal entries.

Required scope(s)

All of: bank, documents, estimates, sales_invoices and settings

Export auditfile › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Export auditfile › Request Body

year
​string · required

The year for which to generate the auditfile

Export auditfile › Responses

No content

No data returned

Export brugstaat

POST
https://moneybird.com/api/v2
/{administration_id}/reports/export/brugstaat{format}

Queue the export of a brugstaat XML file for the specified year. The file will be added to your downloads when ready.

All ledger accounts must have valid RGS taxonomy codes assigned.

Required scope(s)

All of: bank, documents and sales_invoices

Export brugstaat › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Export brugstaat › Request Body

year
​string · required

The year for which to generate the brugstaat

Export brugstaat › Responses

No content

No data returned

Export ledger accounts

POST
https://moneybird.com/api/v2
/{administration_id}/reports/export/ledger_accounts{format}

Queue the export of ledger accounts (grootboekkaarten) to an Excel file for the specified year. This file contains all bookings and can be used for manual audits. The file will be added to your downloads when ready.

The specified year must contain journal entries.

Required scope(s)

documents and sales_invoices

Export ledger accounts › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Export ledger accounts › Request Body

year
​string · required

The year for which to generate the ledger accounts

Export ledger accounts › Responses

No content

No data returned

General ledger report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/general_ledger{format}

Get the general ledger report for the administration showing all ledger accounts with their balances and movements during the specified period.

Required scope(s)

bank

General ledger report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

General ledger report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period can be a date range or one of the presets. Date ranges must consist of whole months (start on 1st, end on last day of month).

Date range formats:

  • YYYYMMDD..YYYYMMDD (e.g., 20250101..20250131)
  • YYYYMM..YYYYMM (e.g., 202501..202501)
  • YYYYMM (e.g., 202501)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month
  • this_quarter - Current quarter
  • prev_quarter - Previous quarter
  • next_quarter - Next quarter
  • this_year - Current year
  • prev_year - Previous year
  • next_year - Next year

Maximum period: 12 months.

Default: this_month

General ledger report › Responses

A general ledger report

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.


Journal entries report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/journal_entries{format}

Get the journal entries report showing all bookings within the specified period. This endpoint allows filtering by various criteria including project, contact, ledger account, and account types.

Requirements:

  • At least one of project_id, contact_id, or ledger_account_id is required
  • When account_type is provided, either contact_id or project_id must also be specified

Example Use Cases:

  • To get a report for revenue by project detail, use account_type parameter with value "revenue" and the required project_id
  • To get a report for revenue by contact detail, use account_type parameter with value "revenue" and the required contact_id
  • To get a report for expenses by project detail, make one request for account_type "expenses" and one for "direct_costs", both with the required project_id
  • To get a report for expenses by contact detail, make one request for account_type "expenses" and one for "direct_costs", both with the required contact_id

Required scope(s)

documents and sales_invoices

Journal entries report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Journal entries report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$
project_id
​string

Filter by project ID, use "null" to filter entries without project

contact_id
​string

Filter by contact ID, use "null" to filter entries without contact

ledger_account_id
​identifier · pattern: ^\d+$

Filter by ledger account ID

A unique record identifier

account_type
​string · enum

Filter by ledger account type

Enum values:
non_current_assets
current_assets
equity
non_current_liabilities
current_liabilities
revenue
direct_costs
expenses

Journal entries report › Responses

A paginated list of journal entries (bookings)

​object[]
id
​string

Unique identifier for the journal entry

administration_id
​identifier · pattern: ^\d+$

ID of the administration this entry belongs to

date
​string · date

Date of the journal entry

document_type
​string

Type of document this entry relates to

document_id
​identifier · pattern: ^\d+$

ID of the related document

ledger_account_id
​identifier · pattern: ^\d+$

ID of the ledger account

project_id
​identifier_nullable · pattern: ^\d+$

ID of the related project, if any

contact_id
​identifier_nullable · pattern: ^\d+$

ID of the related contact, if any

tax_rate_id
​identifier_nullable · pattern: ^\d+$

ID of the applied tax rate, if any

financial_account_id
​identifier_nullable · pattern: ^\d+$

ID of the financial account, if any

amount
​string

Amount of the journal entry in the administration's currency

description
​string

Description of the journal entry


deprecated

Ledger account report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/ledger_accounts/{ledger_account_id}{format}

This endpoint is deprecated and should no longer be used. It has been replaced by the Journal entries report.

Required scope(s)

documents and sales_invoices

Ledger account report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json
ledger_account_id
​identifier · pattern: ^\d+$ · required

The ID of the ledger account to get the report for

A unique record identifier

Ledger account report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Ledger account report › Responses

A paginated list of ledger account bookings (journal entries)

​object[]
id
​string
administration_id
​identifier · pattern: ^\d+$

A unique record identifier

date
​string · date
document_type
​string
document_id
​identifier · pattern: ^\d+$

A unique record identifier

ledger_account_id
​identifier · pattern: ^\d+$

A unique record identifier

project_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

contact_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

tax_rate_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

financial_account_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

amount
​string
description
​string

Profit loss report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/profit_loss{format}

Get the profit loss report for the administration.

Every *_by_ledger_account section contains one item per ledger account with bookings in the period. Nested accounts are flat here: a parent's amount does not include its child accounts, which are listed as items of their own. Adding up all items in a section therefore gives that section's total without double counting.

The sections are not all signed the same way:

SectionSign
revenue_by_ledger_accountcredit minus debit, so revenue is positive
direct_costs_by_ledger_accountdebit minus credit, so costs are positive
expenses_by_ledger_accountdebit minus credit, so costs are positive
other_income_expenses_by_ledger_accountcredit minus debit, so income is positive and expenses are negative

Sections can therefore not be added together as they are, and adding the three cost sections does not produce total_expenses. The description of each total says how that total is composed.

Required scope(s)

documents and sales_invoices

Profit loss report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Profit loss report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period can be a date range or one of the presets. Date ranges must consist of whole months (start on 1st, end on last day of month).

Date range formats:

  • YYYYMMDD..YYYYMMDD (e.g., 20250101..20250131)
  • YYYYMM..YYYYMM (e.g., 202501..202501)
  • YYYYMM (e.g., 202501)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month
  • this_quarter - Current quarter
  • prev_quarter - Previous quarter
  • next_quarter - Next quarter
  • this_year - Current year
  • prev_year - Previous year
  • next_year - Next year

Maximum period: 12 months.

Default: this_month
project_id
​identifier · pattern: ^\d+$

A unique record identifier

Profit loss report › Responses

A profit loss report

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

​ledger_account_data

Data grouped by ledger account. Contains an array of ledger account entries with ledger_account_id and value.

gross_profit
​string

total_revenue minus the total of direct_costs_by_ledger_account

operating_profit
​string

gross_profit minus the total of expenses_by_ledger_account, so excluding other income and expenses

net_profit
​string

total_revenue minus total_expenses

total_expenses
​string

The total of direct_costs_by_ledger_account plus expenses_by_ledger_account minus other_income_expenses_by_ledger_account

total_revenue
​string

The total of revenue_by_ledger_account


Revenue by contact report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/revenue_by_contact{format}

Returns a revenue by contact report for the specified administration.

Required scope(s)

sales_invoices

Revenue by contact report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Revenue by contact report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Revenue by contact report › Responses

Successful response

​contact_report_item[]

Revenue by project report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/revenue_by_project{format}

Returns a revenue by project report for the specified administration.

Required scope(s)

sales_invoices

Revenue by project report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Revenue by project report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month
page
​integer | string
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$

Revenue by project report › Responses

Successful response

​project_report_item[]

Subscriptions report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/subscriptions{format}

Get the subscriptions report for the administration.

Required scope(s)

sales_invoices

Subscriptions report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Subscriptions report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month

Subscriptions report › Responses

A subscriptions report

monthly_recurring_revenue
​string
annual_run_rate
​string
churn_rate
​string
lifetime_value
​string

Tax report

GET
https://moneybird.com/api/v2
/{administration_id}/reports/tax{format}

Get the tax report for the administration.

Required scope(s)

documents and sales_invoices

Tax report › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Tax report › query Parameters

period
​string · pattern: ^\d{6,8}(..\d{6,8})?…

The period, given as a single whole month (start on the 1st, end on the last day of the month) or one of the month presets.

Date range formats:

  • YYYYMM (e.g., 202501)
  • YYYYMM..YYYYMM with the same month on both sides (e.g., 202501..202501)
  • YYYYMMDD..YYYYMMDD spanning exactly one whole month (e.g., 20250101..20250131)

Preset options:

  • this_month - Current month (default if not specified)
  • prev_month - Previous month
  • next_month - Next month

Maximum period: 1 month. Quarter and year presets (such as this_quarter or this_year) are not accepted by this endpoint.

Default: this_month

Tax report › Responses

A tax report

​object[]