Sell it. Run it. Prove it. Bill it.
The work you sold, the trucks you put on it, the ticket that comes back from the pit, and the invoice it pays for — one record, start to finish.
Dispatch, an app for your drivers, ticket review, billing and reports. Your driver's phone does the work; nothing goes in the cab.
| Customer | Material | From | To | Qty | Gap | Window | Truck | Tickets | Status |
|---|---|---|---|---|---|---|---|---|---|
| Marlin Demo & Maintenance EG-1112-1 | Crushed Concrete | Krome Pit → | Wood Springs Suites Pad | 60 tons | 60 short | Day shift | — | 0 | Assign |
| Neptune Trucking EG-1110-1 | Fill | Vulcan Pit → | Sole Mia Sales Center | 20 tons | 20 short | Day shift | — | 0 | Assign |
| Doral Pointe Developers EG-1001-1 | #57 Stone | White Rock Quarries → | Doral Pointe Pad | 20 tons | covered | Day shift | EG-17 | 1 | Add truck |
| Gulfstream Sitework EG-1100-1 | #57 Stone | Vulcan Pit → | 1600 Edgewater Pad | 60 tons | covered | Day shift | 105 118 | 2 | Add truck |
| Bayline Concrete EG-1101-1 | Crushed Concrete | Krome Pit → | Lakeview Campus Site | 60 tons | covered | Day shift | 109 | 0 | Add truck |
| Coral Ridge Construction EG-1104-2 | Fill | Krome Pit → | Harbour Row Lot 3 | 40 tons | covered | Day shift | 112 | 1 | Running |
One load, from the pit to the invoice.
- 01Load & weigh
The ticket starts the record.
- 02Haul
The office stays in the loop.
- 03Deliver
Proof comes back from the field.
- 04Invoice
Verified work, ready to bill.
Stop calling drivers to ask where they are.
Everything you sold for today, with the shortfall on the row: 60 tons sold, nobody driving it, Assign. When the number at the top hits zero, your dispatcher is done.
- The shortfall is a number. Tons sold minus tons with a truck under them, per job and for the whole day.
- Every GPS fix shows its age. A truck that hasn't reported in an hour says so on the screen. The driver's phone is the tracker, so there's no box under the dash and no monthly hardware bill.
- Everything has a link, and everybody keeps their own view. Copy what's on your screen and send it; your dispatcher's morning filter is still set up tomorrow.
What the dispatcher sees at 6am
125 tons short
Two jobs with nobody driving them. Both one tap from covered.
Two fields. That's everything the driver types.
One photo of the scale ticket, the number, and the tons. The app pulls the whole day onto the phone at the start of the shift, keeps working with no bars, and sends it up when he's back in range.
- Works with no signal, sends later
- Opens the camera straight away
- Signature signed on the phone
- Location only while the app is open
- English and Spanish
The ones worth a second look come to you.
Every ticket photo brings its story with it: where it was taken, whether it came off the camera or out of the photo roll, how old the file is, how long after the load closed it got sent. Most of the time it's an honest mistake — a retake, a dead phone, a photo that sat in a pocket till the end of the shift. Once in a while it isn't. Either way you see it before you bill it.
- A correction keeps the original. The fixed ticket goes on top and the first one stays underneath it, with the name of whoever changed it and the reason they typed.
- Fixing it clears it. Correct the weight and the ticket is approved in the same move. Drivers never see the flags — that stays on the office screen.
- When a GC says they never got that load, this page is your answer: the photo, where and when it was taken, the truck, the driver, the signature, and every hand that touched the number.
It tells you the money and what's holding it up.
Built from the tickets that cleared review, grouped by customer and by job. The money you can't bill yet sits there with the reason — which ticket, which flag. Clear it and it frees up.
Every invoice carries its bookkeeping status — the number it got over there, the last sync, whether it failed. Your accounting software owns the posted invoice; HaulApp owns the proof behind it.
Ask in plain words. Get a report you can hand to your accountant.
Type the question — what each customer billed last quarter, tons per truck, what a job actually cost. You get a chart, the table under it, a CSV, and the exact query that produced the rows, sitting right there in the notebook. Somebody can check your number without taking your word for it.
- Every chart shows its working. "Query and source · 6 result rows" opens the query that ran and the number of rows that came back. The figures are the rows — nothing in the loop can round one or make one up.
- It states its own limits. A top-ten answer says top ten. A recorded check amount is called recorded, never cleared. If your data stops in September, the title says September.
- Read-only, and scoped to you. It runs on your sign-in, so your billing clerk's report and your report are different reports — and it cannot create an invoice, an accounting export or a payment.
- Your old system's history answers too. Notebooks are saved and re-runnable, and imported invoices and tickets are in the same tables as last week's.
Still on a DOS-era dispatch program?
Twenty years of customers, jobs, rates, tickets and invoices live in it, and that's why nobody switches. So we read it where it sits — a small service on the same machine, reading the files without locking anything, keeping HaulApp lined up with them. History and all.
Day one, nothing gets switched off. You run both and you decide when the old one stops being the one you trust. Imported records show up right in the lists with an Imported tag.
A lost ticket is a load you hauled for free.
The truck ran. The fuel burned. The driver got paid. Then the ticket that proves it went through the wash. From your desk, a ticket nobody ever wrote looks the same as one that got lost. Run your numbers:
Example numbers — put in your own. It's your math, not ours.
Built for the size where you can't see every truck anymore.
HaulApp is for you if
- You run somewhere between 5 and 30 trucks and can't eyeball all of them anymore
- You bill per load or per hour — dirt, sand, stone, millings, demo, disposal
- You've eaten the cost of a lost or unreadable ticket
- You've had a GC or a quarry argue a load you know you ran
- Somebody in your office re-types numbers off photos that got texted in
- Your dispatch runs in an old DOS program nobody wants to touch
It's not for you if
- You're in the truck every day. With one or two trucks you already know where they are and where the ticket went.
- You need ELD or hours-of-service logs. HaulApp is not a registered ELD and makes no call about anybody's hours. Keep what you have for that.
- You want your books replaced. Your ledger, your receivables, your payables and your tax filing stay where they are. HaulApp stops at the invoice.
- You run long-haul or brokerage. This is built around a pit, a jobsite and a ticket. Over-the-road is a different animal.
Tell us how you bill, and we'll show you your own day in it.
HaulApp is priced per outfit. Tell us how many trucks you run and whether you bill by the load, by the hour, or both, and you'll get a real number back in one reply. If you're coming off an old system, say which one.
Get started