/owner/reports/journal_transactions?report_type=transaction&group_by=account¤cy=-1.rows is flat, one per displayed transaction, grouped by account in the page's order; accounts carries each account's opening, period and closing; totals is keyed by currency. The running balance is net: either a debit or a credit, the other side is 0. Figures are raw numbers; credit subtotals and totals are rounded to 5 places as the page does, the rest to 8.date_from or date_to): the page prints nothing without one.currency=-1) more than 500 accounts, is answered 400 rather than truncated; narrow the rows with a shorter range, journal_cat_id or journal_account_id, and the accounts with journal_cat_id, journal_account_id or display_all_accounts=0. The refusal carries an empty validation_errors ({}).curl --location '/api2/reports/ledger?date_from=2025-01-01&date_to=2025-01-31&journal_cat_id=&journal_account_id=&display_all_accounts=&cost_center_id=&fy_id=&staff_id=¤cy=&journals_branch_id=&accounts_branch=&tags=&tags_match=' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ' \
--header 'apikey: ' \
--header 'Content-Type: application/json'{
"result": "successful",
"code": 200,
"data": {
"report": {
"key": "ledger",
"title": "string",
"currency": "string"
},
"filters": {
"property1": "string",
"property2": "string"
},
"columns": {
"staff": true,
"tags": true,
"cost_center": true,
"custom_fields": [
{
"key": "string",
"label": "string"
}
]
},
"accounts": [
{
"currency": "string",
"account_id": 0,
"code": "string",
"name": "string",
"title": "string",
"opening": {
"debit": 0,
"credit": 0
},
"period": {
"debit": 0,
"credit": 0
},
"closing": {
"debit": 0,
"credit": 0
},
"rows": 0,
"cost_center": {
"debit": 0,
"credit": 0
}
}
],
"rows": [
{
"currency": "string",
"account_id": 0,
"account_code": "string",
"line": 0,
"journal_id": 0,
"journal_number": "string",
"transaction_id": 0,
"date": "2019-08-24",
"description": "string",
"debit": 0,
"credit": 0,
"balance": {
"debit": 0,
"credit": 0
},
"staff_id": 0,
"staff": "string",
"tags": "string",
"cost_center": {
"debit": 0,
"credit": 0,
"allocation": "string"
},
"custom_fields": {
"property1": "string",
"property2": "string"
}
}
],
"totals": {
"property1": {
"debit": 0,
"credit": 0,
"balance": {
"debit": 0,
"credit": 0
},
"cost_center": {
"debit": 0,
"credit": 0
}
},
"property2": {
"debit": 0,
"credit": 0,
"balance": {
"debit": 0,
"credit": 0
},
"cost_center": {
"debit": 0,
"credit": 0
}
}
},
"meta": {
"account_count": 0,
"row_count": 0
}
}
}