Lesson 5 of 5
Testing cash reporting
6 min
Cash reporting is tested by comparing it with external truth on a fixed date. For the cash position, the truth is the bank: statement balances and what actually moved. For the forecast, it is the open items and planned flows that should be in it. The goal is not a perfect forecast, which is impossible, but a cash view whose every number can be explained.
Pick a test date and freeze the inputs
Choose a test date in QAS client 100, for example a Tuesday after a payment run. Make sure the inputs for that date are complete: statements imported for every account, the payment run posted, incoming payments cleared, and memo records entered. Record the set of inputs, because the test is a reconciliation of outputs against those inputs.
- Freeze inputsStatements for every account; payment run posted; receipts cleared; memo records listed
- Run the viewsCash position by bank account and currency; forecast by week and source
- Compare actualsOpening balances = statement balances, per account
- Compare expected flowsPayables and receivables in the forecast = open items by due date
- Explain differencesEach difference has a cause: timing, data, classification or defect
- Record and sign offDifference log with causes and owners
The comparisons
| Check | Compare | Expected |
|---|---|---|
| Opening balance | Cash position per account vs statement closing balance of the prior day | Equal for every account |
| Outgoing payments in transit | Cash position outflows vs open items on outgoing clearing accounts | Equal |
| Payables forecast | Forecast outflows by week vs open supplier items by net due date | Equal, excluding items designed to be excluded, such as blocked items |
| Receivables forecast | Forecast inflows by week vs open customer items by net due date | Equal |
| Memo records | Forecast planned flows vs list of active memo records | Equal; no expired records |
| Currency | Totals per currency vs per-account currencies | No account in the wrong currency |
| Classification | Flow types or liquidity items of sample flows | As designed |
Cash reporting test checks.
- Does the opening balance differ from the statement?Yes → missing or duplicate statement, or wrong account mapping · No → continue
- Does a forecast week differ from the open items?Yes → flow builder not run, items excluded, or wrong due dates · No → continue
- Does a flow appear under the wrong category?Yes → flow type or liquidity item derivation defect · No → continue
- Is the difference explained by timing only?Yes → record it as explained · No → log a defect
Recording differences
Keep a difference log for each test date: the check, the amount, the cause, whether it is a defect or explained, and the owner. Typical explained differences are a receipt posted after the statement cut-off, or blocked invoices excluded by design. Typical defects are a bank account missing from the cash position because its connectivity was not set, a currency shown wrongly, or flows classified under the wrong liquidity item.
After go-live, keep two or three of these comparisons as a regression pack. Any change to bank accounts, payment terms, flow builder settings or liquidity item derivation can shift the cash view, and a quick fixed-date comparison catches it before treasury acts on a wrong number.
What would you do?
On the test date, the cash position shows 14 bank accounts; the bank account list shows 15. The missing account is the new Chicago receipts account. What should Priya do?
- Test cash reporting on fixed dates with frozen, complete inputs.
- Opening balances must equal statements; in-transit flows must equal clearing items.
- Forecast flows must equal open items by due date, with designed exclusions listed.
- Keep a difference log with cause and owner; sign off when every difference is explained.
Check your understanding · not graded
Lesson check
1. Why test cash position against bank statements?
2. What should outgoing payments in transit equal?
3. A bank account is missing from the cash position. What is a likely cause?
4. What does each entry in the difference log need?