The problem
You buy $200 in materials, spend four hours on-site, and make two supply runs. By the time you're writing the invoice, you're pulling numbers from memory. Did you remember the second supply run? What did you pay for the coupling? You end up rounding, estimating, or just moving on.
Every line item you forget is money you worked for that you don't collect.
Why we built it
Line items are the foundation of every job in DIRT. We made them fast to add — by voice, by scanning, or by pulling from your price book — so logging as you go is easier than guessing later.
How it works
- 1
Open the job and tap "Add item" — or say "add fifty in materials" to create one by voice.
- 2
Tag each item: labor, material, fee, or expense. Mark it billable or absorbed.
- 3
When you invoice, all billable items pull in automatically. Nothing to re-enter.
What changes for your business
Before
Invoice from memory. Forget the second supply run. Eat the cost.
After
Log as you go. Invoice pulls from what you logged. Every dollar accounted for.
Common questions
What is the best expense tracker for a small contracting business?
The best tracker for a contractor connects every cost to the job it came from, not just to a general category. Tools like QuickBooks, Expensify, or Ramp track what you spent but they won't tell you whether the Henderson job made money after materials. DIRT logs every line item — materials, labor, fees — directly on the job so your profit number reflects what actually happened.
How do contractors track expenses without forgetting anything?
The only way to avoid forgotten costs is to log them at the job, not from memory at invoice time. In DIRT you can add a line item by voice, by pulling from your saved price book, or by entering it quickly in the app while you're still on-site. By the time you're ready to invoice, everything you logged is already there waiting.
What should I include as line items on a contractor job?
Materials, labor hours, any direct fees, and job-related expenses like supply-run costs and disposal charges. In DIRT each line item gets a type tag — material, labor, fee, or expense — so you can see a cost breakdown by category when you review the job later and spot where the money actually went.
What is the difference between a billable and an absorbed expense?
A billable expense goes on the client's invoice. An absorbed expense is one you cover yourself — fuel for a short supply run, a return trip for a forgotten part, a tool used across multiple jobs. DIRT tracks both. Absorbed costs still count against your job's actual profit so you see the real margin, not just the client-facing total.
How is DIRT different from Expensify, Zoho Expense, or Ramp for contractors?
Those tools track what you spent but they don't know which job a cost belongs to. DIRT connects every expense to the job it came from, so your profit number automatically accounts for materials and on-site costs. When the job is done you see what it actually made you — not just what you billed, but what you kept.
How do I make sure every material cost shows up on my invoice?
Log it on the job when you buy it. DIRT's invoice builder pulls all unbilled line items from the job automatically when you tap "Create Invoice." If the material is on the job record, it's on the invoice. If you forgot to log it, it won't be there — which is why logging as you go matters.
Is there a free expense tracker for small contracting businesses?
DIRT's base tier is free and includes full job line-item tracking — materials, labor, fees, and expenses. For most solo contractors logging job costs and tracking profit on each job, the free tier covers everything needed to get real numbers without paying for a separate expense app.
Start free
Try it free.
Every DIRT plan includes this feature — Solo included. No credit card, no trial that expires. Set up in minutes and use it on your next job from the truck.