Skip to content

Guide · pallet storage

How to bill pallet storage, per day or per month

A storage charge comes down to two things: how many pallets were in the building, and for how many days. Everything else is a rule for turning those days into dollars. This guide works through each rule with numbers you can check.

Every figure on this page was calculated by Tallybay's billing engine and is checked by an automated test, so the arithmetic is exact, not illustrative.

Updated October 3, 2026

Which days count

Count calendar days in the warehouse's own time zone. The day a pallet arrives counts. The day it leaves does not. A pallet that arrives and leaves on the same day still counts as one day, because it used the space.

A pallet-day is one pallet in the building for one day. Ten pallets for seven days is 70 pallet-days.

In this June example, at $0.45 per pallet per day, the 10 pallets received on Jun 3 are billed up to Jun 9, the day before they shipped. The 6 pallets that came and went on Jun 12 count once. That is 76 pallet-days, or $34.20.

When some of a client's pallets leave, the oldest go first. That matters as soon as pallets arrive on different days: it decides which receipts keep counting, which free days still apply and which rate they were received under.

One client in June, at $0.45 a pallet-day
DateWhatPallets
Jun 3Received10
Jun 10Shipped−10
Jun 12Received6
Jun 12Shipped, same day−6
What gets billed
10 pallets, Jun 3 to Jun 970 pallet-days
6 pallets, Jun 126 pallet-days
Storage$34.20
Invoice subtotal$34.20

Per pallet per day, or per pallet per month

Warehouses quote storage one of three ways. The same June activity below gives three different invoices, because each method treats a partial month differently.

The same client, June (30 days)
DateWhatPallets
May 31On hand from May20
Jun 16Received40
Jun 24Shipped−20
Three ways to bill it
MethodWorkingStorage
Per pallet per day, $0.601,060 pallet-days × $0.60$636.00
Per pallet per month, $16.00, prorated by day1,060 pallet-days × $16.00 ÷ 30 days$565.33
Per pallet per month, $16.00, charged in full60 pallets × $16.00$960.00

Per pallet per day multiplies pallet-days by the daily rate. It is the most exact, and the easiest to explain to a client line by line.

Per pallet per month, prorated by day, uses the same pallet-days but divides the monthly rate by the number of days in that month. A pallet costs a little more per day in February than in July, and the result is rounded once, to the cent, at the end.

Per pallet per month, charged in full, charges every pallet on hand on the 1st, and every pallet received during the month, a whole month. Here that is the 20 pallets already on hand plus the 40 received on Jun 16, even though those 40 were in for half the month. It rewards the warehouse for short stays, is simple to check, and matches how the IWLA standard terms charge goods already in storage on the 1st.

None of the three is wrong. The right one is whatever your contract with that client says.

Pallets that cross the month end

Forty pallets arrive on Jan 28 and ship on Feb 3. Handling in and out is $4.00 a pallet. The storage belongs to two invoices, and each handling charge belongs to the month the pallets moved.

Per day at $0.50: January bills 160 pallet-days (Jan 28 to Jan 31) plus inbound handling, $240.00 in all. February bills 80 pallet-days (Feb 1 and Feb 2) plus outbound handling, $200.00.

Per month at $15.00, charged in full: the pallets were in the building in both months, so each month charges them a whole month: $600.00 of storage in January and $600.00 again in February, for six nights.

This is where spreadsheets go wrong most often. A formula that looks only at the current month drops the four January days, or a copied row bills the February days twice. Build each month from the dated movements rather than from last month's sheet.

Across the end of January
DateWhatPallets
Jan 28Received40
Feb 3Shipped−40
January invoice, per day at $0.50
40 pallets, Jan 28 to Jan 31160 pallet-days
Storage$80.00
Inbound handling$160.00
Invoice subtotal$240.00
February invoice, per day at $0.50
40 pallets, Feb 1 to Feb 280 pallet-days
Storage$40.00
Outbound handling$160.00
Invoice subtotal$200.00

Free days

Some contracts give each receipt a number of free days before storage starts, often to cover cross-docking or quick turns. With 5 free days, a pallet received on the 10th is first billed on the 15th.

In this March example the 30 pallets received on Mar 10 ship on Mar 13, inside their free days, so they cost nothing to store. The 25 pallets received on Mar 20 are billed from Mar 25: 175 pallet-days at $0.50, or $87.50.

Two details are worth writing into the contract. Free days usually apply to new receipts, not to pallets already on hand when billing started (Tallybay applies none to an opening balance). And when rates change, the free days that apply are the ones in force on the day the pallets arrived.

March, 5 free days, $0.50 a pallet-day
DateWhatPallets
Mar 10Received30
Mar 13Shipped−30
Mar 20Received25
What gets billed
25 pallets, Mar 25 to Mar 31175 pallet-days
Storage$87.50
Invoice subtotal$87.50

Minimum monthly charges

A minimum keeps a small or seasonal client worth the space. When storage for the month comes to less than the minimum, the invoice adds the difference as a line of its own, so the client can see both numbers.

Here 8 pallets arrive on Apr 20: 88 pallet-days at $0.40 is $35.20. The minimum is $75.00, so the top-up is $39.80. Inbound handling of $32.00 is charged on top: a storage minimum is met by storage, not by handling.

If a rate change starts mid-month, the minimum for that month is the one that applied on the 1st.

April, $75.00 minimum
DateWhatPallets
Apr 20Received8
What gets billed
8 pallets, Apr 20 to Apr 3088 pallet-days
Storage$35.20
Minimum top-up$39.80
Inbound handling$32.00
Invoice subtotal$107.00

Half-month billing, the IWLA default

The International Warehouse Logistics Association (IWLA) publishes standard contract terms, and warehouses reuse them in their own agreements. In the 2026 IWLA Standard Contract Terms and Conditions, section 4(c) sets the default when nothing else is agreed in writing: goods received from the 1st to the 15th of a month are charged a full month, goods received from the 16th to the end are charged half a month, and after that a full month falls due on the 1st of each month for everything still in storage. Section 4(d) allows an anniversary month instead, if both sides agree in writing.

Tallybay does not bill half months or anniversary months yet. If your contracts use either, its storage figure for pallets received after the 15th will not match them. Per day, per month prorated and per month in full, as above, are what it bills today. If half-month terms are what your clients sign, tell us at hello@tallybay.com; we would like to hear about it.

The IWLA terms are published by IWLA; read the document itself before relying on any summary, including this one.

When a rate changes mid-month

Put the new rate on a dated version of the rate card instead of overwriting the old one, and the arithmetic follows from the method:

  • Per day, and per month prorated: each day is priced at the rate in force that day, so the invoice shows one storage line before the change and one after.
  • Per month in full: a month's charge falls due on a single day (the 1st for pallets on hand, the receipt day for new ones) and uses the rate in force that day. Pallets already in storage move to the new rate on the next 1st.
  • A change of method, from per day or prorated to per month in full or back: the method in force on a pallet's charge day holds for the rest of that month, and the new one applies to it from the next 1st. Pallets received after the change take the new method straight away. Nothing is billed twice and no days are left out.

The month-end billing checklist has a line for this, because a rate change agreed by email is the easiest thing to miss.