Material, labour, markup and credit lines

Each change-order row is typed as material, labour, markup or credit, and credits subtract from the total.

What it is

Line items carry a kind. Credits are forced negative regardless of how the amount was entered, so a scope reduction always reduces the total. The subtotal then runs through markup % and tax % in that order to produce the customer-facing figure.

Also called: change order pricing · credit on a change order · markup on extras · deduct

See it
Material, labour, markup and credit lines
CustomerBuildingAmountStatus
Sutter KlineHobby Shop$18,110Open
Ronan PetschEquipment Storage$5,380Approved
Delia Yoder40×64 Shop$2,150Approved
Sutter Kline40×64 Shop$7,660Paid
Delia YoderHobby Shop$14,690Approved
The change-order line table with a Credit (subtracts) row rendering in red and the totals block showing subtotal → markup → tax → total. src/components/changeOrders/ChangeOrderEditor.tsx. Sample data — no customer information appears here.
How it works
  1. 1computeTotals sums lines, negating credit rows by absolute value.
  2. 2Subtotal is multiplied by (1 + markup%) then by (1 + tax%).
  3. 3lineItemTotal applies the same credit sign so every display sums consistently.
  4. 4Everything rounds to cents.
Why we built it

Scope moves both ways — a customer dropping a door is as real a change as adding a slab — but a credit entered as an addition bills the customer for work that was taken out. Each line is entered as an addition or a credit with its sign fixed by that choice, so a deduction cannot quietly become a charge.

The problem
  • Scope reductions entered as additions.
  • Markup applied inconsistently to extras.
Sound familiar?
What you get
Deductions and additions on one document.
Markup and tax applied in a consistent, auditable order.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →