Financials (Accounting)

Part of the IP4CMS portal. ← All module guides

What it's for β€” Financials is the accounting engine of IP4CMS. It is where you keep a financial account for every member, customer, supplier or location, raise invoices and quotes against them, capture receipts and refunds, and allocate payments to the invoices they settle. On top of that core ledger it adds recurring (automated) billing, account statements, debit-order collections through a payment gateway, hosted payment links, tax types and document numbering. Everything a member is charged or pays flows through this module and feeds their balance, ageing and statements β€” including what they see in the member portal.

Where to find it β€” In the main left-hand menu under Financials. The section opens at Financials β†’ Transactions (/app/financials/transactions). Other areas live at /app/financials/accounts, /app/financials/statement-runs, /app/financials/billing-executions, /app/financials/usage-billing, /app/financials/disbursements, /app/financials/payment-links and /app/financials/collections (Authorizations and Settlements). Tax types and numbering are configured under Settings.

Before you start

Money is in cents. Throughout Financials, amounts are stored as whole cents (so R100.50 is held as 10050). The portal always shows and accepts amounts in the normal major-unit form (e.g. 100.50) and converts for you β€” but it explains why a balance must always reconcile exactly.

Key tasks

Manage financial accounts and the ledger

A financial account is the running ledger for one entity. Every account is tied to exactly one thing β€” a member, customer, supplier, location or organization (the system calls this its entity type). The account carries a balance, an ageing breakdown of what's overdue, and all of that entity's transactions.

  1. Go to Financials β†’ Accounts (/app/financials/accounts). Needs financials:accounts:read.
  2. Search by account code or name, and filter by Entity Type (Member, Customer, Supplier, Location, Organization) and Status (Active, Suspended, Closed).
  3. The list shows Account Code, Account Holder, Type, Balance (shown red when the holder owes you, green when they're in credit), Currency, Status and Created. Use Activate on a suspended account to bring it back.
  4. Click Create Account to open a new account (needs financials:accounts:create):
  1. Click an account to open its detail, which has three tabs:

The detail header shows the current balance, entity type, currency, code, name and dates. Use View Entity to jump to the underlying member/customer/etc., or Update Status to set Active or Closed.

Raise an invoice (or quote)

Invoices are how you charge an account; quotes are non-binding proposals that never touch the balance until converted.

  1. Go to Financials β†’ Transactions and click New (or New Transaction). Needs financials:transactions:create.
  2. Pick the Account to bill using the account lookup (it shows the entity type β€” Member, Customer, etc.).
  3. Set Transaction type to Invoice (or Quote). The form switches to line-item entry and shows VAT/discount fields automatically.
  4. Fill the header: Currency, Reference number (your own free-text reference), Document number (usually left blank β€” it's assigned automatically on approval), Description, Notes and Due date.
  5. Add line items. For each line set:
  1. Optionally apply a transaction-level discount and review the running Subtotal, Discount, VAT/Tax and Total.
  2. Save. The transaction is created as a Draft.
  3. To make it count, open it and click Approve (see Approve and post a transaction).

Capture a receipt or refund

  1. Financials β†’ Transactions β†’ New, choose the Account, and set Transaction type to Receipt (money received) or Refund (money paid back).
  2. Receipts and refunds use a single total amount rather than line items, and have no VAT field.
  3. While capturing, the allocations panel lists the account's outstanding invoices so you can apply the payment immediately (see Allocate a payment to invoices). You can also leave it unallocated and match it later.
  4. Save (creates a Draft), then Approve to post it.

Allocate a payment to invoices

Allocation is how a receipt, refund or credit note is matched against the specific invoices it settles.

  1. Open an approved receipt / refund / credit note and click Create Allocation (or use the allocations panel while capturing). Needs financials:transactions:allocate.
  2. The panel lists the account's outstanding invoices with their Total and Amount Due.
  3. Tick the invoices to settle. Each ticked line pre-fills the amount to allocate (the smaller of the invoice's amount due and the credit still available); adjust if needed β€” you can't allocate more than an invoice's amount due.
  4. Watch Total Allocated vs Remaining; you'll be warned if you over-allocate.
  5. Save the allocations.

Approve and post a transaction

New transactions start as drafts and have no effect until approved. The status path is Draft β†’ (Pending) β†’ Approved, or Void.

  1. Open the transaction (or select several in the list).
  2. Click Approve and confirm. Needs financials:transactions:approve. To approve many at once, select rows in the list and use bulk Approve.
  3. On approval the system: assigns the document number from your numbering config, stamps approved at / by, posts the amount to the account's ledger (invoices increase what's owed, receipts reduce it), sets the starting amount due / unallocated figures, validates any allocations, and recalculates the balance and ageing.
  4. To reverse an approved transaction, click Void and confirm (needs financials:transactions:void). The balance and ageing are recomputed without it; the record is retained for audit.

Set up billing cycles and run recurring billing

Automated billing turns recurring charges on accounts into invoices on a schedule. (Needs the financials:automated_billing sub-module.)

  1. A billing cycle defines the cadence β€” its interval (monthly, quarterly, semi-annual, annual, weekly, daily), every N of that interval, the day it runs (first/last of month or a specific day), and whether it bills in advance or arrears. Accounts have recurring account items attached to a cycle; those become the invoice lines.
  2. Go to Financials β†’ Billing Executions (/app/financials/billing-executions) to see every run. The list shows Date, Cycle, Status, Items, Accounts (processed/total), Invoices generated and Duration. It auto-refreshes while a run is Processing.
  3. To run a cycle now, click Execute Billing (needs financials:automated_billing:execute). In the Execute Billing Cycle dialog:
  1. Open any run to see its summary stats, timeline (started/completed/duration/jobs) and a per-account items table with each account's status, amount and a View Invoice link. If a run is Partial or Failed, use Retry Failed Items (needs financials:automated_billing:retry).

Generate statements and statement runs

A statement is a per-account summary of activity and closing balance for a period. You can generate one on demand, or schedule them with a statement run.

  1. On demand: open an account's Statements tab, pick a From and To date, optionally tick Override existing (to regenerate a period you already produced), and click Generate statement. Each row shows the Period, Closing balance, Source (manual/automatic) and a Download PDF button.
  2. Scheduled: go to Financials β†’ Statement Runs (/app/financials/statement-runs) and create a run:
  1. The runs list shows the schedule, next run and status, with Set default, Disable/Enable, Delete, and a Runs drill-down showing each execution (scheduled date, status, accounts total, statements generated, failed).
  2. Attach or detach a run on a specific account from the account's statement-runs panel.

Set up payment channels and run collections

Collections handle recurring debit orders / mandates through a payment gateway, plus reconciling the money the gateway pays out. (Needs financials:collections; the gateway itself is configured as a payment channel under financials:payment_channels.)

  1. Create an authorization (mandate). Go to Financials β†’ Collections β†’ Authorizations (/app/financials/collections/authorizations) and click Create New Authorization. Needs financials:collections:authorizations:create. Set:
  1. Submit and manage it. New authorizations start as Draft. From the list or detail use Sync to Gateway to submit a draft, then manage the live mandate with the dynamic action panel β€” typically Suspend, Resume, Amend, Cancel and instalment actions. Statuses run Draft β†’ Pending Auth β†’ Active, with Suspended, Cancelled, Expired and Completed.
  2. Reconcile settlements. Go to Financials β†’ Collections β†’ Settlements (/app/financials/collections/settlements). A settlement report is a batch of payouts the gateway has made to you. Use Auto-Fetch Settlement Reports or the Fetch Settlement Report dialog (choose channel + date) to pull a report, then Auto-Match Settlements to reconcile automatically. Open a report to see its transactions and their reconciliation status (Pending, Matched, Unmatched, Disputed), and use Manual Reconcile (link to a Payment Link / Authorization / Invoice) or Dispute on any line.

Create a payment link

A payment link is a shareable URL (with a QR code) a member or customer clicks to pay. (Needs financials:collections:payment_links:create.)

  1. Go to Financials β†’ Payment Links (/app/financials/payment-links), or open a debit transaction's detail and use its Payment Link action to bill that specific document.
  2. Choose Automatic (Gateway) to have the gateway host the page, or Manual URL to supply your own link.
  3. Fill: Payment Channel (gateways that support immediate payment), Amount, Currency, Description (≀ 500), Reference (≀ 100, or click Generate), optional Account to link, optional Payer email/name/phone, Expires At (defaults to 30 days), optional Success/Cancel URLs, and Allow Multiple Payments with a Max Payments cap.
  4. Save to generate the link. From the list you can Copy Link, Download QR Code, Share via Email, Send via SMS/WhatsApp, or Cancel an active link. Statuses are Active, Completed, Expired and Cancelled, with a Times Used counter.

Configure tax types

Tax types define the VAT/GST rates the line-item calculations use. (Configured under Settings; needs financials:transactions:manage_settings.)

  1. Create a tax type with a Code (e.g. VAT, GST), Name, Percentage (e.g. 15.00 for 15%), and Currency.
  2. Mark one as Default β€” it's auto-selected on new transaction lines. Toggle Active to retire a rate without deleting it.

Configure document numbering

Numbering controls the auto-generated document numbers assigned when a transaction is approved. (Needs financials:transactions:manage_settings.)

  1. Configure a sequence per transaction type (receipt, invoice, credit note, quote, etc.) within the financials module.
  2. Set the prefix (e.g. INV-), optional date component (e.g. YYYYMM), leading zeros (padding, e.g. 4 β†’ 0001), starting number, and reset frequency (never / yearly / monthly / daily).

How the data connects

Permissions & access

Tips & gotchas