---
module: recon.cash-reconciliation
title: Cash Reconciliation
tab: Testing
order: 35
audience: dev
---

Frontend test checklist for **Cash Reconciliation** — the fleet grid "ATM Cash Positions" (`recon.bcos.dev`). Click through in the UI and mark each row Pass or Fail.

## Set up
Log in at **recon.bcos.dev** — test accounts (all password `Passw0rd-d3v!`):

| Login | Role | Sees |
|-------|------|------|
| `bcos_a@bcos.dev` | Admin | All institutions (incl. un-enrolled ATMs) |
| `msp_a@msp1.bcos.dev` | MSP admin | C1 + C2 only |
| `customer_a@customer1.bcos.dev` | Customer | C1 only · read-only |

Test devices are the simulators: **C1-ATM-001…**, **C1-TCR-001…** (and C2-/C3- for the other institutions).

## What to test

| # | Do this | ✅ Pass if |
|---|---------|-----------|
| 1 | As `msp_a`, open Cash Reconciliation | The **ATM Cash Positions** grid loads with columns **ATM ID · Last Replenishment · Projected Balance · Last Known Balance · Cycle Status · Variance · Last Sync** |
| 2 | Click **»** to expand the **Filters** panel, then type a C1 ATM ID in **Search** | The list narrows to matching ATMs and the counter (e.g. **1 / 12**) updates |
| 3 | Clear search, set **Status** = Balanced | Only rows with a green **Balanced** badge remain |
| 4 | Set **Journal Format** = Recycler (Format B) | Only recycler ATMs remain; switching back to **All Formats** restores the list |
| 5 | Click the **Variance** column header | Rows re-sort by variance; non-zero variances show in **red**, and clicking again flips the sort order |
| 6 | Click any ATM row (or **View →**) | That machine's reconciliation detail opens |
| 7 | Change the page-size control (10 / 25 / 50 / 100) and page through | Row count per page changes and the pager moves without error |
| 8 | With a filter active, click **✕ Clear all** | Every filter resets and the full in-scope list returns |
| 9 | Log in as `customer_a` and look at the grid | You see **only C1** ATMs — no C2 or C3 — and there are **no Add / Edit / Record-replenishment buttons** (read-only) |
| 10 | Log in as `bcos_a` and compare | You see **all institutions** (C1, C2, C3), including ATMs with no reconciliation yet — more rows than `msp_a` or `customer_a` |

**Report a fail with:** the row #, which login you used, and what you actually saw.
