Skip to content

Tickets and verification

This page is for the office staff who check tickets before billing, and for owners evaluating HaulApp who want to know how it proves each load. It explains what a ticket is, how drivers capture one, and how the office reviews, corrects and approves tickets so that billing only charges for work it can prove.

A ticket is the proof of a load. Dispatch puts trucks on the work (see Dispatch and drivers). Drivers capture a ticket on every load. The office approves the ticket, and only then can billing charge for it (see Invoicing overview). For the whole flow, read How HaulApp works.

A ticket is a paper document that proves a load happened, captured as a photo with the numbers that matter typed beside it. Each ticket records:

  • the photo,
  • the ticket number printed on it,
  • the quantity and its unit (tons, cubic yards, loads or hours),
  • the load it belongs to, and so the truck, driver, job quote and day,
  • its role.

The role says which piece of paper it is:

RoleWhat it is
Source scale ticketThe weight ticket from the pit or plant scale where the truck loaded.
Destination receiptThe receipt from the site that took the material.
Disposal ticketThe ticket from the dump or recycler for a haul-away load.
Freight ticketA freight document for the load.

A load can have more than one ticket, for example a source scale ticket and a destination receipt. HaulApp accepts at most one ticket per role for each load.

Delivery photos and receiver signatures are proof too, but they are not tickets. HaulApp keeps them on the load. See Dispatch and drivers.

The driver captures the source scale ticket at the pit, before leaving with the load:

  1. Tap Capture ticket and photograph the whole ticket with its number in frame.
  2. Check the photo is readable, or tap Retake.
  3. Type the Ticket number and the net tons.

The app refuses the ticket until both numbers are in. The photo and the numbers wait on the phone when there is no signal and go to the office when it returns.

HaulApp records how each photo was made: the phone’s location when the driver took it, whether it came from the in-app camera or the phone’s photo library, and when the image file itself was created. The office sees these facts. Drivers do not.

HaulApp accepts JPEG, PNG, WebP and HEIC photos and PDF files up to 6 MB. A file that is not what it claims to be is kept aside, does not become a ticket, and the load gets a missing-ticket warning.

Every ticket a driver sends has one state. The driver sees a plain version of it under My tickets.

StateWhat it meansWhat the driver sees
Submitted, Needs reviewThe driver sent the ticket. It waits for the office. Billing cannot charge for it yet.In review
AcceptedThe office approved the ticket. It now supports a charge.Approved for billing
RejectedThe office turned the ticket down. It proves nothing and does not count toward the load.Office needs a fix, with Retake and send
SupersededThe office corrected the ticket. HaulApp kept the original, marked it replaced, and created an accepted copy with the corrected numbers.The corrected ticket

HaulApp never deletes a ticket. Every review records who made the decision, when, the numbers before and after, and the reason.

Tickets wait in Tickets → Review. The tab shows the number waiting, such as Review (12).

The left side lists every load waiting for a decision, each with a status: Needs review, Approved, or Ticket missing for a delivered load that has no ticket. A delivered load with no ticket still reads as delivered: its paperwork is late, not its delivery.

Select a load. The right side shows the ticket photo beside the numbers the driver typed.

  1. Compare the photo with the ticket number and the quantity.
  2. Select Approve for billing.

The status changes to Approved, and the driver’s app shows Approved for billing.

When the driver typed the wrong weight:

  1. Select Correct a field. The Correct net weight box opens.
  2. Type the weight from the photo, for example 20.4.
  3. Type the reason. HaulApp keeps it in the audit trail.
  4. Select Save correction.

HaulApp marks the original ticket superseded and creates an accepted ticket with your number. The Correction history below the ticket lists every change.

A ticket with a capture problem carries a flag count, such as 2 flags, and the reasons appear above the buttons. HaulApp flags four things:

  • the photo was taken away from the expected site, with the distance,
  • the photo came from the phone’s library instead of the in-app camera,
  • the image file was created at a different time than the capture was recorded,
  • the photo was uploaded long after the load was completed.

A flag is a reason to look, not a verdict. To approve a flagged ticket, select Approve for billing, then confirm with Approve with 2 flags. The flags stay on the record. Select Go back to leave it waiting.

Open a ticket to see its full page at Tickets → All tickets. The audit trail lists, in order, when the load started, when the truck arrived, where and how the photo was taken, when it was uploaded, and every review. A replaced photo stays on the trail, marked with the time it was replaced.

HaulApp also checks each new ticket’s quantity against what was planned, and against the paired ticket on the same load when there is one. A difference raises a Quantity mismatch finding, shown under Findings on the trail.

Tickets → All tickets lists every ticket on the books with search, filters and paging. The Unbilled and Billed tabs split tickets by whether they are on an invoice. Tickets brought over from your previous system appear in the same list with an Imported badge. Imported tickets are history: they never go through review.

A charge is a billable amount, such as the haul or the material on one load. HaulApp only treats a charge built from a ticket as supported when three things hold:

  • the ticket is accepted,
  • its load is complete,
  • the ticket belongs to the same job quote as the charge.

When any of these fails, HaulApp holds the charge and records why, for example “Ticket has not been accepted by office review”.

You cannot build a new charge from an imported ticket. When you import history, HaulApp records draft charges for imported work your previous system had not invoiced yet, and lets go of them once the previous system invoices it, so the same tons are never billed twice. Those draft charges cannot be invoiced today; see Importing your history.

How charges are grouped into orders and sent as invoices is on Invoicing overview.

  • Reading the ticket number and weight from the photo automatically. The office reviews the numbers the driver typed.
  • A reject button for an ordinary ticket in the review inbox. Fix a wrong number with Correct a field.
  • Asking the driver for a missing ticket, or attaching a replacement ticket, from the office.
  • Flagging a ticket number that was already used on another load.
  • Capturing destination receipts, disposal tickets and freight tickets in the driver app. The driver app captures source scale tickets.