Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.
- English
- മലയാളം
Financial years
Host:admin.<ROOT_DOMAIN> · Route: /[tenant]/accountant/financial-yearPurpose and access
Manage accounting periods and their current/open/closed status.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 table provides Add Financial Year, Set Current, Close FY, and Reopen. The creation dialog asks for name, start date, and end date.Fields and displayed information
Displayed table columns: Year Title, Start Date, End Date, Status, Active, Actions.Fields and filters: Financial year client
Actions
Interaction sequence
Add Financial Year → fill all three fields → submit → refresh. Use Set Current, Close FY, or Reopen on a saved year to call the corresponding backend action.States and rules
The client checks that required values exist and sends dates as ISO values. Backend validation governs invalid or overlapping periods; the UI does not establish that every close action succeeds.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/financial-year/page.tsxapps/web/src/app/sites/admin/[tenant]/accountant/financial-year/financial-year-client.tsx
apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/finance.ts, apps/web/src/lib/api-client.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