SolariumSolariumDocs
Browse The Docs

Docs/API Reference/Reports

POST

Receivables & Payables (Aged)

Who owes what as of a date: customers who owe you (side "receivable", A/R accounts) or vendors you owe (side "payable", A/P accounts), grouped by the customer/vendor on each posted line. Aging is first-in, first-out: payments clear the oldest charges first and what remains is aged by its own date into 0–30, 31–60, 61–90 and over 90 days. A contact who has overpaid shows a negative balance in current. Lines with no contact are grouped under key "none". The grand total equals the accounts' balance-sheet balance. To list one row's entries, call accountLines with the returned accountIds, endDate = asOf and contact set to the row's key.

Parameters

organizationIdUUID!required

Organization ID

sideString!required

"receivable" or "payable"

asOfDate!required

Balances as of this date (YYYY-MM-DD)

Request
query {
  openBalances(organizationId: "a1b2c3d4-...", side: "receivable", asOf: "2026-04-15") {
    currency
    rows { key name current days31To60 days61To90 over90 total oldest }
    totals { current days31To60 days61To90 over90 total }
    accountIds
  }
}
Response
{
  "data": {
    "openBalances": {
      "currency": "CAD",
      "rows": [
        { "key": "7f3e...", "name": "Buduchnist", "current": "0", "days31To60": "0", "days61To90": "0", "over90": "200.00", "total": "200.00", "oldest": "2026-01-10" },
        { "key": "91ab...", "name": "HMECU", "current": "0", "days31To60": "30.00", "days61To90": "0", "over90": "0", "total": "30.00", "oldest": "2026-03-01" }
      ],
      "totals": { "current": "0", "days31To60": "30.00", "days61To90": "0", "over90": "200.00", "total": "230.00" },
      "accountIds": ["..."]
    }
  }
}