Approvals & Period Management
Multi-step approval workflows for documents, financial period lock/close management, year-end closing entries, and automation (depreciation, accruals).
Approval Workflows
Define multi-step approval processes for invoices, bills, vouchers, and purchase orders.
Setting Up a Workflow
Go to Settings → Approvals to create workflows:
- Name — e.g., “Invoice Approval”
- Document type — Invoice, Bill, Voucher, or Purchase Order
- Condition — ALWAYS (every document) or AMOUNT_ABOVE with a threshold (e.g., only invoices above ₹1,00,000)
- Steps — Sequential approval stages, each with an approver type:
- USER — A specific user must approve
- ROLE — Any user with the specified role can approve (e.g., any ADMIN)
How Approval Works
- Document is created → approval is triggered if a matching workflow exists
- Document status becomes PENDING (locked from editing)
- Approver sees it in their Approvals page
- Approver clicks Approve → advances to next step (or completes)
- Approver clicks Reject → immediately rejected, unlocks document for editing
Rules
- Self-approval is blocked — the creator cannot approve their own document
- Rejection at any step immediately rejects the entire request
- Approved documents are locked from editing
- Deleting a document with a pending approval auto-cancels the request
Financial Periods
Manage accounting periods to control when transactions can be entered.
Period Statuses
- OPEN — Transactions can be created/modified within this date range
- LOCKED — No new transactions allowed, but can be reopened by an admin
- CLOSED — Permanently closed (year-end close performed)
Period Lock Enforcement
When a period is LOCKED or CLOSED, any attempt to create or modify a voucher/invoice with a date falling within that period is blocked with a clear error message.
Period Lock Request
Uses a maker-checker flow: one user requests the lock, another approves it. Prevents accidental period closure.
Year-End Close
Closes a financial year by zeroing all Income and Expense ledgers and transferring the net profit to the P&L/Reserves account.
How It Works
- Go to Settings → Periods → select the period → “Close Year”
- Sally computes a preview: all Income/Expense ledgers with non-zero balances
- Shows: total income, total expenses, net profit
- Select the target ledger (Profit & Loss A/c or Reserves)
- Confirm → Sally creates a JOURNAL voucher dated at period end:
- Debits each income ledger (zeroes it)
- Credits each expense ledger (zeroes it)
- Difference goes to the target P&L/Reserves ledger
- Period status becomes CLOSED
Depreciation Automation
Auto-generate depreciation journal entries at period end.
Methods Supported
- SLM (Straight Line Method) — Fixed depreciation amount per period (original cost × rate ÷ periods)
- WDV (Written Down Value) — Percentage of reducing balance each period
Configuration
- Asset ledger (e.g., Plant & Machinery)
- Depreciation ledger (e.g., Depreciation Expense)
- Rate and method (SLM/WDV)
On trigger, creates a JOURNAL voucher: debit Depreciation Expense, credit Asset ledger.
Accrual/Prepaid Amortization
Auto-generate journal entries to spread prepaid expenses or accrue revenues over time.
- Example: Annual insurance of ₹1,20,000 paid upfront → 12 monthly entries of ₹10,000 moving from Prepaid Insurance to Insurance Expense
- Configure: source ledger, target ledger, total amount, start/end date, frequency