Cashbooks & Transfers

Cashbooks keep every inflow and outflow grounded in a named account so balances always reconcile with real cash, bank, or mobile money holdings.

Navigation: Finance ▸ Cashbooks for the dashboard, Finance ▸ Cashbooks ▸ Transfers for internal movements, and the Statement button on any cashbook card for ledger views.

Cashbook Dashboard

Cards

  • Each card shows the cashbook name, code (if provided), type badge, current balance, and default/inactive badges.
  • The footer exposes View, Statement, and Edit shortcuts.
  • A “Total Cash Position” card sums current_balance across all active books.

Quick Actions

  • Create Cashbook opens the form described below.
  • Transfers links to the dedicated transfer workspace.
  • Success alerts surface after every create/update, matching controller flashes.

Create / Edit Form

Field Description
Name * Displayed on cards and statements (e.g., “Main Cash”, “Bank Account - ABC”).
Code Optional identifier such as “CB-001”.
Type * Radio buttons for cash, bank, or mobile_money. Selecting “Bank” reveals bank fields.
Bank Name / Account Number Optional fields when Type = bank.
Opening Balance * Initial amount carried into the system. The controller uses this plus transactions to compute the current balance.
Description Free text shown on the card for context (e.g., “Reserved for capital projects”).
Set as Default Single checkbox. When selected, the current default is cleared and new payments default to this cashbook.
Tip: Opening balances should match your real-world totals before you begin entering historical data. All subsequent changes should happen through payments, expenditures, other revenues, or transfers.

Cashbook Detail View

  • A primary KPI card displays the latest Current Balance, book type, and default badge.
  • Statistic cards summarize total payments in, expenditures out, transfers in, and transfers out.
  • The tabbed widget displays the 10 most recent Payments, Expenditures, Other Revenue, Transfers In, Transfers Out with columns that mirror their respective DataTables (Date, Counterparty, Amount, Reference).

Statements

Selecting Statement on any cashbook opens a ledger with:

  • Date range filter (defaults to the current month).
  • Calculated opening balance that includes activity prior to the range.
  • Table columns: Date, Type (Payment/Expenditure/Other Revenue/Transfer In/Transfer Out), Description, Reference, Debit, Credit, Running Balance.
  • Totals for debits and credits plus a closing balance.
Export: Use your browser’s print-to-PDF option to archive the statement once filters are applied.

Cashbook Transfers

The Transfers workspace lets you reallocate funds while keeping both books accurate.

Transfer Form Fields

Field Description
From Cashbook * Dropdown listing balances. Validation prevents transfers from other schools and shows “insufficient balance” if needed.
To Cashbook * Dropdown excluding the “From” value.
Amount * Must be greater than zero and less than or equal to the current balance.
Transfer Date * Defaults to today.
Reference Number Optional bank slip or internal identifier.
Description / Notes Optional context for audit purposes.

Transfer History Table

  • Columns: Date, From, To, Amount, Reference, By.
  • Powered by the cashbooks.transfers.data route (server-side DataTable).
  • Sorting defaults to newest first; use the built-in search box to filter by cashbook or reference.
Permissions: Only authenticated school admins can access cashbooks and related routes. Every transfer records the user in transferred_by and appears in the history table.