← Back to home
← Back to the blog
4 min read· DirtFleet team

What your accountant actually wants from a maintenance app

After two years sitting between fleet managers and their bookkeepers, here's what the accounting side wants when they ask for 'shop spend.' Spoiler: it's three CSV columns, not a dashboard.

Every fleet manager we've onboarded says “I need to show shop spend to my bookkeeper.” Every bookkeeper we ask what that means says something different. After two years sitting between them, here's what the accounting side actually wants — and how DirtFleet hands it off without forcing anyone to learn a dashboard.

What the accountant actually asks for

Three columns. Date, asset, amount. That's the load-bearing minimum. Optional 4th column for category (parts vs labor vs outside service). Maybe a 5th for project / job code if you're on Davis-Bacon work. Anything beyond that is bonus they'll ignore.

That's why DirtFleet's service-rollup CSV is built the way it is:

# /api/export/service-rollup?from=2026-01-01&to=2026-05-31

date,asset,asset_class,amount,labor_hours,parts,notes,project_code
2026-05-13,EX-047,off-road,475.00,2.5,oil filter + 5 qt 15W-40,brake adj,J-2026-014
2026-05-12,TR-12,on-road,89.99,0.5,wiper blades,quick swap,
2026-05-12,EX-047,off-road,2400.00,12.0,hydraulic pump rebuild,outside service,J-2026-014
…

What the dashboard does NOT replace

  • The general ledger. We are not your books. QuickBooks Online + Sage 100 Contractor + Foundation are where the GL lives.
  • Tax filing. Section 179 elections, fuel-tax IFTA filings, and 1099 vendor reporting are not in scope.
  • AP / AR. Vendor bills and customer invoices live elsewhere. We track spend events; you trackcash flow.

The handoff that works

Three-step ritual that we've seen stick at every fleet we've onboarded:

  1. Mechanic logs each repair in DirtFleet at the moment of work — parts, labor hours, cost. Takes 30 seconds in the Quick Log modal.
  2. Manager exports monthly via /api/export/service-rollup. CSV emails to the bookkeeper.
  3. Bookkeeper imports into QBO / Sage as a journal entry batch. Categorize once per asset class; auto- memorize the categories so next month is one click.

Project / job code

If you do Davis-Bacon work or any kind of cost-allocation by project, set up Projects in DirtFleet and tag the relevant repair logs to a project. The export adds a project_code column; your bookkeeper can split the journal entry across job-cost buckets.

Project-level P&L (hours × rate − repair spend) lives at /projects/[id] for the manager who wants to see margin live, not at month-end.

What about QuickBooks integration?

The QBO OAuth scaffold is committed (lib/integrations/quickbooks). When the first paying customer triggers it we wire the GL-mapping UI. Until then, CSV import is fast — the bookkeeper's muscle memory is QBO's import wizard, not our integration.

→ Davis-Bacon primer · → Start free trial