tax.reports.download
Download those reports for { period, format (xlsx default, or pdf) } and either report (everything, financial_statements, trial_balance, balance_sheet, income_statement, general_ledger, gst_hst, stripe, contractors) or reports, a list of the ones a person picked (balance_sheet, income_statement, trial_balance, general_ledger, gst_hst, stripe, contractors), which come as one file. The period can be any fiscal year from tax.reports.overview or any dates up to a year apart. Excel workbooks have one sheet per report with formulas for the totals; everything is the whole workbook. Returns a short-lived download. Each request builds a fresh file and is audited.
/api/v1/accounting/tax.reports.downloadPermissions
Who can call it
Retries
MCP
accounting_tax_reports_downloadFields
periodobjectRequiredThe period to cover.
No other fields
reportenumeverythingfinancial_statementstrial_balancebalance_sheetincome_statementgeneral_ledgergst_hststripecontractorsreportsarray of enum valuesbalance_sheetincome_statementtrial_balancegeneral_ledgergst_hststripecontractors1–7 items
formatenumxlsxpdfDefault "xlsx"
Example
curl https://app.getoatmilk.com/api/v1/accounting/tax.reports.download \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"period": {
"from": "2026-09-01",
"to": "2026-09-30",
"kind": "corporate"
},
"report": "everything"
}'{
"data": { … }
}Try it
Try it
Checks your input with this action’s real schema and answers like the API, with synthetic data. No key needed, and nothing changes.
curl https://app.getoatmilk.com/api/v1/accounting/tax.reports.download \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"period": {
"from": "2026-09-01",
"to": "2026-09-30",
"kind": "corporate"
},
"report": "everything"
}'More in Reports and tax.