The unit ends on the current site's contract as of this date and starts at the destination the next day — showing as a delete on the old site and an add on the new one. Its billing link is cleared so you can re-link it at the destination.
Keep each unit's status current — active, out of commission, in maintenance — any time, not just Mondays. Taking a unit out of Active needs a reason, which is logged with the change. Add expenses (routine maintenance, tires, fees, repairs) from the Expenses button, where you can also see past entries. If a unit is at your site but not on this list, use ⚑ Report a missing unit and billing will add it. Billing sees your updates; they don't change what's billed.
Invite people from the Supabase dashboard (Authentication → Users → Invite). They appear here after first sign-in as pending — assign a role, and for managers tick their sites. Roles: admin = everything (Ops review + Finance/billing) · manager = week in review, manager entries and equipment for assigned sites · pending = no access until a role is assigned.
Turn a site On to let its assigned managers see and update that site's equipment status. Off (default) hides equipment from managers entirely. Roll out gradually as you onboard people — this changes nothing about billing.
Turn a site On to let its assigned managers build the initial invoice themselves — approve hours, fill the manual line-item values, add one-off custom charges, then submit it for your approval. Off (default) keeps invoicing entirely with billing. Managers never see cost or margin. You always review and generate the final invoice.
Site managers submitted these drafts on self-invoicing sites. Review each one, then approve & generate the invoice or send it back with a note.
Week-over-week totals and sparklines build automatically as weeks are invoiced.
One ZIP with everything Finance files for the week — folders are week → customer → site, each site holding its archived invoice PDF, CIM upload workbook, and any fuel invoices Finance attached, plus a week-level itemized report at the top.
Builds the weekly RRX import CSV — credit to 1001 Sales:General for the grand total, and one debit line per billing line with each item's GL account and the site's QB location name.
Load a legacy RRX CSV and it's compared per location against what this tool computes from the same week's timesheet.
Win new yards? Export the CSV, copy an existing row per new site, fill in the contract terms, and re-import — profiles build themselves and the system starts matching their hours immediately. Standard sites (one hourly rate, optional $0 training/PTO band, fixed fees, add/delete) fit the CSV; complex sites round-trip losslessly through JSON.
Download every billing item at every site with its current QuickBooks GL account, fix the GL code column (and, if needed, QB location / T-Sheets group) in Excel, and upload it back. Only those three columns change — you'll see each change before it's saved. The RRX journal books each line to these codes.
Group sites for analytics — by customer, region, whoever runs them. One value per dimension per site.
Admin only. Used for margin — hours are costed per driver at their own wage. Drivers without a rate fall back to the site's burdened cost/hr.
Applied to wages at every site that hasn't set its own.
Admin only. Company-wide weekly carrying cost + insurance/overhead per vehicle type — the equipment "burden". Feeds profit-per-vehicle and the per-truck P&L in Analytics. Override a single unit's operating cost on its site's Equipment register.
Tick a code to catch it and never bill it at any site (it's surfaced on the billing page so staff can see what was pulled out). Sub-codes hide just a role — e.g. a Supervisor sub-code — without touching the drivers on the same job code; job codes hide every driver on that code, at every site. Load a week to list the codes. A single site can add its own under its profile (“Extra non-billable codes”).
Load a T-Sheets week to list its job codes and sub-codes.
When a site's week crosses one of these, it's flagged in the Week tab's "Needs attention" roll-up for the Ops pass. Deviation flags need BOTH the % and the $ floor, so small sites don't nag.
Give friendly names to T-Sheets job codes, sub-codes and shift / custom values (e.g. A1 Shift → Weekend, Target Wilton T579 → Target Wilton). Names show throughout the app — editor checklists, the unmatched-drivers list and the punch-correction screens. Billing and the invoice are unaffected (the invoice uses each item's Invoice band label). Load a week so the codes appear below.
Load a T-Sheets week to list its codes.
Load a T-Sheets week to list this site's job codes and sub-codes.
Folds each driver's unpaid lunch hours into a band they worked (billed at the band rate, never OT, never advances the OT clock). Turn it on per band with the Absorb Lunch checkbox in that band's settings; the two options below decide which punches count as lunch and which band receives them. Across sites: a lunch clocked under a site's job (lunch as a sub-code) always stays with that site; a stand-alone lunch goes to the site with most of the driver's hours that day, and an even split goes to the site the driver clocked in at first.
Off by default. Turn on only for THD (Home Depot) sites — it reveals the CIM upload constants below, the per-item "include on CIM" toggles, and the CIM upload (.xls/.xlsx) buttons.
Banners appear here and at billing time when a date is inside the lead window. The Contracts tab shows the waterfall across every site.
Hours are tracked every week regardless. Non-weekly sites appear on the board as tracked-but-not-billing until their next billing date.
Burden covers taxes, insurance, benefits — applied to driver wages and to labour-type fixed lines. Leave blank to use the company default. The fallback $/hr is used only for drivers with no pay rate on file.
Units on this site's fleet. On/Off dates drive the add/delete suggestions and the dedicated per-unit count; units active as of the week-ending date list on the invoice's Assets page. Bills to links a unit to a headcount or per-unit item.
Items save with the profile automatically. Toggle one off to keep its setup but skip it this billing. Items appear on the invoice grouped by their Invoice section, and only items with "Include on CIM upload" ticked become upload lines.
Record a rate or fee change now, dated when it takes effect. Weeks bill at whatever was in force that week — no need to edit on the day.
The weekly T-Sheets file is loaded once on the WEEK tab and shared with everyone. If hours are wrong, fix the punches in T-Sheets and re-pull the week (or have the site manager use ↻ Sync with T-Sheets).
The guided walk-through checks every row, flag and trend one step at a time. The fields below stay for quick edits.
| Description | Amount |
|---|
| Driver | Regular hrs | OT hrs | Total hrs |
|---|
| # | Ship Date | Trip Id | Driver / Label | Appt | Arrival | Hrs | Priced as | $ |
|---|
Hours people changed in T-Sheets after a week locked. A week locks when the next week is created, and its punches are saved at that moment. The saved copy never changes. The newest week, before it locks, is compared site by site to the punches each site was Ops-approved or invoiced with. Re-pull fetches what T-Sheets says now and shows the difference: Δ billable is what the changed hours would bill, and Δ labor cost is what they cost you. For invoiced sites, vs invoice compares against the hours that were actually billed. Honors the Period selector at the top of Analytics.
Day / night shifts per billing band (driver classification), per site. A shift is counted per driver, per day: a driver on-site about one Hours per shift counts as a full shift (measured clock-in to clock-out, so lunch/breaks are included), so N full-shift drivers ≈ N shifts. OT here = time worked beyond one shift on a day — this is a daily productivity measure and intentionally differs from the invoice's weekly (>40h) overtime. Night shifts that cross midnight (and their mid-shift break/lunch returns) stay whole on the day they started via the site's Day rollover hour. The per-day table also shows Day hrs / Night hrs — total on-clock hours (clock-in to clock-out, incl. breaks); by design hours = shifts × shift-length + OT. Honors the Period selector at the top of Analytics. Compare against your load count for productivity.
Tracks temporary / agency workers — anyone whose T-Sheets payroll id doesn't start with “W9R” (US1's own employees all carry a W9R… id; temps don't). Head-count is distinct people (deduped by payroll id, or by name when the id is blank); hours are gross clocked hours. Honors the Period selector at the top of Analytics — use the Trend table to see how temp usage changes week over week.
Revenue for every equipment billing line — dedicated per-unit lines, equipment add/delete lines, and fixed/variable lines married to the register — identified by their link to the fleet register, not their name (so differently-named lines still roll up together). Honors the Period selector at the top. Reads the saved line-item ledger; after loading old weeks click Rebuild ledger from history.
Commissionable topline revenue by site over the selected Period, minus per-site pass-throughs, times your commission rate. Choose which sites and billing items count. Read-only — this never changes what's billed.
Live from the register. Composition and status honor the Group by selector; the change table honors Period.
Ops approvals (and send-backs), manager entry confirmations, equipment status changes (with the reason) and missing-unit reports — plus manager hour sign-offs from before they were retired. Newest first.
Every week as it was billed. Invoiced sites show exactly what went out; PDFs open from here.
Dates are editable here. Rates, fees and driver counts read live from each site's billing items — click a site name to change them.
| Site | Status | Next milestone | Start | End / renewal | Rate review | Lead | Current terms | Scheduled | Notes |
|---|
A site manager flagged these units as physically at their site but missing from their equipment list — usually a unit allocated to the wrong site. If it's already in the register elsewhere, Move it here (a dated move, no duplicate). Otherwise Add to register creates it at the site and opens it so you can finish the details (Bills to, rate, dates). Delete closes a bad report. The manager sees the outcome on their Equipment tab.
A manager reported these units are no longer here, but they're still on contract and still billing. Set an off-contract date to stop billing them in future weeks, or leave them if the contract holds the count regardless.
Sites where the register holds fewer active units than the contract requires. Billing is unchanged — this is a signal to add or relocate units.
Whether each site's register units are actually wired to a billing line. A unit only earns tracked equipment revenue when its Bills to points at a billing item — unlinked units bill $0 and won't appear in the revenue report. Fix links on the Sites → Equipment register (or use Edit in the roster below).
Units whose on-fleet count changed since the prior billed week. A move here usually means an add/delete charge or a trailer-rental line needs updating.
| Site | Tags | Bills to | Type | Unit # | VIN | Year | Make | Miles/hrs | Plate | Owner | Baseline | Insp due | Code | On | Off | Status | History | Actions |
|---|
One CSV/XLSX for every site. Columns: id, site_name, unit_type, unit_no, vin, year, make, plate, code, active_from, active_to, status, rate, cost, backup, ownership, inspection_due, tags, odometer, notes, bills_to. Only site_name and unit_type are required; dates are YYYY-MM-DD. Round-trip corrections: the export includes each unit's id — edit the file and re-import, and rows with an id update that unit in place while rows without an id are added (delete the id to clone a row). bills_to links a unit to a billing item — type the item's name exactly as it appears on that site; leave it blank to keep the unit off billing entirely. tags is a free-text grouping label (e.g. "Niagara SoCal") you can filter and bulk-reassign by.