Worked examples

A worked 3PL monthly invoice, line by line

Published 2026-10-12 Last verified 2026-10-12

Billing is easier to understand with numbers in front of you. This page builds one month of invoicing for an imaginary client, from the activity log to the final total, and then shows what happens when two small charges go missing.

Everything here is an example. The client, the rates and the volumes are invented. Use the layout, and put in your own contract rates.

The setup

Meet "Client A", a made-up online seller. Their contract with our imaginary 3PL says:

  • Storage: $0.50 per pallet per day.
  • Receiving: $6.00 per pallet received.
  • Pick and pack: $0.75 per order, plus $0.25 for each additional item in the same order.
  • Cartons: $1.20 each, one per order.
  • Relabeling: $0.40 per unit.
  • Returns processing: $3.00 per return.
  • Minimum monthly charge: $750.00.

The month has 30 days. That is the whole contract for this example.

Step 1: gather the month's activity

Before anything gets priced, collect the raw counts. These are the numbers your system or team sheets should be able to give you for the client:

  • Pallets in storage each day: 20 pallets for days 1 to 10, 26 pallets for days 11 to 20, 22 pallets for days 21 to 30.
  • Pallets received: 9.
  • Orders shipped: 400.
  • Items beyond the first in an order: 700 in total.
  • Cartons used: 400.
  • Units relabeled: 150.
  • Returns processed: 12.

Keep this list as its own page. If the client questions an amount later, this page is your evidence.

Step 2: price each line

Storage. Add up pallet-days: 20 x 10 = 200, 26 x 10 = 260, 22 x 10 = 220. The total is 680 pallet-days. At $0.50, that is $340.00.

Receiving. 9 pallets at $6.00 is $54.00.

Pick and pack. 400 orders at $0.75 is $300.00. The 700 extra items at $0.25 is $175.00. The two together make $475.00.

Cartons. 400 at $1.20 is $480.00.

Relabeling. 150 units at $0.40 is $60.00.

Returns. 12 at $3.00 is $36.00.

Step 3: the invoice

LineQuantityRateAmount
Storage (pallet-days)680$0.50$340.00
Receiving (pallets)9$6.00$54.00
Pick and pack, first item400$0.75$300.00
Pick and pack, extra items700$0.25$175.00
Cartons400$1.20$480.00
Relabeling (units)150$0.40$60.00
Returns processed12$3.00$36.00
Total$1,445.00

The total is above the $750.00 minimum, so the minimum does not apply this month. If the total had come to $620.00, the invoice would show the $620.00 of activity and then a line topping it up by $130.00 to reach the minimum. Show the top-up as its own line so the client sees exactly why.

Step 4: where it goes wrong

Now imagine the person who prepared this invoice never got the relabeling sheet, and returns are logged in a separate notebook that did not reach billing.

Without those two lines the invoice would total $1,349.00. The client pays happily. You are out $96.00 and nobody knows.

One month of that is small. Repeated across many clients and many months, it adds up, and it is invisible because nothing looks broken. The invoice is neat. It is simply incomplete.

Three habits that would have caught it:

  1. A charge checklist per client. For each client, a list of every kind of charge their contract allows. Before sending, someone ticks each one as "billed" or "none this month".
  2. One place for activity. Relabeling and returns should be recorded where billing can see them, not in a notebook.
  3. A comparison to last month. If returns processed were 12 last month and zero this month, ask why before the invoice leaves.

Step 5: what the client needs to see

An invoice that shows only a total invites questions. A useful invoice shows:

  • Each charge with its quantity and rate, as in the table.
  • The billing period, with exact dates.
  • For storage, the pallet-day total and ideally the daily counts behind it.
  • Any minimum top-up as its own line.
  • Contact details for a billing query.

If you can attach the activity page from Step 1, do. It answers most questions before they are asked.

Step 6: close the month

Once the invoice goes out:

  • Save the activity page and the invoice together.
  • Record any adjustments with a reason, not just a new number.
  • Note anything you suspect was missed, so the next month starts with a reminder.

A note on rounding and timing

Decide early how you round. If a rate is $0.333 per unit, do you round each line or the total? Pick one rule, write it in the contract, and use it every month. Small rounding differences cause outsized suspicion because they look like carelessness.

Timing matters too. Activity that happens on the last day of the month, such as a late return or a pallet received after the cut-off, should land in the period where your contract says it belongs. If your cut-off is midnight, say midnight, and say whose clock.

Try it with your own client

Pick one real client. Write down their contract rates, then pull last month's counts and build the same table. Compare your total with what you actually sent. If they match, your process holds up for that client. If they do not, you have just found the first thing to fix.

The next step is to repeat the exercise for the client with the most unusual contract. That is usually where charges go missing.

Sources

  • No third-party figures are used on this page. Every rate and quantity is a hypothetical example made up for this page, not a market rate.