Accounting Module · Reference Guide

Cash Flow Management - Complete Guide for Admin and Staff

How cash flow - from Money In and Money Out to Reconciliation and Close Day - is managed branch-wise and institute-wide, as an Admin and as a Staff member.

Three core concepts

Get these three straight before anything else makes sense.

  • Branch - every transaction (income, expense, deposit, transfer) belongs to a specific branch. Only Admin can select Institute-wide to see every branch at once; writing an entry (Record Income, etc.) always requires a specific branch to be selected first.
  • Wallet - every branch has four wallets: Branch Cash (cash on hand), Bank (the bank account), Cash in Transit (cash sent to the bank but not yet confirmed), and Transfer Clearing (cash mid-transfer between branches). There is also a Staff Cash wallet for cash handed directly to an employee.
  • Business Date - every branch (and the institute as a whole) tracks its own "today" separately. Close Day advances that branch's business date to the next day.

Admin vs Staff - at a glance

Both use the exact same Accounting screen - what differs is how much of it they can see and write to.

Admin - institute level

  • Every branch, plus Institute-wide, automatically - no separate grant needed.
  • Money In/Out, Bank Deposits, Move Money, Reconciliation, Close Day - everywhere, no limits.
  • The Capital tab (Owner Contribution/Withdrawal) is Admin-only.
  • Close Institute-Wide is Admin-only (see below).
  • Can approve an expense they created themselves.

Staff - branch level

  • Seeing the Accounting tab at all requires Panel Access (Accounting).
  • Can only act inside branches they've been given Branch Access to - Institute-wide never appears.
  • Every individual action (recording income, approving an expense, ...) needs its own Finance Permission grant - see "Granting Finance Permission" below.
  • Close Institute-Wide never appears.

Admin - institute-level control

Logged in as Admin, the branch selector at the top of the Accounting workspace shows an `Institute-wide` option.

  • Overview, Trial Balance, Profit & Loss, Balance Sheet, Cash Flow, Reports - all show every branch combined.
  • Money In, Money Out, Bank Deposits, Accounts, Reconciliation - writing here still requires picking a specific branch first ("Please select a specific branch first").
  • Only the Close Day tab shows something extra while Institute-wide is selected - the Institute Consolidated Close panel (see below).

In practice: do day-to-day work (Money In/Out, Reconciliation) with a specific branch selected, e.g. Head Office. Use the Institute-wide view mainly for reports and for confirming the overall picture at month end.

What Admin does in each tab

TabWhat Admin can do (institute-wide)
Money InRecord income in any branch - category, wallet, amount.
Money OutCreate an expense, Approve/Reject it, and Pay an approved one - anywhere.
AccountsView a branch's wallet balances (Cash/Bank/Transit).
Bank DepositsRecord cash sent to the bank (Record Deposit) and confirm it landed (Confirm Bank Credit).
Move MoneyMove cash between two branches - New Transfer → Approve → Dispatch → Confirm Received, all by the same Admin if needed.
CapitalOwner investing money in, or withdrawing from, the business (Owner Contribution / Owner Withdrawal) - never touches Profit & Loss. Admin only.
ReconciliationEnd-of-day cash count for a branch - Prepare → Count → Approve.
Close DayClose a single branch for the day, and close the whole institute for the day.
Check BankImport a bank statement and match it against the ledger.
Finance SettingsFee Rules, Income/Expense Categories, Accounting Periods - Admin only.

Institute-Wide Close - one important warning

The second panel inside `Close Day`'s `Institute-wide` view, visible only to Admin.

Everything below has to be true before Close Institute-Wide becomes clickable:

  • Every branch in the institute has already closed the day (Branches closed: X/X)
  • Unposted transactions: 0
  • Unmatched transfers: 0
  • Open reconciliation exceptions: 0

Important: closing institute-wide cannot be undone - unlike a branch close, there is no "Reopen" for this. It permanently advances the institute's business date to the next day. Only do this once every branch is genuinely reconciled and closed correctly.

How Staff access is built

What a Staff member sees and can do in Accounting comes from three independent layers.

  1. 1

    1. Panel Access - makes the tab visible at all

    Staff Manager → pick the employee → Panel Access tab - check the Accounting panel. Without this, Staff doesn't even see an Accounting tab.

  2. 2

    2. Branch Access - which branch they can work in

    Staff Manager → pick the employee → Branch Access tab - choose which branch(es) to grant. Only those branches appear in their branch selector.

  3. 3

    3. Finance Permission - permission for the specific action

    Even with Panel + Branch, each individual action - Record Income, Approve (an expense), Close Business Day - needs its own specific permission grant, optionally capped by a maximum amount. See "Granting Finance Permission" below.

What Staff sees and can do

With all three layers in place, a Staff member can do the following in their assigned branch (the exact same UI as Admin):

  • Money In / Money Out - record income/expenses, and approve expenses if they hold that permission.
  • Bank Deposits / Move Money - request deposits/transfers, dispatch, confirm.
  • Reconciliation / Close Day - do their branch's daily cash reconciliation and close the day.
  • The Capital tab and Close Institute-Wide never appear - Admin-only, always.
  • View-only areas (Payments to Review, Student Fees, Bank Deposits, Check Bank, Reports, Finance Settings) each need their own matching Panel Access grant on top of the base Accounting panel.

Granting Finance Permission - the Finance Permissions tab

Each specific finance action - Record Income, Approve Expense, Close Business Day, and every other code in the reference table below - is granted from Staff Manager → pick the employee → the Finance Permissions tab (the third tab, alongside Panel Access and Branch Access).

  • Pick the permission from the full catalog - the same codes listed in the reference table below.
  • Optionally scope it to one branch. Leave the branch field on Institute-wide to grant it across every branch that Staff member can already reach via Branch Access.
  • Optionally cap it with a Max amount - e.g. an EXPENSE_APPROVE grant capped at 50,000 is rejected by the server for anything higher, no matter what the form allows.
  • Revoke removes the grant immediately - there is no separate expiry step for a manual revoke.

A Staff member who has the Accounting panel and the right Branch Access but is still missing the specific grant here gets a server-side "Missing finance permission" error the moment they try the action - that's exactly what this tab is for.

A full day's journey - inside one branch

What Admin, or a Staff member with the right grants, does across a day for a single branch.

  1. 1

    Through the day - recording transactions

    Money In (income), Money Out (expenses - Create → Approve → Pay), and as needed Bank Deposits (sending cash to the bank) and Move Money (moving cash to/from another branch).

  2. 2

    Confirming a bank deposit

    A deposit sits as DISPATCHED right after Record Deposit (cash is in the Cash in Transit wallet). Once the bank statement shows it credited, click Confirm Bank Credit.

  3. 3

    End of day - Reconciliation

    Open the Reconciliation tab and click Prepare Today's Reconciliation - the system works out how much cash should be on hand (Expected Closing Cash).

  4. 4

    Physically counting the cash

    Count the cash on hand for real, enter it under Actual Counted Cash, and click Record Count.

  5. 5

    Approve Reconciliation

    If the count matches, click Approve Reconciliation. If it doesn't, Approve With Difference Adjustment - the difference posts to the ledger.

  6. 6

    Close Day (branch)

    Once the Close Day checklist is all green (Reconciliation approved ✓, Staff cash reconciled ✓, No blocking issues ✓), click Close Business Day - this branch's business date moves to the next day.

  7. 7

    (Admin only) Institute-Wide Close

    Once every branch has closed, Admin can Close Institute-Wide - the whole institute's business date advances. Cannot be undone.

Reconciliation - what counts as a blocking issue?

The system checks these automatically before Approve is allowed - any unresolved blocking item disables the button.

CheckTypeFix
Unconfirmed cash receiptsBlockingVerify them under Payments to Review
A bank deposit still in transitBlockingBank DepositsConfirm Bank Credit
An internal transfer not yet completeBlockingFinish it via Move Money → Approve/Dispatch/Receive
An unresolved staff cash handoverBlockingComplete the handover
An expense still awaiting approvalWarning onlyCan be approved, but not required
A bank-transfer payment awaiting reviewWarning onlyDoesn't touch cash, so not required

Close Day (branch) - can it be reopened?

Yes - a branch-level Close Day done by mistake can be undone (this does not apply to Institute-Wide Close).

  • Anyone holding the DAY_REOPEN permission can reopen a closed branch day, with a reason.
  • Reopening automatically invalidates that day's Reconciliation approval too, moving it to REOPENED - it needs to be approved again before closing once more.

Permission code reference table

Admin always has every one of these, on every branch, automatically. Staff needs each code granted individually via the `Finance Permissions` tab in `Staff Manager` (see above), optionally scoped to specific branches or capped by amount.

CodeUnlocksTabBranch scope
INCOME_CREATERecord IncomeMoney InPer-branch
EXPENSE_CREATENew Expense, Pay ExpenseMoney OutPer-branch
EXPENSE_APPROVEApprove / Reject ExpenseMoney OutPer-branch
BANK_DEPOSIT_CREATERecord DepositBank DepositsPer-branch
BANK_DEPOSIT_CONFIRMConfirm Bank CreditBank DepositsPer-branch
TRANSFER_CREATENew Transfer, DispatchMove MoneySource branch
TRANSFER_APPROVEApprove TransferMove MoneySource branch
TRANSFER_RECEIVEConfirm ReceivedMove MoneyDestination branch
RECONCILIATION_PREPAREPrepare, Record CountReconciliationPer-branch
RECONCILIATION_APPROVEApprove ReconciliationReconciliationPer-branch
DAY_CLOSEClose Business DayClose DayPer-branch
DAY_REOPENReopen (branch close)Close DayPer-branch
BANK_RECONCILEImport/Match/Approve statementCheck BankPer-branch
BANK_ACCOUNT_MANAGEAdd/Edit bank accountAccountsPer-branch
REFUND_CREATE / REFUND_APPROVERequest / approve a refundPaymentsPer-branch
MANUAL_JOURNALNew Manual Journal EntryJournalInstitute-wide
FEE_SETTINGS_MANAGEFee Rules, Cancel InvoiceFinance SettingsInstitute-wide
FINANCE_REPORT_VIEW / JOURNAL_VIEWView reports (read-only)Reports / JournalPer-branch

Important warnings - in short

Institute-Wide Close cannot be undone. Branch Close has a Reopen; the institute-level close does not.

If a Staff member is missing a Finance Permission, they'll see a "Missing finance permission" error even with the right Panel and Branch Access - check the Finance Permissions tab in Staff Manager for the branch scope and max amount on that grant.

The Capital tab and Institute-Wide Close never appear for Staff - they're designed to be Admin-only.

A reference guide written after a full pass through the Accounting module (Money In/Out, Reconciliation, Close Day) and fixing the bugs found along the way.