Skip to main content
Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.

Accountant workspace

Host: admin.<ROOT_DOMAIN> · Route: /[tenant]/accountant

Purpose and access

Open the dedicated accounting workspace for ledger and financial reporting work.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.

Screen layout

The workspace presents links to accounting tools and reports, using account, journal, and finance summaries loaded by the route.

Fields and displayed information

This screen has no editable fields or filters in its rendered components.

Actions

Linked navigation

Interaction sequence

Review the summary → choose Manual Journals, Chart of Accounts, or a report → continue in the selected accounting screen.

States and rules

Membership is checked before data loads. Several supporting reads fall back to null or empty lists; unavailable summaries are not evidence that the ledger is empty.

Implementation references

Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.
  • apps/web/src/app/sites/admin/[tenant]/accountant/page.tsx
Data and access helpers: apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/finance.tsRelevant controller permission keys: finance.view, finance.settings.view, finance.settings.update, accounting.accounts.manage, accounting.journal.create, accounting.view, accounting.journal.cancel, accounting.ledger.view, accounting.reports.view, collections.view, collections.create, collections.update, collections.delete, collections.cancel, receipts.view, expenses.view, expenses.create, expenses.update, expenses.approve, payments.create, expenses.cancel, expenses.delete, dues.view, dues.manage, salary.view, salary.create, salary.approve, salary.pay, salary.update, banking.view, banking.manage, taxes.view, taxes.manage, reports.view. Keys are operation-specific; the current guard grants OWNER/ADMIN and its platform-elevation context an operational bypass. A visible control still does not establish authorization.

API behavior references

  • apps/api/src/finance/finance.controller.ts