hayat help
Help › Hayat ERP

Data integrity: reconciliations and exceptions

hayaterp.com/integrity ↗

Eight reconciliations that prove the books agree (POS, POS to accounts, stock roll-forward, stock to accounts, supplier and customer ledgers, bank and cash), 24 exception rules for duplicates, gaps, unbalanced journals, negative stock and suspicious till activity, the nightly run, thresholds, and the exception workflow from investigation to approved resolution.

Data integrity checks that what the business recorded and what the books say are the same, every night, and turns every difference into an exception someone must explain. It is the auditor's and the accountant's control screen: reconciliations show whether things agree, exceptions say what does not, and every exception keeps an audit trail until its resolution is approved.

Who does what

Permission Ready-made roles Can do
See reconciliations and exceptions (recon.view) Accountant, Branch Manager, Auditor, Management Open the dashboard, exceptions and reconciliation runs.
Run reconciliations (recon.run) Accountant, Auditor Run a reconciliation and Scan for exceptions for a period.
Investigate and resolve exceptions (recon.resolve) Accountant, Auditor Assign, add notes, resolve and send for approval, dismiss.
Approve exception resolutions (recon.approve) Management Approve or reject a resolution (in Approvals), Re-open a closed exception.

Saving the Thresholds needs Company, branch and system settings (admin.settings). Whoever resolves an exception can never approve it.

The dashboard

Data integrity → Data integrity shows a card per reconciliation with its last result — Balanced (green) or Differences (red), how many differences and when it ran — and a Run button. Below: open exceptions by status (click to open the list), Overdue, by category with the amount involved, by age and by severity.

Integrity checks
Integrity checks
Reconciliation Checks Nightly period
POS sales ↔ tenders ↔ cash-up ↔ accounts Per branch per day: receipts, the tenders taken, the cash declared at cash-up and what was posted. Yesterday
POS → accounting Every POS receipt posted, with tender amounts equal to the journal. Yesterday
Stock movement roll-forward Opening + purchases ± transfers − sales ± adjustments = closing, per item. Month to date
Inventory → accounting Stock valuation and goods in transit against the general ledger. Month to date
Supplier ledger Supplier balances against the accounts payable control account. Month to date
Customer ledger Customer balances against the receivables control account. Month to date
Bank Bank statements against the ledger, with unmatched items. Month to date
Cash Petty cash funds, till over / short and cash in transit. Yesterday

Run a check yourself

The bar under the dashboard (Run reconciliations) has From, To (yesterday by default) and Branch. Pick the period, then click Run on a reconciliation card: the result says Balanced or Differences — n differences, n new exceptions. Scan for exceptions runs all the exception rules for the period.

Reconciliations lists every run (filter by type) with the period, result, lines checked, differences, total difference, exceptions raised and whether it was the nightly run. Open one to see each line — expected, actual and the difference — with the totals (Σ) in bold; click a line to open the record behind it.

Reconciliation runs
Reconciliation runs

The nightly run

Every night, for each company whose Run nightly reconciliations and scan is ticked, Hayat runs the POS, POS-to-accounting and cash reconciliations for yesterday, the stock, ledger and bank reconciliations for the month to date, then scans yesterday for exceptions. A reconciliation with differences above the tolerance raises RECON exceptions. People who may resolve exceptions get one notification per branch: n new integrity exception(s), critical when any is high or critical.

Thresholds

Thresholds (per company, at the bottom of the dashboard) tune the rules: Rounding tolerance, Cashier over/short limit, Large adjustment value, Large manual journal, High discount %, Max voids per cashier/day, Max no-sale drawer opens/shift, Business opens and Business closes, Unbilled GRN after (days), Unmatched bank line after (days), Investigation due in (days) (the due date of new exceptions) and the nightly switch. Save.

The exception rules

Rule Category Raised when
DUP-BILL Duplicate The same supplier invoice number is posted more than once.
DUP-SPAY Duplicate A supplier is paid the same amount twice on the same day.
DUP-RCPT Duplicate A customer receipt is recorded twice (same customer, amount, date and reference).
DUP-JV Duplicate A manual journal is duplicated (same date, reference and amount).
MISS-POSJV Missing A completed POS receipt has no posted journal.
MISS-SEQ Missing There is a gap in POS receipt numbering.
MISS-BILL UnmatchedInvoice Goods were received but not billed by the supplier after the allowed days.
MATCH-BILL UnmatchedInvoice A supplier bill does not match the order and receipt (three-way match).
UNB-JV Unbalanced A posted journal's debits and credits differ (always critical).
NEG-STOCK NegativeStock An item has negative stock at a location.
STOCK-LEDGER IncorrectStockMovement The on-hand quantity differs from the stock movement ledger.
POS-GL PosAccountingDifference A POS receipt's tenders differ from what was posted.
PAY-RCPT PaymentDiscrepancy A receipt total differs from the tenders taken.
CASH-VAR PaymentDiscrepancy A cashier is over or short above the allowed limit at cash-up.
BANK-UNMATCHED PaymentDiscrepancy A bank statement line stays unmatched too long.
MAN-ADJ ManualAdjustment A large manual stock adjustment or write-off.
MAN-JV ManualAdjustment A large manual journal, or a manual posting to a control account.
SUSP-VOIDS Suspicious A cashier voided more receipts in a day than allowed.
SUSP-DISC Suspicious A manual discount above the allowed percentage.
SUSP-HOURS Suspicious A sale or refund outside business hours.
SUSP-NORCPT Suspicious A refund without the original receipt.
SUSP-NOSALE Suspicious The cash drawer opened without a sale too often in one shift.
SUSP-SELFREFUND Suspicious A cashier refunded, within an hour, a sale they rang up.
RECON ReconciliationDifference A reconciliation difference above the tolerance.

The same problem found again does not make a new exception: the open one counts it again (shown as ×2, ×3 in the list).

Work an exception

Exceptions lists them with number (EXC-…), severity (Low, Medium, High, Critical), category, title, amount, when it occurred, the due date (red when overdue) and status. Filter by Status (Open (all) by default), Category, Severity, Assigned to me and Search.

Integrity exceptions
Integrity exceptions
  1. Open the exception. Details explains what was found and the amount; the header shows the rule. Open … → goes to the receipt, journal, bill or item behind it.
  2. Investigate: Assign to a person with a Due date (they are notified), or just write an Investigation note and Add note — the first note moves it to Investigating and assigns it to you. The Assign to list shows the active users who can work exceptions in that branch.
  3. Fix the cause in the source document if needed — a correcting journal, an adjustment, a corrected bill.
  4. Resolve: choose the Resolution type — Corrected, Explained, WrittenOff, FalsePositive, Disciplinary or ProcessChange — and fill Root cause, What was done and the Correcting document (journal / adjustment no.).
  5. Resolve and send for approval.
An exception: details, audit trail, investigate and resolve
An exception: details, audit trail, investigate and resolve

Resolve and approve

A resolution goes through the Reconciliation exception resolution approval workflow (by default, anyone with Approve exception resolutions):

  • while it waits the exception is PendingApproval;
  • approved, it is Closed — or Dismissed when the type was FalsePositive;
  • rejected, it goes back to Investigating with the approver's reason;
  • if no approval rule applies, it closes at once.

Re-open (with a reason) brings a closed or dismissed exception back to Investigating. Every step — detected, assigned, notes, resolved, submitted, approved, rejected, re-opened — is written to the Audit trail with the user and time.

Workflow

From the nightly check to an approved resolution
From the nightly check to an approved resolution

Where the money goes

Data integrity only reads the books: running a reconciliation, scanning, resolving or approving an exception never posts anything. Corrections are made with ordinary documents — a journal, a stock adjustment, a corrected bill — which post as usual, and their number is written on the exception. See How every module reaches the accounts.