McMahon & Nagle — weekly subcontractor pay run · v1.120
Ready
Installs in Window
—
orders eligible for fitter pay
Total Quantity
—
sum of effective Inst quantities
Total Pay
—
across fitters with rates set
Need Rate Setup
—
fitters with no unit rate
Fitters
Sign in and click Load Data.
Service Jobs (not paid via this tool)
No service jobs in this window.
Needs Review
No orphan installs.
Read-only sandbox to validate the live MBNI path. Nothing here writes to Supabase or changes the on-screen Pay Run data.
Uses the date range from the top controls.
Re-pulls every Order from MBNI for the last 90 days, bypassing the LastModified cache.
1. whichDate test — which field filters by install date?
getJobDataset2 needs to know which MBNI-native date to filter on. The lead-allocation guide lists EnteredDate / SalesAppointmentDate / EstimateConvertedDate but not install date. Fire each candidate against the current date range and see which one returns Orders whose install_date is actually in the window.
2. Mirror vs Live diff — does the live path see different installer values?
Runs the current queryJobs (Supabase mirror) and the winning live query for the same range. Highlights jobs where the installer differs — those are the lag bugs the migration fixes.
3. Field coverage — does the live response carry every field we need?
Counts how many live rows have each of: Id, JobNumber, FirstName1/LastName1, CustomerContact (address), AreaCode, Staff3 (installer), StaffDate3 (probable install date), SalesPrice. Anything below 100% gets flagged — likely a renamed field we need to handle.
4. Items together — can we drop the separate getJobItems call?
Fires getJobDataset2 with whichTables=3 (Jobs + Items) and compares the Inst-line totals against what the current getJobItems call returns for the same job IDs.
6. This week's jobs — mirror vs live, side by side
Pulls every Order in the current date range from BOTH paths. Two tables, same columns, sorted by reference so you can scroll and eyeball.
5. Raw row dump — see every field on a sample live row
Pick one job from the live response (first row by default) and dump every field — including any JobSettings rows. Lets us spot anything the field-coverage check missed.