Friday's sub pay gets rebuilt
from memory and a stack of photos.
Every material pays a different rate. The canvasser is on a different deal than the rep. Nobody can be paid until you know what the job actually collected — so it all waits for one person and a spreadsheet on Friday afternoon, and it's the spreadsheet that gets you sued. Rates go in once here, and the job carries its own math.

Standing seam and architectural shingle are not the same job.
So one blended rate means you're either overpaying on shingle or losing the metal crew — and the number everybody agreed to lives in a text message from March that two people remember differently.
Give each subcontractor a rate card priced in $ per square, per material type, plus a fallback general rate for anything you haven't listed. Rates go in once. Every job after that prices itself off them, and nobody re-derives anything.
Add a rate row for any material in your own pricing vocabulary — the platform ships no fixed material list.
| Material type | $ / square | Active |
|---|---|---|
| General rate Applies when no material match | $85.00 | |
| GAF Timberline HDZ Architectural shingle | $92.00 | |
| CertainTeed Landmark Architectural shingle | $90.00 | |
| Standing seam metal Metal panel | $145.00 | |
| Malarkey Vista Architectural shingle | $95.00 | |
| Tear-off (2nd layer) Add-on labor | $18.00 |
The sub bills by the square. The canvasser doesn't.
One pay model can't hold both, so half your people end up on a side spreadsheet nobody else can open — and the person who can open it is on a roof.
Three payout kinds, set per payee: per square, a flat amount per job, or a percentage — and the percentage runs on a basis you choose, on the sale or on the profit. One job can pay a sub by the square, a canvasser a flat amount per deal and a rep a percentage of profit, out of one rule set.
Exactly one active structure per payee and material — enforced in the service and backstopped in the database, not hoped for. There is never a question about what a job owes when it closes.
The canvasser sourced it in March and is still asking in June.
Comp owed to a door-knocker gets tracked somewhere other than sub pay, which makes it the thing that gets forgotten — so the person who found you the work is the one chasing you for money.
Set the kind per rep — a percent of the sale, a percent of the profit, or a flat rate — and what's owed tallies itself as the deals they sourced get signed.
Comp owed rolls into the same ledger your subs are paid from — one approval queue, every payee. And release the accrued commissions when the job is paid in full is a rule you write once: paid-in-full fires it, not somebody's Friday.
| Canvasser | Comp kind | Deals | Comp owed |
|---|---|---|---|
| Jordan Reyes | % of sale · 5% | 5 | $1,120 |
| Maya Ellison | % of profit · 8% | 4 | $965 |
| Devon Clark | Flat · $150 / deal | 3 | $450 |
| Priya Nair | % of sale · 5% | 2 | $540 |
A rate you edit in August shouldn't change what someone was paid in June.
But on a spreadsheet it does, silently — and then you cannot prove what anybody agreed to. Meanwhile nothing can be released at all until somebody works out what the job actually collected.
At settlement the job's cost ledger is snapshotted, so a later edit to a rate or an order can't reach back and rewrite history. Settlement then advances Pending → Approved → Paid: no skipping, no reversing, and Paid is terminal — it closes the job through the same path a board drag uses.
Nobody gets paid because software decided to. Approval is a human act, deliberately — and only payouts that actually reached the bank count as money out, so one still in flight is never treated as spent.
| Sub | Job | Basis | Amount | Approve |
|---|---|---|---|---|
| Alpine Roofing | Hvillard — 2841 Fenmore GAF Timberline HDZ | 24.5 sq × $92 | $2,254 | |
| Summit Crew | Okafor — 119 Crestline Standing seam metal | Flat per job | $1,800 | |
| Ridgeline Pros | Bergstrom — 77 Alder Ct Malarkey Vista | 18.2 sq × $95 | $1,729 | |
| Cedar Peak | Nguyen — 5502 Birchwood CertainTeed Landmark | 6% of $16,700 | $1,002 |
Every sub swears they're covered. One of them isn't.
And you find out which one on the day something happens, because "we have their insurance" means a PDF somebody was emailed eighteen months ago and nobody has opened since.
Decide once what every subcontractor has to prove — mark each item Required, Conditional or Off, and set the minimums you'll actually accept. You don't start from an empty screen either: the catalog seeds itself the first time you open it, so an answer to "what do we require?" exists before anyone asks. W-9 and Proof of ID are always requested, so the essentials can't be switched off by accident.
And General Liability is not one number. A certificate can clear your each-occurrence minimum and still be short on products & completed operations — the coverage that answers for the roof after the crew has driven away. So all six limits are held separately, each with its own floor. If a GC contract makes you demand a coverage nobody else asks for, add it under your own name with your own minimums.
Changes apply to future invites; already-onboarded subs keep the checklist they agreed to.
A certificate expires in March and nobody notices until August.
Because noticing means a person opening a PDF and reading dates, on a recurring day that does not exist in anybody's week.
Send one onboarding link and the sub uploads against the checklist you built. Each certificate is read into coverages, limits and dates on the way in, and a rule — not a model's opinion — decides whether it complies. Then it re-checks at 30 days, 14, 7 and the day it lapses: once each, so it warns you without becoming noise you learn to ignore.
And it tells you which line failed. A certificate that clears five of your six General Liability minimums comes back naming the one it missed and the gap, not a red X — because "not compliant" is where the argument with your sub starts, and the number is where it ends. A coverage the certificate itself marks N/A is counted as not provided, not quietly passed over.
Bank connection rides the same invite as a separate opt-in, not a document. Reading a certificate carries no fee of its own — $0 flat, with the model's token use billed at the published rate like everything else.
Rates go in once.
Friday stops being a reconstruction.
Month-to-month · every price published · your data stays yours.