Blueprint of a lumper receipt image staged for a billing clerk before an accessorial line
Applied AI Systems Architecture

Automated Lumper Receipt OCR & Accessorial Billing

A reconciliation architecture. A lumper receipt is evidence of a warehouse labor charge the driver already paid.

A receipt becomes a customer accessorial only when the fields match a stop, the contract says to pass the cost through, and a billing clerk confirms the line. Extraction does not post the invoice.

This architecture is for carriers and brokers who already pay lumpers and already lose the paper between the dock and the freight bill. It describes how a receipt image becomes a staged accessorial, and where a person remains in the path. It is not a tariff, not legal advice on a shipper contract, and not a method for creating charges the receipt does not support. Amounts, penny bands, and hour windows on this page are illustrative. The carrier's tariff and the customer's accessorial schedule replace them. Image cleanup before reading belongs to the mobile paperwork front end. This page starts when a rectified receipt image and a quality score already exist.

Key takeaways
  • The extractor returns a field only when it can point at a region on the image. It never fills a field from the order.
  • One receipt attaches to one stop. Ambiguity stops the match and sends the row to a clerk.
  • Pass-through, absorb, or cap is a versioned contract rule, not something the receipt or a model decides.
  • Low-confidence amounts are never auto-billed. Only a named clerk's confirm creates the accessorial line.
  • Detention is a separate clock. The clerk sees both charges before confirming either.
6required fields the extractor may return
3contract outcomes: pass-through, absorb, cap
50 centsillustrative penny band, or 1 percent if smaller
+/- 1 dayillustrative receipt date band against the stop

What a lumper receipt is, and why it misses the invoice

A lumper is third-party labor at a shipper or receiver that loads or unloads the trailer when the driver is not allowed, or not staffed, to do that work. The driver pays at a window, a kiosk, or through a payment service, and leaves with a receipt. The receipt is the carrier's evidence of the amount, the facility, and the payment type. Whether that amount may be billed to the customer, absorbed by the carrier, or capped is not printed on the receipt in a way a model should trust. It lives in the contract and the tariff. The receipt answers "what was paid at this dock." The contract answers "who carries that cost."

The receipt misses the invoice because it is born outside the rating path. The freight bill is often rated from the tender and the proof of delivery before the driver uploads a photo from the sleeper. The facility name on the receipt may be a lumper vendor, not the consignee on the order. The PRO or bill of lading number may be handwritten, partial, or absent. A cash-advance or service fee may sit on the same slip as the unload amount. Settlement may code the driver's reimbursement while billing never sees a customer line. None of those gaps is fixed by reading the slip faster. They are fixed by a match to the stop, a contract flag, a tolerance check, and a clerk. A pipeline that posts on extraction will bill the vendor name to the wrong customer or bill a fee the tariff does not allow.

Fields the extractor is allowed to return

The extractor returns a field only when it can point at a region on the image. The required set is the facility, the date, the amount, the receipt number, a PRO or bill of lading reference when one is printed, and the payment type. Facility means the name and, if printed, the city on the receipt, stored as text plus the region. Date includes a time when the slip has one, with an explicit understanding that a missing time is null and not midnight. Amount is a currency value with a currency code. If the slip shows a single total, that total is the amount and a split flag stays false. If the slip shows an unload amount and a separate fee, both are returned and neither is added together by guesswork. Receipt number is the slip's own identifier, not the order number.

PRO or BOL is captured as printed, including spaces and short forms, and a normalized copy is stored beside it for matching. The original text is kept. Payment type is a closed list the carrier maintains: cash, comcheck, EFS, T-Chek, relay, credit card, or other. "Other" is not a license to invent a type from a logo the model half recognizes. Each field carries a confidence and the page region. A field the model cannot see is empty. It is not filled from the order, because filling a PRO from the order would make every receipt look matched. Trailer number and door number may be captured when printed. They are hints, not keys. The image hash from the front end travels with the extraction so the same photo cannot be read into two staging rows.

Match the receipt to the delivery stop and the order

The match target is a stop on an order, not a customer in general. The stop carries an arrival timestamp, a departure timestamp, a facility identity from the tender, and the order's PRO and bill of lading. A usable match needs agreement on identity and on time. Identity can come from an exact normalized PRO or BOL, or from trailer plus facility plus the stop date when the receipt has no reference number. Facility agreement is a mapping the carrier maintains between lumper vendor names and warehouse locations. A fuzzy string match that jumps from one consignee to another in the same city is not agreement. It is an exception. Time agreement means the receipt date, and the time if present, falls inside the illustrative window in the tolerance table relative to that stop.

Ambiguity stops the match. Two orders at the same building on the same day, a receipt with a PRO that exists on an order but a facility that maps elsewhere, or a receipt dated on a day when that trailer was at a different stop, all stay unmatched. The staging row can still hold the image and the extracted fields, with order id null, so a clerk can attach it. The system does not pick the nearest order by dollar value or by which customer allows pass-through. Choosing the billable customer because the contract is favorable is how a reconciliation tool becomes a billing error. One receipt attaches to one stop. If the operation truly split labor across two deliveries, a person splits the amount and the audit log records the split. The extractor does not.

Receipt to accessorial line
Rectified imageFrom the mobile front end, with a quality score
Extract fieldsEach field with a confidence and a page region
Match the stopIdentity plus time agreement, or an exception
Rule and toleranceVersioned contract rule, penny and date bands
Clerk confirmOnly this creates the accessorial line
Every failed step parks the row in the exception queue. Nothing is billed on extraction.

Pass-through versus absorb is a contract rule

Pass-through means the customer accessorial schedule allows the lumper to be billed, sometimes up to a cap. Absorb means the carrier pays the lumper and does not bill the customer. A cap means the carrier may bill up to a stated amount and must not silently bill the rest. Those three outcomes are data, versioned, and joined on customer, lane, or a specific facility rule. The version id is copied onto the staging row so a later contract change does not rewrite history. The receipt text is not an input to this join. A sentence on a slip that says the charge is billable to the shipper is not the contract. Drivers are sometimes told that at the window. The rule source is the rating system or the contract file the billing manager already uses for other accessorials.

If the join finds no rule, the disposition is unknown and the row cannot become a customer line or a quiet write-off. Unknown is an exception. If the rule is absorb, the stage is a carrier cost attached to the order, with no customer amount. If the rule is pass-through and the amount is inside tolerance, the stage is eligible for a clerk to confirm a customer line. If the rule is a cap and the receipt is above the cap, the stage may propose the cap as the billable amount and must park the remainder in the exception queue. It does not drop the remainder on the floor and it does not add the remainder to the invoice. A model that "usually" sees this customer pay lumpers is not a rule. Frequency is not authority.

An illustrative tolerance on pennies and dates

Tolerance exists so a clerk is not forced to treat a rounding difference as a dispute, and so a real disagreement cannot hide inside a wide band. The penny band compares the receipt amount to the tariff or cap that applies to that stop, not to a guess of what lumpers "usually" cost. The date band compares the receipt date to the stop's arrival and departure dates. Night unloads print a next-morning date often enough that a zero-day rule creates false exceptions, and a week-long rule will attach Tuesday's receipt to Thursday's order. The table is a planning example. A billing manager replaces every figure with the carrier's own schedule and documents why. Inside tolerance means "eligible for confirmation." It does not mean "posted."

Currency is part of the comparison. An illustrative penny band assumes US dollars because the examples are written in cents. A receipt with no currency, or a currency that disagrees with the tariff, fails the amount check. Percent bands and penny bands should not be stacked in a way that widens both. Pick one policy. An illustrative choice is the smaller of a fixed cent band and a percent of the tariff, so a small lumper cannot drift by a large percent and a large lumper cannot drift by a large dollar amount hidden inside a percent. This page does not calculate a customer's invoice. It only defines the comparison that either clears a row for a person or sends it to the queue.

Illustrative tolerance rule, not a customer result

Use the smaller of a fixed cent band and a percent of the tariff, so neither a small nor a large lumper can drift inside a wide band.

band = smaller of (0.50 dollars, 0.01 x tariff or cap)

Inside the band means eligible for clerk confirmation. It does not mean posted.

Illustrative lumper tolerance bands. Penny and date figures are planning examples, not a tariff and not a customer agreement.
Check Illustrative band Inside the band Outside the band
Amount versus tariff or cap About 50 cents, or about 1 percent, whichever is smaller Eligible for clerk confirmation Exception. Do not bill the difference.
Receipt date versus stop date Same calendar day, or plus or minus 1 day Date check passes Exception. Do not attach by nearest order.
Receipt time versus stop window From arrival to departure, plus about 2 hours Time check passes when a time is printed Exception. A missing time stays null, not midnight.
PRO or BOL Exact match after space and dash normalization Order candidate, still subject to facility No candidate, or more than one, is an exception.

The exception queue

The exception queue is the default, not the overflow. A row lands there when the receipt timestamp is later than the free-time clock on that stop, when the amount exceeds the tariff or the cap, when the match is ambiguous, when a required field is empty, or when amount confidence is below the carrier's floor. Free time here is the detention rule's allowance measured from arrival. It is not a field on the lumper receipt. A receipt time after that clock does not prove the lumper is improper, and it does not prove detention is due. It proves a person should look, because labor charges and waiting charges can describe overlapping minutes. The queue shows the receipt, the stop timestamps, the free-time expiry, any detention stage already open, and the contract disposition side by side.

Exceeding the tariff is the same kind of stop. The billable proposal, if a cap exists, is the cap. The excess is a visible remainder with a reason, not a second line that posts because the image was clear. Queue items have an owner and an age. An illustrative working practice is that nothing in the queue auto-closes at the end of the day. Aging is a report, not a disposition. A clerk resolves an item by confirming a billable amount, coding an absorb cost, rejecting the receipt as unreadable or unrelated, or sending it back for a retake. Reject does not delete the image. Each resolution writes the audit log. The queue is also where a receipt that arrives after the freight bill was sent waits for a supplemental invoice decision, which is a billing policy, not an extractor decision.

A clerk resolves by

  • Confirming a billable amount
  • Coding an absorb cost
  • Rejecting as unreadable or unrelated, or sending for a retake

The pipeline must not

  • Auto-close queue items at the end of the day
  • Bill the excess above a cap
  • Pick the order with the richer accessorial schedule

Staging write, clerk confirmation, then the accessorial line

Extraction writes a staging record and stops. The record holds the image hash, pipeline version, each field and its confidence, the matched order id and stop id or null, the contract rule version, the disposition, the tolerance result, and the proposed amount. Proposed amount is empty when confidence is low or the match failed. The customer accessorial line does not exist yet. A billing clerk opens the stage, sees the image beside the fields, and either confirms or edits. An edit to the amount, the order, or the disposition is stored as a change from the extracted value, not as a quiet replacement. Confirm is a named user and a timestamp. Only that confirm creates the accessorial line on a pass-through, or the carrier cost on an absorb.

  1. Extraction writes a stage and stops. Image hash, fields with confidence, match, rule version, disposition, tolerance result, proposed amount.
  2. A billing clerk opens the stage. The image sits beside the extracted fields.
  3. Confirm or edit. An edit is stored as a change from the extracted value, not a quiet replacement.
  4. Confirm creates the line. A named user and timestamp create the accessorial line or the carrier cost.

The line that confirm creates is ordinary rating data: accessorial code for lumper, amount, order, stop, receipt number, and a pointer to the stage. It does not carry a hidden flag that bypasses invoice review the carrier already requires for other accessorials. A batch job must not promote unconfirmed stages when a billing period closes. Idempotency on the image hash prevents the same photo from confirming twice. A second receipt number for the same stop is allowed only as a second stage a person can see, because some facilities issue a corrected slip. The second stage does not replace the first automatically. The clerk voids or supersedes with a reason. Supplemental invoices, when the original freight bill has already gone out, follow the carrier's existing credit and rebill practice after confirm, not before.

Do not auto-bill a low-confidence amount

Amount confidence is the gate on money, separate from the confidence of the facility or the PRO. A sharp PRO and a smeared total is a common thermal receipt. The PRO may be confident enough to suggest an order, and the amount may not be confident enough to propose a charge. In that case the stage still attaches the image to the order if the other match rules pass, and the proposed amount stays empty. No customer line is created. No estimated amount is substituted from the tariff "so the invoice is not short." Substituting the tariff maximum would bill a number the receipt did not show. The clerk reads the total and types it, and the typed value is an edit in the audit log.

Do not auto-bill a low-confidence amount

No customer line is created and no estimated amount is substituted from the tariff. Confidence is evidence about the pixels. Authority to bill is the rule plus the clerk.

Any numeric floor on this page is illustrative. A team might temporarily write a cutoff such as 0.90 while it measures its own extractor. That figure is not a calibrated probability, and a vendor's confidence is not comparable across engines. Until the carrier has measured how often amounts above the cutoff match a clerk's reading on a held-out set of its own receipts, the safe production setting is that every amount requires confirmation. High confidence does not waive the contract check, the tolerance check, or the free-time exception. A perfectly read amount above the cap still queues the excess. Confidence is evidence about the pixels. Authority to bill is the rule plus the clerk.

The audit log

The audit log is append-only. It records the image hash, the extraction payload, the model or template version, the contract rule version, the tariff version, every clerk edit with before and after values, the confirm or reject action, the user id, and the time. It records when a stage was shown next to an open detention line so a later question about double billing can be answered from the log rather than from memory. It does not store a second copy of the customer's full rate agreement if a version id will retrieve it. Retention follows the carrier's billing record policy. This page does not set a legal retention period.

A correction after confirm is a new log event, not a delete. If a clerk confirms an illustrative 145.00 and later finds the slip said 125.00, the change writes a reversing entry and a new amount under the same stage, with the reason. The invoice impact of that reversal uses the carrier's credit process. The log's job is to make the path from pixels to line reconstructable for an internal review or a customer question. It is not a tool for altering a receipt. The original image bytes remain hashed and unchanged. Someone reviewing the account should be able to see the slip, the extracted total, the confirmed total, and the name of the person who confirmed it without asking engineering to query a temporary table.

Detention is a separate clock

Detention is waiting time. It usually starts from arrival, subtracts a free-time allowance in the tariff, and applies a detention rate to the remaining minutes until departure, subject to exceptions the contract already lists. A lumper receipt does not start that clock, does not stop it, and does not replace the arrival or departure timestamps from the electronic logging device, the gate, or the driver's reported times. Using the receipt print time as arrival will manufacture detention the gate system does not support. Using it as proof that free time was exceeded will manufacture a lumper exception that is only a slow printer. The receipt time is evidence of when the slip was produced. The stop timestamps are evidence of presence. They stay in different fields.

The relationship is visibility, not merger. When both a lumper stage and a detention stage exist for the same stop, the clerk sees both before confirming either. Some contracts allow both, because labor and waiting are different charges. Some contracts treat a lumper as the remedy and do not also pay detention. The contract rule for each charge answers that question. The screen's job is to prevent a person from confirming them in two queues that cannot see each other. A receipt timestamp later than free-time expiry opens the lumper exception described above so the overlap is a conscious disposition. This architecture does not suggest stacking the two charges, and it does not suggest suppressing one of them. It refuses to collapse two clocks into one line.

Illustrative separation between a lumper stage and a detention stage. Clocks are not interchangeable.
Question Lumper stage Detention stage
What it documents Unload or load labor and a payment Waiting time beyond free time
Time source Date and time printed on the receipt, if any Arrival, free-time rule, and departure
Amount source Receipt total, limited by the lumper rule Detention rate times billable minutes
If the other charge exists Show the open detention line. Do not merge. Show the lumper receipt. Do not merge.
Who confirms Billing clerk, after tolerance and contract checks Billing clerk, under the detention rule

What this reconciliation must not do

The pipeline must not invent a receipt, complete a missing total, move a charge onto a customer with a richer accessorial schedule, or close an exception because a period is ending. It must not treat a driver's reimbursement in payroll as if the customer had been billed. Those are different ledgers. A useful review starts with a week of real receipts the carrier is allowed to share, the accessorial schedule for the customers on those loads, and the queue where the receipts sit today. Strong Tower Consulting will compare that path to the staging rule on this page and leave a written gap list. Call 763-244-1373 or request an assessment. The work is advisory. It does not send invoices.

Frequently asked questions

Billing teams ask these questions when a receipt reader is about to be connected to rating. The answers keep extraction, contract rules, and the clerk on separate steps. A clearer photo does not create authority to bill.

Penny bands, day windows, and confidence cutoffs in the answers are illustrative. The tariff, the customer schedule, and a measured error rate on the carrier's own receipts outrank any example here. Confirmation is a person. It is not a nightly job.

Can the extractor decide pass-through versus absorb?

No. Pass-through, absorb, or a cap is a contract or tariff rule with a version the carrier can point to. The receipt does not contain that rule. If the rule is missing, the row stays in the exception queue and nothing is billed.

What if the receipt is only a few cents from the tariff?

An illustrative penny tolerance can mark the amount as inside a review band. Inside the band is not permission to post. A billing clerk still confirms the line. Outside the band, the excess goes to the exception queue.

Should a low-confidence amount be billed when the PRO matches?

No. A matched PRO can attach the image to the right order and still leave the amount unbilled. Low confidence on the amount never creates a customer accessorial. A person reads the receipt.

Is the lumper receipt the same clock as detention?

No. Detention uses arrival, free time, and departure. A lumper receipt documents unload labor and a payment. The two charges stay on separate clocks, and a clerk sees both before either is confirmed.

Talk to an architect

Stop losing lumper receipts between the dock and the bill.

Strong Tower Consulting provides independent systems architecture, feasibility audits, and engineering roadmaps for motor carriers and freight brokers. Contact our advisory team or call 763-244-1373 to discuss your operational data and evaluate practical implementation paths for your fleet.

Published October 23, 2026 by Strong Tower Consulting, LLC. Founded 2008 in Minnesota by Scott Elliott.