Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.
- English
- മലയാളം
Bulk update
Host:admin.<ROOT_DOMAIN> · Route: /[tenant]/accountant/bulk-updatePurpose and access
Apply shared changes to selected categories, ledger accounts, or transactions.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
Public Categories, Chart of Accounts, and Transactions tabs each provide search, filters, selection, and target controls. Category changes can alter funds, scope/type, COA mappings, and status; account changes can alter type/parent/fund/status; transactions can move fund/category.Fields and displayed information
Displayed table columns: Public Category Name, Inflow / Outflow, Assigned Fund, Public Scope / Type, Chart of Accounts Mapping, Status, Account Name & Code, Account Type, Parent Account, Document / Ref, Party / Member, Category, Date, Amount.Fields and filters: Bulk update client
Actions
Interaction sequence
Select a tab → filter the records → select rows → choose target changes → execute the bulk update → inspect the result and refreshed data. COA mapping can also request posting pending transactions.States and rules
Category/account/transaction paths are separate operations. Several updates run record by record, so partial progress is possible. The route loads up to 1000 collections/vouchers; the UI is not a full-dataset guarantee.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/bulk-update/page.tsxapps/web/src/app/sites/admin/[tenant]/accountant/bulk-update/bulk-update-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