Home Job Costing Segment P&L Multi-Entity PT Pair Pricing How It Works About FAQ Join Waitlist
Feature Deep Dive

3-Track Job Costing.
Materials. Labor. Subcontractors.

Most accounting software treats job costing as a two-bucket problem: Materials and Labor. The third real cost on most jobs — Subcontractors — gets shoehorned into one of the other buckets or into "Other Costs." That distorts your margin reports on the very jobs where margin matters most. BDFIQ keeps the third bucket separate, everywhere it shows up.

Join the Waitlist

How BDFIQ Splits Job Costs — And Why That Third One Matters

Every job in BDFIQ has three real cost tracks. They're not tags or sub-accounts you have to manually configure. They're built into the data model.

Bucket 1
🧱

Materials

Anything you buy and consume on the job. Lumber, concrete, hardware, supplies, parts, ingredients.

Tracked from: Vendor bills, receipt entries, CSV-imported card transactions, inventory issues.
Bucket 2
👷

Labor

Your team's time on the job, fully burdened (wages + taxes + benefits + overhead).

Tracked from: Payroll entries, BDB Project Tools Timekeeper exports, manual journal entries.
Bucket 3 — The One QBO Misses
📋

Subcontractors

Outside crews you hire to do part of the work. NOT materials. NOT your labor. A real third cost type that belongs in its own bucket on every report.

Tracked from: Sub vendor bills, sub-specific Stripe payments, manual journal entries. 1099-flag tracking from day one.

What "No Subcontractor Cost Type" Actually Costs You

QuickBooks Online has no native Subcontractor item type. Three workarounds exist, and all of them break your reports in subtle ways:

  1. Push subs as Service items. Subs blend into your service revenue/cost reporting. You can't see "subcontractor cost" on a job dashboard because there's no such field.
  2. Push subs as "Other Costs." Subs land in a generic bucket alongside permit fees, equipment rentals, and miscellaneous items. Margin reports lose precision.
  3. Create a custom Item type. Requires Plus tier or higher. Even then, you have to manually configure it. And QBO's reports don't natively understand it as a cost track — they understand it as "another item type."

A Real Example

You bid a $50,000 commercial renovation. Materials estimate: $14,000. In-house labor estimate: $18,000. Sub estimate (HVAC, electrical, drywall): $12,000. Expected margin: $6,000 (12%).

You finish the job. Final actuals: Materials $14,500. Labor $17,200. Subs $13,800.

In QBO: Margin report says you made $4,500. You ask "where did the $1,500 go?" and the report can't tell you because subs are blended into Other Costs. You spend an hour in transaction detail figuring out where the variance lives.

In BDFIQ: Margin report shows Materials +$500 over, Labor -$800 under, Subs +$1,800 over. Net variance: +$1,500. You know within ten seconds: the sub on the HVAC job came in over — renegotiate or shop the next one.

One job is one job. Multiply this across a year of work and the difference compounds into real money you can't see and can't fix.

The 3-Track Buckets Show Up on Every Job Surface

Not just on the cost-detail report. Everywhere job costs are visible in BDFIQ.

Estimates

Materials line items / Labor line items / Sub line items, summed separately on the estimate header. Customer-facing estimate PDF can show or hide the bucket breakdown.

Invoices

Same three-bucket structure. Invoice PDF can show the cost-track breakdown or just summarize as total.

Job Margin Dashboard

One card per job. Three rows: Materials, Labor, Subs. Each shows estimated vs actual with variance and variance percentage. Color-coded.

Variance Reports

Per-job variance broken out by cost track. Filter by date range, job category, segment. Identify which cost track is consistently coming in over.

P&L Detail

Subcontractor costs appear as their own line in COGS, not blended into Materials or Other Costs. Your accountant pulls one report and sees the full structure.

1099 Reporting

Subs are automatically flagged for 1099 tracking from day one. Year-end 1099 prep pulls from the sub cost track — no manual filtering by vendor.

The Job Margin Dashboard

A real BDFIQ job margin view. Subs as a first-class column, not a footnote.

Job: Hillcrest Office Renovation — #JOB-2026-0142
Cost Track Estimated Actual
■ Materials $14,000 $14,500 (+$500)
■ Labor (in-house, burdened) $18,000 $17,200 (-$800)
■ Subcontractors $12,000 $13,800 (+$1,800)
Job Cost $44,000 $45,500
Revenue $50,000 $50,000
Gross Margin $6,000 / 12.0% $4,500 / 9.0%

Sub variance: +$1,800 on HVAC. Recommend shopping next bid. [Drill into transactions →]

Done with two-bucket job costing?

Three real cost tracks on every job, on every report. Join the waitlist.

Join the Waitlist