Quoting freight by hand is slow and easy to get wrong. Miss the terminal handling charge, forget that the cargo bills on volume rather than weight, or quote a stale ocean rate, and the difference comes straight out of your margin. A consistent template fixes that. It forces every quote to follow the same structure, so you never leave a cost line out and your customer can see exactly what they are paying for.
Copy the table below into a blank sheet, replace the example values with your shipment, and you have a working quote. Everything in it is real and usable — no placeholder fields, no fake numbers. Further down, there is a step-by-step build guide and the formulas for deriving CBM, chargeable weight, and landed cost.
The Freight Quote Template
Select the whole table, copy it, and paste it into Excel or Google Sheets. The example row shows a 480 kg, 1.6 CBM LCL shipment from Shanghai to Hamburg so you can see how the figures connect. Replace the values in the right-hand column with your own.
| Field | Example value | What it means |
|---|---|---|
| Quote reference | QT-2026-0418 | A unique ID for this quote, so you and the customer can refer to it later. |
| Date / valid until | 13 Jun 2026 / 27 Jun 2026 | When the quote was issued and the last day the price holds. |
| Customer | Acme Imports GmbH | The party you are quoting. |
| Origin | Shanghai, CN (CNSHA) | Where the cargo is collected or handed over. |
| Destination | Hamburg, DE (DEHAM) | Where the cargo is delivered or released. |
| Mode | Sea LCL | Sea LCL, Sea FCL, or Air. Determines how freight is charged. |
| Incoterm | FOB Shanghai | Defines where your cost and risk start and stop. |
| Cargo description | 20 cartons, homeware | What is being shipped, in plain terms. |
| Gross weight | 480 kg | Total weight including packaging and pallets. |
| Volume (CBM) | 1.60 m³ | Total cubic metres. Drives LCL and air pricing. |
| Chargeable weight / W/M | 1.60 W/M | The higher of CBM or weight-in-tonnes. The carrier bills on this. |
| Ocean / air freight | $58.00 × 1.60 = $92.80 | The base freight rate × chargeable units. |
| Origin charges (export) | $45.00 | Origin handling, documentation, B/L fee at the load port. |
| Destination THC | $38.00 | Terminal handling at the discharge port. |
| Customs & duty | $64.00 | Customs clearance fee plus any import duty (if you handle it). |
| Cargo insurance | $22.00 | Optional all-risk marine insurance on the cargo value. |
| Your margin / markup | $48.00 | Your handling fee and profit. Keep it as its own line. |
| Total quote | $309.80 | Sum of all cost lines. The price you give the customer. |
| Currency | USD | State it explicitly — never assume. |
The example totals $309.80: freight ($92.80) + origin ($45) + THC ($38) + customs and duty ($64) + insurance ($22) + margin ($48). In a spreadsheet, the total cell is a simple =SUM() across the six cost rows, and the freight cell is =rate*chargeable_units so it recalculates the moment a rate or quantity changes.
What does a complete freight quote need to include?
A quote that wins business and protects your margin answers three questions for the customer: what am I shipping, what does each part cost, and how long is this price good for. Group your fields accordingly.
Shipment identity. Reference, date, customer, origin, destination, mode, and Incoterm. The Incoterm is not optional — FOB, EXW, CIF, and DAP each shift which charges are yours to quote. Quoting "door to door" when the customer expected "port to port" is the most common cause of a quote that has to be reissued.
Chargeable quantity. Gross weight, CBM, and the resulting chargeable weight or W/M ton. This is where most quoting errors live, because freight is rarely billed on the weight people instinctively expect. Get this number right and the rest of the quote follows.
Cost breakdown. Freight, origin charges, destination THC, customs and duty, insurance, and your margin — each on its own line. A transparent breakdown builds trust and makes negotiation easier: if a customer pushes back, you can defend each line instead of dropping the whole price.
How to derive the numbers that drive the quote
Three figures decide almost the entire price: CBM, chargeable weight, and landed cost. Calculate each one before you fill in the freight line.
Step 1 — Total CBM
CBM is the volume your cargo occupies. For each carton, multiply its dimensions in metres, then multiply by quantity:
Example: 20 cartons at 0.50 m × 0.40 m × 0.40 m
= 0.50 × 0.40 × 0.40 × 20 = 1.60 CBM
If your dimensions are in centimetres, use the CBM calculator to convert and total mixed carton sizes without manual maths.
Step 2 — Chargeable weight
Carriers bill on the higher of volume or weight, not on weight alone. For LCL, the rule is the W/M ton: compare CBM against gross weight expressed in tonnes.
Example: 1.60 CBM vs 480 kg ÷ 1,000 = 0.48 t
Bill on 1.60 W/M (volume wins)
For air freight, the comparison is volumetric weight (CBM × 167, or L×W×H in cm ÷ 6,000) against actual weight. Light, bulky cargo almost always bills on volume — which is exactly why getting CBM right matters so much. The chargeable weight calculator does this comparison for both sea and air in one step.
Step 3 — Landed cost
If your customer wants a delivered, duty-paid price, you need the landed cost: freight plus customs duty, taxes, and the last-mile charges on top of the goods value. Underquoting duty is an expensive mistake because it is a percentage of declared value and can dwarf the freight itself. Run the figures through the landed cost calculator before you commit to a DAP or DDP quote.
Enter CBM and gross weight; get the W/M ton and air volumetric weight instantly so your freight line is accurate the first time.
Open the Chargeable Weight Calculator →
Build the template in Google Sheets in five steps
- Set up the header block. In rows 1–8, label the shipment fields down column A and leave column B for values: reference, date, valid until, customer, origin, destination, mode, Incoterm.
- Add the quantity block. Below the header, add gross weight, CBM, and a chargeable cell. For LCL the chargeable cell is
=MAX(cbm, weight/1000). - List the cost lines. One row each for freight, origin charges, destination THC, customs and duty, insurance, and margin. Put the freight rate in one cell and the chargeable units in another, then compute
=rate*units. - Total it. A single
=SUM()over the six cost rows gives the total quote. Format the currency and bold the total row. - Lock the terms. Add currency, validity date, and a short assumptions note (for example, "rate subject to space and GRI on the sailing date"). Save it as a template tab you duplicate for each new quote.
That spreadsheet will serve you well for the first few dozen quotes a month. The trouble starts when volume grows: every quote is a fresh copy, rates live in your head or in an email thread, and there is no record of which quotes converted. That is the point where forwarders outgrow the sheet.
When a spreadsheet stops scaling
A template is the right tool when you are quoting a handful of shipments a week. Past that, the manual model breaks down in predictable ways: rate cards go stale, two quotes for the same lane come out at different prices, and you cannot tell which customers you quoted last month, let alone whether they booked.
This is the problem myshipment is built to solve. It is shipment management for small freight forwarders — it stores your rate cards, auto-calculates CBM and chargeable weight from the cargo details, generates a branded quote in seconds, and keeps every quote, customer, and booking in one place instead of scattered across spreadsheet copies. If you want to understand how that fits into a wider operations stack, the freight forwarding software guide covers the full picture.
Until then, this template will keep your quotes consistent and your margins protected. Copy it, adapt it to your lanes, and reuse it for every shipment.
And if you are the importer using this template to compare prices, send the same request to several vetted providers from the freight forwarder directory — or a customs broker for clearance — so every quote comes back on the same lane, Incoterm, and chargeable basis and is genuinely comparable.