Revenue Accounts

Revenue accounts group fee allocations and other revenue entries so you can track balances per income stream (Tuition, Transport, Library, etc.).

Navigation: Finance ▸ Revenue Accounts.

Accounts List

The table contains the following columns:

  • Name – the friendly label shown throughout the app.
  • Code – optional short identifier (e.g., REV-TUI).
  • Description – context for staff.
  • Current Balance – calculated on the fly: fee allocations + other revenue.
  • Status – Active/Inactive toggle button (submits to revenue-accounts.toggle).
  • Actions – Details, Edit (opens modal), Delete (blocked if transactions exist).
  • The “Add Revenue Account” button launches the same modal in create mode.

Create / Edit Fields

Field Description
Name * Required and shown everywhere (e.g., “Tuition Fees”).
Code Optional short code for exports.
Description Optional notes that appear on the index table and detail page.
Fee Types: Assign a revenue account while configuring fee types in Settings ▸ Fee Types so every payment automatically updates the correct balance.

Revenue Account Detail Page

  • Summary Cards: “Total from Fees”, “Total from Other Revenue”, and “Total Balance” (sum of the first two).
  • Account Details: Name, Code, Description, Status, and Current Balance.
  • Fee Types Table: Columns for Name, Default Amount, Frequency, and Status. Lists every fee type linked to this account.
  • Recent Other Revenues: Paginated table with Date, Description, Received From, Amount.
Deletion rules: Accounts with linked fee types or other revenue entries cannot be deleted. Deactivate the account instead if you no longer use it.

How Balances Are Calculated

  1. Fee Payments: When a payment item is saved, the system creates payment_fee_allocations pointing to the invoice’s fee types and their assigned revenue accounts. The amount is proportional to each fee line.
  2. Other Revenue: Every entry requires a revenue account, adding the amount directly to the same balance.
  3. Displayed Balance: The controller sums allocations + other revenue each time the index or detail page is loaded, ensuring the value reflects the latest data.