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:

  1. Name — e.g., “Invoice Approval”
  2. Document type — Invoice, Bill, Voucher, or Purchase Order
  3. Condition — ALWAYS (every document) or AMOUNT_ABOVE with a threshold (e.g., only invoices above ₹1,00,000)
  4. 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

  1. Document is created → approval is triggered if a matching workflow exists
  2. Document status becomes PENDING (locked from editing)
  3. Approver sees it in their Approvals page
  4. Approver clicks Approve → advances to next step (or completes)
  5. 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

  1. Go to Settings → Periods → select the period → “Close Year”
  2. Sally computes a preview: all Income/Expense ledgers with non-zero balances
  3. Shows: total income, total expenses, net profit
  4. Select the target ledger (Profit & Loss A/c or Reserves)
  5. 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
  6. 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