Logistics & supply chain / Finance

Find completed logistics work that has not become billable revenue

By Vikasraj YadavPublished 7 min read

For finance controller, hr / workforce manager, depot head · Understand the problem

TL;DR — what you’ll learn

  • Start from completed work and reconcile it to billed quantities or service lines.
  • Separate ready-to-bill items from work awaiting rates, evidence or acceptance.
  • Keep unknown values visible; zero is not a substitute for an unapproved rate.
  • Age both the completed work and the specific condition blocking billing.

Topics: logistics unbilled revenue · completed not billed shipments · 3PL revenue leakage · billing hold ageing

Grade-A 3PL distribution centre dispatch bay and freight verification desk with pallet racking, barcode scanner, parcel weighing scale and loading dock doors in natural daylight

Illustrative 3PL warehouse dispatch and freight verification desk; not a client facility.

All quantities, amounts, product codes and events are illustrative teaching examples.

A job completed ten days ago remains absent from the invoice register. Another job appears on a billing report, but the customer has not accepted its delivery evidence. Calling both “unbilled revenue” hides the different actions required and can imply an accounting conclusion that the report has not established.

Build an operational queue of completed work that has not yet been billed, with explicit eligibility conditions and ownership. Use the approved accounting policy for any revenue recognition decision. The queue's purpose is to explain the billing gap and move each eligible service line toward a controlled invoice.

Reconstruct the population from completed work

Consider an illustrative review at the end of 15 October 2026. The table uses internal job references. Values are known commercial amounts excluding taxes where stated; a missing rate remains unknown.

Scroll horizontally to see all columns.

Job Operational completion Billing position Value in the review
J-101 5 October Ready under the agreed rules; invoice not created ₹18,000
J-102 5 October Spot-rate approval outstanding Unknown
J-103 8 October Required client POD acceptance pending ₹12,000
J-104 9 October Already invoiced ₹15,000
J-105 Still incomplete Not in the completed-work cohort ₹20,000 estimate

Eligible-unbilled value is ₹18,000. Completed work with a known commercial value but a remaining evidence hold adds ₹12,000. The known completed, unbilled amount is therefore ₹30,000, with a separate unknown-value job.

J-104 belongs in the reconciliation bridge but not in the open billing queue. J-105 belongs in operational work in progress, not the completed population. Including either would inflate the apparent billing opportunity.

J-101 and J-102 are each ten calendar days past completion. J-103 is seven days past completion. Those ages describe elapsed time, not an automatic contractual breach or an accounting recognition date.

Use the service line when the job is too coarse

A job can contain storage, handling, transport and additional services with different billing conditions. A single “invoiced” flag may hide an unbilled handling line or incorrectly suggest that every service was billed because one invoice exists.

Give each chargeable activity a stable reference, quantity, period, customer and commercial rule. Link invoice lines or credits back to that reference. For periodic storage, define the covered dates and avoid counting the same pallet-days in two billing runs.

CartonCloud's billing materials describe charges derived from operational activities. That illustrates why billing eligibility needs the relevant event or quantity, rather than a job-complete flag alone. CartonCloud — Billing and invoicing

A completed activity may be included in a bundled price and create no separate invoice line. Mark it as covered by the applicable charge. It should not remain in an exception queue forever simply because its price is not separately itemised.

Make the missing condition explicit

Use distinct reasons such as rate approval, customer reference, delivery evidence, quantity confirmation, billing-period closure or unresolved commercial dispute. Record the required decision and its owner.

In the example, J-102 needs a commercial owner to approve the spot rate. Operations cannot create that approval by estimating a plausible tariff. J-103 needs the agreed evidence and acceptance process; sending another invoice may not resolve the blocker.

A status change should retain its source. “Rate approved” needs the relevant offer or agreement version. “POD accepted” needs the applicable customer or internal acceptance evidence. A comment saying “all okay” is difficult to audit when the underlying record later changes.

Where the rate is unknown, report a count and age separately from monetary totals. A clearly labelled estimate may support planning, but should not be merged into an approved-value total without showing the distinction.

Keep two clocks when eligibility changes

Consider an alternative history for J-102: its rate was approved on 14 October rather than remaining outstanding as shown in the table. At the end-of-day 15 October review, the job would be ten days past completion but one day past becoming eligible under this example's rule.

The completion clock reveals the full delay. The eligibility clock helps measure the billing team's response after its prerequisites were satisfied. Resetting both clocks to the approval date would hide the time spent waiting for commercial resolution.

Retain hold start, owner assignment and resolution times where they matter. A job can move through several holds, sometimes in parallel. Do not add overlapping hold durations and present the sum as total elapsed time.

Use a consistent reporting cut-off and calendar convention. If a service target is measured in working days, preserve the calendar used rather than comparing it directly with calendar-day ageing.

Reconcile the invoice boundary before creating more work

Match completed service quantities to invoice coverage, including cancellations, credits and rebills. A generated invoice number may refer to a draft or rejected posting. A successfully posted invoice may have an acknowledgement missing from the operational system.

Oracle's match-rule documentation shows configured links between financial and transport records. The unbilled-work control needs its own clear definition of invoice creation, posting and coverage, so a matched reference is not mistaken for a completed billing handoff. Oracle Transportation Management 26C — Match Rule

If a ₹18,000 job is partially invoiced for a supported ₹10,000 component, the remaining ₹8,000 needs line-level explanation. It is neither a wholly unbilled ₹18,000 job nor a fully closed one.

When an external posting response is uncertain, reconcile the destination before retrying. Duplicate invoices can arise from treating a timeout as proof that no invoice exists.

Give the queue an operational rhythm

For a small operation, a reconciled register may be sufficient. At larger volumes, billing rules in a WMS or TMS can identify candidate activities, with an integration linking the financial outcome. The control must still expose missing data and owner decisions.

Review oldest material items and repeated hold causes. Measure eligible value waiting for billing, known value on hold, unknown-value counts and time to resolve each category. A falling total can be misleading if items were reclassified as unknown or removed without resolution.

Track corrections that return an item to the queue. A rejected invoice or reversed charge may reopen work under the applicable process. Preserve that history instead of treating the reopened item as newly completed.

Turn the gap into a specific handoff

The useful report tells finance which work is ready, tells commercial teams which approval is missing and tells operations which evidence must be supplied. It makes the gap between completion and billing explainable without inventing revenue.

Next actions

  1. Define the completed-work cohort and the service-line identity used to reconcile invoices.
  2. Separate eligible items, known-value holds, unknown-value work and already-billed coverage.
  3. Record completion age and eligibility or hold age with the responsible owner.
  4. Reconcile posting outcomes before creating invoices, then review recurring hold causes with the relevant team.

Discuss this workflow

Describe your current systems, the recurring exception and the outcome you need. Keep shipment, customer and financial records out of the initial message.

Draft an assessment email

References

Sources checked 15 October 2026. Vendor documentation supports platform facts; the worked examples and diagrams are original.

About the author

Vikasraj Yadav writes about operational decisions, software and automation for NextEdge Labs.