Sign in

Blog · Board and management reporting · Shipping and logistics

Booking-to-invoice cycle per customer: the days revenue waits

How a forwarder measures the time from shipment delivery to invoice issued, per customer and per branch, from the shipment milestones and the billing ledger: the median days, the shipments delivered and still unbilled past a stated age, the value waiting, the branches and customers where the cycle is longest and why, disputed accessorials, missing carrier costs, customer billing rules, and the working capital the delay ties up.

The short answerBooking-to-invoice cycle is the days from a shipment's delivery milestone to its invoice date, per customer and per branch, from the milestones joined to the billing ledger. Shipments delivered and unbilled past a stated age are the ageing list, with the value waiting. The cause per shipment is usually one of three: a carrier cost not yet received so the file cannot be closed, an accessorial in dispute, or a customer billing rule that batches invoices. Each has a different fix, and the value waiting per cause says which matters.

A forwarder delivers a shipment and invoices it six weeks later, because the carrier's cost had not arrived, or an accessorial was disputed, or the customer is billed monthly. The milestones and the billing ledger measure the six weeks, per customer and branch, and say which of the three it was. This guide sets out the cycle, the ageing list, the causes, and the working capital.

The measures

Per shipment:

Cycle days = invoice date − delivery date Unbilled if delivered and no invoice; age = today − delivery date Cause, from status fields: carrier cost pending, dispute, customer batch rule, other

Per customer, per branch, per mode:

Median cycle days; unbilled shipments past the stated age; value waiting by cause

The rows you need

  • Milestones: shipment, customer, branch, mode, delivery date.
  • Billing ledger: shipment, invoice date, amount.
  • File status: shipment, carrier cost received, dispute flag.
  • Customer billing terms: customer, batch rule.

Customer identifiers only.

The assertion

delivered shipments = invoiced + unbilled, per period

A shipment invoiced before its delivery milestone is listed; it is a pre-billing arrangement or a milestone error, and it is excluded from the cycle.

A worked view

Branch Mode Shipments Median cycle Company median Unbilled past 30 days Value waiting
Branch A Ocean 1,840 14 12 41 $190,000
Branch B Ocean 1,210 38 12 310 $1.4m
Branch B Air 2,300 9 6 22 $60,000

Branch B's ocean cycle is three times the company's and it has one point four million dollars of delivered, unbilled freight.

By cause, Branch B ocean

Cause Shipments Value waiting Fix
Carrier cost pending 190 $860,000 Bill on estimated cost; true up
Accessorial dispute 40 $220,000 Bill the undisputed portion now
Customer batch rule 60 $270,000 By rule; confirm the rule is current
Other 20 $50,000 Review

Most of it is waiting for carrier invoices before the file can be closed, which is a process the branch can change tomorrow.

Per customer

Customer Shipments Median cycle Unbilled value Cause
2207 410 44 $380,000 Carrier cost pending, mostly one carrier
4471 220 31 $270,000 Batch rule: monthly

Where it goes wrong

Cycle measured company-wide. Branch B's thirty-eight days inside a median of twelve.

Unbilled with no cause. A list with no fix.

Ocean and air blended. The air branch looks fine and ocean looks bad, or the reverse.

Batch rules unrecorded. A customer billed monthly by agreement looks like a backlog.

Every week, the ageing list by cause

Mapped once, the milestones, the billing ledger, the file status and the billing terms produce the cycle per branch and customer, the ageing list by cause and the value waiting every week. Covirage builds this from the exports as they are. The shipping and logistics page describes the setup, and the detention and demurrage guide covers the other billing leak on the same files.

Questions people ask

Why does the cycle matter?

Every day between delivery and invoice is a day of working capital the forwarder funds, and a shipment unbilled for ninety days is one the customer will query when the invoice finally arrives. The cycle is a cash measure and a revenue assurance measure at once.

What is the target?

The forwarder's own median per branch and mode, from its history; a branch well above the company median is the finding. Air cycles are shorter than ocean; the comparison is like with like.

How is the cause found?

From the file status fields: carrier invoice received or not, accessorial dispute flag, customer billing terms. A shipment past age with no carrier cost is waiting on the carrier; one with a dispute flag is waiting on resolution; one on a customer with monthly batch billing is waiting by rule.