Phone Billing Audit

Better Connected.
Nothing uploaded · nothing saved

Refreshing this page logs you out and clears everything. Use New audit to fully reset the page without signing in again.

Follows every phone number and product across the wholesale billwhat's builtthe customer's bill, and shows exactly where the money leaks.

1
Customer & files
2
Halo invoice
3
Results

1 · Customer & files

Or drop every export anywhere on this page

2 · Customer bill (Halo)

USOC ↔ Profile ↔ Halo item map

One table translates the three vocabularies. Drop an updated USOC_Profile_Map.csv to override.

USOC map editor

Add, edit, or delete the mappings used by every audit. One USOC can have multiple rows for different Persistent Profiles. Edits last for this page load only — refresh clears them. Download to keep a CSV copy.

USOCPersistent ProfileDeviceHalo ItemNotes

Results

Number ledger — one row per phone number

How it decides — every rule, in plain English
  1. Numbers are matched exactly — the last 10 digits must be identical across files. No fuzzy matching, ever.
  2. Problem: the same number + USOC on the wholesale bill more than once (possible double billing).
  3. Problem: paying Gage for a number that isn't built — unless it's a spare number in Available DNs (then Verified).
  4. Available DNs: numbers reserved on the account but not yet built as lines.
  5. Review: built in the system but not on the wholesale bill (free service, or missing wholesale charge).
  6. Problem: on the customer's bill but not built and not on wholesale (refund risk).
  7. Problem: a wholesale USOC paired with a Persistent Profile the mapping table doesn't allow.
  8. Products: customer bill compared to wholesale by exact item name. Short quantities are Problems; extra are Review; unmapped are Review.
  9. Yealink phone status is informational only and never changes a verdict.
  10. Every row cites the source rows it came from, so any verdict can be checked by hand.