Official Technical Documentation & User Manual
User Manual › Volume 4: Sales, CRM & Accounts Receivable (Money Coming In)
Verified Guide • Updated 16 Oct 2026
User Manual Volume 4: Sales, CRM & Accounts Receivable (Money Coming In) Verified Guide

#14: Customer Statements, AR Aging & Client Self-Service Portal

Updated 20 hours ago 8 min read 2 views
Volume 4 • Article #14 Routes: customer/statement • portal/index • portal/invoices • portal/quotes • portal/statement • portal/warranties

Customer Statements, AR Aging & Client Self-Service Portal

Understand how Running Balance Statements of Account and 30/60/90/120+ Day Age Analysis work in double-entry accounting, and take a complete tour of the white-labeled Client Self-Service Portal where your customers can approve quotes online, download invoices and statements, upload Proofs of Payment (POP), inspect serialized hardware warranties, and log SLA support tickets 24/7.

14.1 Plain-English Accounting: Reading a Statement of Account & Age Analysis

While an Invoice shows a single purchase, a Statement of Account is a chronological passbook of every financial event between your company and a customer over a selected date range, culminating in a single Closing Balance Due and an Age Analysis strip.

1. The Running Balance Formula (Brought Forward → Closing)

Suppose you run a Statement from 01 Oct to 31 Oct. How does Keystone X calculate the first line?

  • Opening Balance (Balance Brought Forward): Keystone X sums every finalized Invoice (`+Debit`), Payment (`-Credit`), and Credit Note (`-Credit`) that occurred prior to 01 Oct. That historical net balance becomes your starting line on 01 Oct.
  • Period Debits (Billed): Every new Tax Invoice issued between 01 Oct and 31 Oct adds (`+`) to the Running Balance.
  • Period Credits (Paid / Credited): Every Payment Receipt (`RCT-`) and applied Credit Note (`CN-`) between 01 Oct and 31 Oct subtracts (`-`) from the Running Balance.
  • Closing Balance Due: Opening Balance + Period Debits − Period Credits.
2. What Do the Age Analysis Buckets Mean?

At the bottom of every Statement is an Age Analysis grid that breaks the customer's unpaid balance into time buckets based on how old each unpaid invoice is:

  • Current (0–30 Days): Recent invoices that are within current trading terms.
  • 30 Days: Invoices 31–60 days old (1 month past current).
  • 60 Days: Invoices 61–90 days old (requires firm collection follow-up).
  • 90 Days / 120 Days / 180+ Days: Severely delinquent debt at high risk of bad-debt write-off; consider placing the account on Credit Hold.

14.2 Back-Office Customer Statement Preview, PDF & Email Dispatch (customer/statement/{id})

Staff can generate a customer statement at any time from the Customer Directory (`customer/index`) or inside the 360° Customer Profile (`customer/profile/{id}`) by clicking Statement (`customer/statement/{id}`).

📸 [SCREENSHOT PLACEHOLDER: backoffice-customer-statement-preview.png]

How to Capture: Navigate to /customer/statement/{id} for an active customer. Capture the Date Range & Action Bar (Refresh, Download PDF, Email), the Statement Details table (showing Opening Balance, Invoices, Payments, and Running Balance), and the 6-bucket Age Analysis bar at the bottom.

  • Start Date (`start_date`) & End Date (`end_date`) Filter: Select any historical period and click Refresh to recompute the Opening Balance Brought Forward and chronological transactions on screen.
  • Download Button: Generates and downloads the official branded Statement of Account PDF (`customer/downloadStatement/{id}`) complete with your company logo, banking details, and aging strip.
  • Email Button: Dispatches the Statement of Account PDF directly to the customer's billing email address in 1 click (`customer/emailStatement/{id}`).

14.3 The Client Self-Service Portal Command Center (portal/index)

When you grant a customer access to the Client Self-Service Portal (or when an administrator clicks Login As Client / Impersonate from `customer/impersonate/{id}`), the client lands on their personalized Client Self-Service Command Center (`portal/index`).

📸 [SCREENSHOT PLACEHOLDER: client-portal-dashboard-overview.png]

How to Capture: Log into the Client Portal (/portal/index) or use Admin Impersonation on a customer with active invoices and quotes. Capture the Welcome header chips, the Action Required banners, the 6 KPI cards, the 12-Month Billing vs. Payments Velocity chart, the Account Aging & Copyable EFT Banking Details card, and the 4-tab workspace at the bottom.

1. Smart Header Chips & Action Required Alert Banners
  • Account Identity Chips: Displays the customer's Account Number (`ACC-0001`), Payment Terms, assigned Account Manager name, and a green Unallocated Credit Wallet pill whenever they have credit on account.
  • Overdue Account Balance Banner (Red): Automatically appears if the client has past-due invoices, showing the exact overdue amount and a 1-click Review & Upload POP button.
  • Commercial Proposals Awaiting Sign-Off Banner (Amber): Automatically appears when the client has open Quotes or Pro-Forma Invoices waiting for online approval (`Review Proposals`).
2. The 6 Client Portal KPI Cards
Portal KPI Card What the Customer Sees & Click Destination
1. Net Balance Due / Account In Credit Shows total unpaid balance across open invoices (or green/blue Account In Credit if their Credit Wallet exceeds their debt). Clicks through to `portal/statement`.
2. Overdue Exposure Total rand value and count of invoices past their due date. Clicks through to `portal/invoices`.
3. Active Proposals Count and total value of open Quotes/Pro-Forma Invoices awaiting sign-off. Clicks through to `portal/quotes`.
4. Settled (YTD) Total verified payments received in the current calendar year. Clicks through to `portal/payments`.
5. Projects & Jobs Count of active Projects and Field Service Job Cards in progress. Clicks through to `portal/projects` or `portal/jobcards`.
6. Support Desk Count of open SLA Helpdesk Tickets. Clicks through to `PortalTicket/index`.
3. 12-Month Billing Chart & 1-Click Copyable EFT Banking Card

Below the KPIs, the portal displays a 12-Month Billing vs. Payments Velocity bar chart alongside an Account Aging & Remittance card. The Remittance box displays your company's official EFT Banking Details (Bank Name, Account Number, Branch Code, and the customer's exact Payment Reference `ACC-XXXX`) with a 1-click Copy button so the client never makes a reference typo when paying via online banking!

14.4 Portal Invoices, Waybill Downloads & Online POP Upload (portal/invoices & viewInvoice)

Clicking View Invoices (`portal/invoices`) opens the customer's dedicated Tax Invoices & Remittance Hub.

  • Instant Status Filter Pills: The customer can filter their table in real time between All Invoices, Open / Unpaid, Overdue, and Paid in Full, or search by Invoice #, PO #, or Project.
  • Direct Tax Invoice & Waybill PDF Downloads: Every row provides direct download buttons for both the Official Tax Invoice PDF (`portal/downloadInvoice/{id}`) and any linked Delivery Note / Waybill PDF (`portal/downloadDeliveryNote/{id}`).
  • Interactive Invoice View & Proof of Payment (POP) Upload (`portal/viewInvoice/{id}`): Opening any unpaid invoice displays the full SARS Tax Invoice breakdown (including allocated Serial Numbers `S/N:`) and a green Upload Proof of Payment button (`#uploadPopModal`). When the client uploads their bank POP (`PDF/JPG/PNG`) and confirms the amount paid and EFT reference, Keystone X automatically logs the payment into your back-office Treasury Clearing Pipeline (`POP Under Review`) and notifies your finance team!

14.5 Online Quote Sign-Off & PO Acceptance (portal/quotes & viewQuote)

When you send a Quote or Pro-Forma Invoice (`QUO-`), your client can review and sign it off online inside Proposals & Quotes (`portal/viewQuote/{id}`):

📸 [SCREENSHOT PLACEHOLDER: client-portal-quote-online-approval.png]

How to Capture: Open a pending quote in the Client Portal at /portal/viewQuote/{id}. Capture the blue Ready for Online Approval & Sign-Off banner with the Decline and Approve & Sign Off buttons and the Proposal document card below it.

  • Approve & Sign Off Modal (`#approveQuoteModal`): Captures the client's Authorized Signatory Name, optional/mandatory Customer Purchase Order (PO) Number, and acceptance notes, stamping the exact date and time (`accepted_at`) and transitioning the quote to `Approved`.
  • Decline Modal (`#declineQuoteModal`): Allows the client to decline a proposal while providing structured feedback (`Decline Reason`) so your sales representative knows whether to revise pricing or scope.

14.6 Portal Statement, Serialized Asset Warranties, Subscriptions & Helpdesk

Beyond Invoices and Quotes, the Client Self-Service Portal empowers your customers with four additional self-service modules:

Portal Self-Service Module Route Key Capabilities for the Customer
1. Interactive Statement of Account portal/statement Includes 1-click period presets (This Month, 3 Months, YTD, All Time), 4 summary KPIs (Opening Balance, Period Invoiced, Payments & Credits, Closing Balance Due), a clickable chronological ledger where every Invoice, Payment, and Credit Note links to its source document, a 5-bucket Age Analysis bar, and a Download Statement PDF button (`portal/downloadStatement`).
2. Serialized Assets & Warranty Register portal/warranties Lists every serialized hardware unit (`S/N`) ever dispatched to the customer, showing the SKU, Purchase Invoice link (`#INV-XXXX`), Dispatch Date, Warranty Expiry Date, live countdown badge (`Active (240d left)`, `Expiring (14d left)`, or `Expired`), and a 1-click Log RMA button (`PortalTicket/index?serial=...`) that opens a support ticket pre-tagged with that exact serial number!
3. Recurring Subscriptions & Contracts portal/subscriptions Displays all active recurring retainers and stock replenishment contracts (`SUB-XXXX`), showing the billing frequency, Cycle Value (Excl. & Incl. VAT), Next Billing Date, subscribed line items, and a direct link to the most recently generated Tax Invoice.
4. Projects, Job Cards & SLA Helpdesk portal/projects
portal/jobcards
PortalTicket/index
Allows clients to track real-time milestone progress percentages on active Projects, inspect Field Service Job Cards and technician fault reports, and log/reply to SLA Helpdesk Support Tickets with file attachments.
Was this technical guide helpful?
Back to top