Last updated 2026-04-26

AR / AP dashboard

/finance/ar-ap is the live receivables + payables view. Both per-entity and consolidated, with aging buckets (current, 30, 60, 90+ days).

What "AR" pulls from

Accounts Receivable = open sales whose payments don't yet cover the invoice.

  • Source: rows in the sale table with status = 'open' (or NULL).
  • Outstanding: sale.amount_usd − SUM(sale_payment.amount_usd).
  • Aging anchor: sale.signed_date. If you want due-date aging instead, log a payment terms field on the sale and we can switch.
  • Per-entity: each sale carries entity_id, set when you create the sale.

This is canonical AR — the data is structured and you control it directly via Sales.

What "AP" pulls from

Accounts Payable = vendor bills the AI mailbox scanner has extracted and you've approved.

  • Source: rows in finance_email with status = 'approved' and extracted_json.doc_type ∈ ('vendor_bill', 'expense_receipt', 'payroll').
  • Aging anchor: the document date the AI extracted (falls back to email received date).
  • Currency: amounts in the original currency are converted to USD at the document month's FX rate (see Entities & FX).
  • Per-entity: each bill is tagged to an entity at approval time in the Inbox.

Limitation in V1: there's no per-bill paid flag. So AP totals represent recognized bills inventory (bills you've acknowledged owe), not strictly outstanding payables. Once you mark a bill paid (future feature) it'll drop off this view. For now, treat the figure as a ceiling — actual outstanding will be lower.

Per-entity vs consolidated

  • All (consolidated): sum of every entity's open AR + recognized AP. Shown by default.
  • Pick an entity: click an entity tab to scope both numbers + the detail tables.

When viewing consolidated, a "By entity" table breaks out totals + the ≥60d figure per entity, so you can spot which subsidiary has the worst aging.

Aging buckets

Bucket Days old Color
Current 0–30 neutral
30–60 30–60 neutral
60–90 60–90 warn (amber)
90+ 90 or more danger (red) — chase these

The detail tables tint rows with the same colors so overdue items stand out at a glance.

Permissions

Admin or has_finance_access flag holders only. See Roles.

What's not in V1

  • Per-bill paid flag (so AP shows true outstanding)
  • Customer statements / dunning emails for overdue AR
  • AP payment scheduling
  • AR / AP delta charts (trend over time)
  • Pull AR straight from QuickBooks invoices (currently only via sale records)

See something wrong or outdated in this article? Report it →