Before the proposal goes out
Set the margin floor you need for the year. Every line prices from your plant, crews and equipment: a price and a cost per unit is enough, or build it up when you want the detail. The margin sits beside the price on every line. Send when it clears the floor; if it doesn't, it goes to whoever approves it, in Pavr, not by phone, so a Friday-afternoon number doesn't go out low by accident.
While the job runs
Hours, material, receipts, sub invoices, mileage and equipment post against the estimate by cost type as the office approves them. A line 5% over turns yellow; 10% over turns red; the owner sets both. The owner's dashboard shows what's outstanding, what the crews cost in the last 30 days, what the week made, and which job is running hot.
When the year closes
Closed jobs roll up by month, by customer, by project manager, and by paving, concrete, sealcoat and striping, all from hours your crews clocked and costs your office approved. Everything exports to CSV.
What it doesn't do
It doesn't guess. There's no "estimated hours versus actual" line that somebody typed in; hours come off the clock. There's no per-square-foot benchmark from other companies; the numbers are yours.

