Problem
Job costing today reflects products and labor hours. It does not have a place for the ad-hoc expenses that show up on real projects: permit fees, parking, rentals, equipment-replacement on the job site, tariffs, shipping and handling actuals, channel-partner / referral cuts that come off the top, miscellaneous fees, and partial-material savings. The only way to capture those today is a change order — which requires either a product or a labor entry — so the friction wins and the cost goes uncaptured.
The result is project margins that systematically don't match the ledger. Sales-people get paid commissions on inflated margins; channel partners get paid against incomplete cost data; project post-mortems are unreliable.
Required capability
- Add ad-hoc expense lines to job costing without forcing a product or labor classification.
- Each ad-hoc line: amount, category (permit / parking / rental / referral / shipping actual / etc.), date, optional receipt attachment, optional vendor.
- Configurable expense categories per tenant so each shop can use the names that match how they think.
- Ad-hoc expenses roll into project margin and into project post-mortem reporting alongside product and labor.
- Optional offset entries (savings) for cases like "estimated 1000ft of fiber, used 500ft" — captures the recovered cost without needing a change-order workflow.
Why it matters
Every commercial / mid-size integrator has these miscellaneous costs on most projects. Without a place to record them, project margin reporting drifts away from reality, and the more the platform is the source of truth for billing and commissions the more that drift compounds. A simple ad-hoc expense primitive — one new entity, one new view in the project — closes the gap.