Checks the app can talk to the database. Everything else depends on this.
โ
Customer RecordsWaiting
Checks that customer accounts exist in the database and each has a code and name.
โ
Upload HistoryWaiting
Checks that at least one CSV has been imported. Shows the filename and date of the most recent one.
โ
Balance RecordsWaiting
Checks that the latest upload actually created balance records โ i.e. the import worked properly.
โ
Ageing BandsWaiting
Every balance record needs a band: current, 15-30, 31-60, 61-90, or 90+. This checks none are missing or have an invalid value.
โ
Invoice Date FormatWaiting
Excel stores dates as serial numbers (e.g. 45448 means 3 March 2026). This checks the import correctly converted them to readable dates rather than saving the raw number.
โ
Balance ValuesWaiting
Checks all balance figures are positive numbers with no nulls or zeros โ those should have been filtered out on import.
โ
Archived Accounts ExcludedWaiting
Confirms that any accounts you've archived are not appearing in the latest upload's balance records.
โ
Archive & RestoreWaiting
Runs a live test: takes an account, archives it, checks the flag saved, then restores it. Verifies the full flow works end to end.
โ
Pause & ResumeWaiting
Runs a live test: creates a chase pause on an account, checks it saved, then resolves it. Verifies the dispute flow works before automations go live.
โ
Contact EditWaiting
Writes a test value to a contact field (telephone), reads it back, and restores the original. Checks the manage screen can save changes.
โ
Notes EditWaiting
Writes a test note to an account, reads it back, and restores the original. Checks the notes tab in manage accounts is working.
โ
Action LoggingWaiting
Checks that when something happens (note saved, chase sent etc.) an action record gets created correctly. This is the audit trail.
โ
Duplicate Account CodesWaiting
Every customer should have a unique account code. Duplicates cause the wrong balance to show against the wrong account.
โ
Wall Display DataWaiting
Runs the exact same query the wall screen uses โ checks it returns matching accounts and balances. If this fails the wall will show an error.
โ
Total OutstandingWaiting
Adds up all balances and checks the figure is a plausible amount โ more than ยฃ0 and less than ยฃ10 million.
โ
No Supplier ContaminationWaiting
Checks for negative balance accounts โ these are usually supplier rows or credit notes that slipped through in your debtor export. They shouldn't be on the dashboard.
โ
CSV Skip Rule IntegrityWaiting
Checks that all archived accounts have is_active=false in the database. If this flag is wrong, archived accounts could reappear on the next upload.
โ
Database Write PermissionsWaiting
RLS (Row Level Security) policies control what the app is allowed to write to the database. This checks INSERT and UPDATE are allowed on the tables we need.
โ
Data FreshnessWaiting
Checks how old the latest upload is. Warns if it's over 7 days, fails if it's over 30 days โ the wall display would be showing stale data.
Note: Tests that write to the database (archive, pause, contact, notes) automatically restore the original values. Safe to run at any time. Test records are tagged with "AutoTest" in the actioned_by field.