REVENUE-ASSURANCE LAYER FOR TOLL OPERATIONS

Every toll plaza leaks somewhere. Omissia shows you where.

A vehicle passes. A transaction is logged. A tag is debited. Money lands in the bank — or it doesn't. Omissia reconciles every feed your plaza already produces and flags the gap the moment it opens, instead of the moment an audit finds it months later.

THE PROBLEM

Right now, you can only answer
half the question.

Most toll collection systems can tell you what was recorded. None of them, on their own, can tell you whether that matches what actually happened on the road — or whether the money charged ever reached the bank.

WITHOUT A REVENUE-ASSURANCE LAYER

The gap is invisible until someone goes looking.

  • Each feed — camera, booth, e-tag, bank — lives in its own silo. Nobody cross-checks them against each other.
  • A ghost pass, a skimmed cash transaction or a cloned tag looks completely normal in isolation.
  • Leakage is only discovered — if at all — in a manual audit, weeks or months after the money is gone.
  • An insider who edits or deletes a transaction record leaves no trace anyone would think to look for.
WITH OMISSIA

The gap surfaces the same day, with evidence attached.

  • Every feed is reconciled against every other feed, automatically, on a schedule.
  • Each mismatch becomes a named, evidenced flag — not a vague anomaly score.
  • Trends show the slow "creep" of a bad actor weeks before a single-shift snapshot ever would.
  • A tamper-evident, externally-anchored ledger means even an admin can't quietly edit history.
HOW IT WORKS

Six independent feeds.
One reconciliation engine.

Omissia doesn't replace your collection system — it sits on top of it. Point it at the feeds you already produce, and it cross-checks each vehicle's journey through all of them.

01 · GROUND TRUTH
ANPRCamera reads — what passed
02 · BOOTH
TransactionsWhat the lane recorded
03 · ELECTRONIC
E-tag / RFIDAccount debits at the gantry
04 · BANK
SettlementMoney that reached the bank
05 · AXLE LOAD
WeighbridgeMass vs. fee billed
06 · TELEMATICS
OBU / GPSOn-board tracker feed
SQL DETECTORS · RECONCILIATION ENGINE
Passed → Recorded → Charged → Banked Every mismatch becomes a flag with a named pattern, a severity, and a dollar value.

The first three feeds give a road-side three-way match. Settlement extends it to four-way. Weighbridge and OBU close the remaining blind spots: overloaded vehicles that dodge the penalty, and vehicles a tracker confirms were inside the plaza that no camera or booth ever captured.

THE DETECTORS

The fraud lives in
the gaps between feeds.

Every documented loophole is a SQL detector that joins feeds on the same lane and timestamp. Every mismatch becomes a flag with a named pattern, a severity, and a dollar value — not a black-box score nobody can explain to an auditor.

CRITICAL

OBU bypass

The GPS tracker confirms a vehicle was inside the plaza geofence — but no camera, booth or e-tag captured it. The strongest fraud signal in the system.

NETWORK

Cloned tag / velocity

One tag used at two plazas too far apart to drive between in the elapsed time. Invisible per-plaza — only the network view catches it.

HIGH

Cashier skim

A transaction booked as government-exempt, but the camera shows a different plate entirely.

MED

Settlement gap

An e-tag charge with no matching bank settlement line — charged to the customer, never banked by the operator.

MED

Cash not banked

The daily cash deposit is less than the cash actually collected at the booth — skimmed before it ever reached the bank.

HIGH

Ghost pass

An ANPR read with no matching transaction and no e-tag debit at that lane and time. A vehicle that simply wasn't charged.

MED

Tag-fail diversion

An e-tag marked "failed" with no cash transaction logged for the same pass — the fallback charge that never happened.

HIGH

Exempt-plate cloning

One exempt plate used more than three times in a single shift — a pattern, not a one-off.

MED

Overload uncollected

Weighbridge gross mass exceeds the legal per-axle limit, but the overload penalty was never billed.

MED

Discount fraud

A resident discount applied to a plate that isn't on the local-registration whitelist. Genuine local plates are deliberately left alone.

Two precision checks are built in deliberately, so the engine doesn't just flag everything: a genuinely local plate's resident discount is left alone (it's only flagged when the plate isn't actually in the local registry), and a vehicle's own gov-exempt booking against its own plate is never mistaken for skim.

INTEGRITY

Detection only matters if
the evidence can't be erased.

The most dangerous fraud isn't a missed transaction — it's an insider with database access who edits or deletes one for a bribe, then walks away clean. Omissia is built to make that impossible to do quietly.

TXN #001247 GD-4419 · $4.00 cash seal · intact
TXN #001248 HM-2076 · $4.00 cash seal · intact
TXN #001249 GVT-114 · $10.00 cash $0.00 EXEMPT stored recomputed · verifying…
TXN #001250 KE-8851 · $6.00 cash prev_hash · chain break
⚠ TXN #001249 was edited from $10 cash to $0 GOV-exempt after the seal — recomputed hash no longer matches the stored seal, and #001250's prev_hash chain is broken. Even if an insider re-seals locally, the external anchor still flags it against the trusted head.
1

Hash-chained ledger

Every transaction is SHA-256 hash-chained to the one before it. Edit, delete or reorder a single record and the chain breaks — verifiably, not by inference.

2

External seal anchor

Trusted checkpoints are written to an append-only, hash-chained log outside the database. Tamper, then re-seal to cover it up — the anchor still catches it.

3

Role-based access

Admin and auditor roles are enforced server-side, not hidden in the UI. An auditor can see everything and run reconciliation — and nothing else.

4

Configurable alerting

Threshold rules turn any reconciliation run into an alert — shift leakage, settlement gap, a cashier outlier, a cloned tag — pushed to Slack, Teams or email.

BUILT, NOT JUST PITCHED

A working engine you can run today —
not a slide deck.

6
independent feeds reconciled against each other
9+
named fraud patterns, each a transparent SQL detector
85
automated tests covering the reconciliation maths
0
npm dependencies — the core engine runs fully offline
FROM DEMO TO YOUR DATA

You don't have to take
our word for the number.

The fastest way to know what's leaking is to point the engine at a real sample. Plates can be consistently hashed before they ever leave your premises, so the feeds stay joinable without exposing raw registration data.

PHASE 0Diagnostic

Point it at a 3-month sample from one plaza

A CSV importer loads your exported ANPR, transaction, e-tag, settlement and weighbridge feeds straight into the same engine the dashboard runs on. No data leaves your control beyond the sample you choose to share.

PHASE 1Detection service

Scheduled ingest + live dashboard + standard reports

Automated reconciliation cycles, a dashboard across every plaza, the standard daily-traffic / revenue / settlement / cashier reports finance and ZINARA expect, and trend lines that catch a slow leak weeks before a single-shift audit would.

PHASE 2Alerting, integrity & violations workflow

Threshold alerts, tamper-evidence, role-based access, reviewer queue

Configurable alert rules with webhook delivery, the hash-chained ledger with an external anchor, admin/auditor access enforced server-side, and a queued reviewer workflow that turns confirmed flags into printable penalty notices with an OMS- reference ID and a due date.

PHASE 3Network view + ML anomaly layer

Cloned-tag detection across every plaza, statistical anomaly scoring beyond the rules

Impossible-travel detection that only a network-wide view can see — the fraud that looks perfectly clean from inside any single plaza. Plus a statistical anomaly layer (z-scores against each cashier's own 30-day baseline and against the day's peer pool) that surfaces patterns no hand-written rule covers.

PHASE 4Live streaming ingest

HTTP NDJSON sink, idempotent by natural key, dead-letter audited

When you're ready to go beyond scheduled file imports, partner lane / POS / RFID / scale systems POST events as they happen. Every row is deduped, rejected rows land in a dead-letter queue with the reason and the original payload, and per-feed ingest rate is monitored live.

$ node src/import.js --anpr anpr.csv --txn txn.csv --etag etag.csv \ --settlement settlement.csv --weighbridge weigh.csv \ --vehicles vrn.csv --gps obu.csv --plaza "Your Plaza" $ node src/server.js open the dashboard, pick your plaza, run reconciliation.

Find out what your toll plazas
are actually losing.

A short, no-pressure walkthrough on your own sample data — or ours, if you just want to see how the detection works first.