The 4 Types of Road Freight Rate Grids, Explained

Written by Martin Nivel · Founder of Cargavo Updated 11 min read

Road freight tariffs come in four grid structures. Weight-zone prices a rate per 100 kg by weight bracket and destination zone. Per-pallet prices a total by pallet count and zone. Loading-meter brackets price by the metres of trailer floor occupied. Hybrid weight charges a flat fee below a weight threshold and a per-100 kg rate above it. Recognising which one you are holding is the whole job of digitising a tariff.

What are the types of road freight rate grids?

Road freight uses four rate grid structures: weight-zone, a rate per 100 kg by weight bracket and destination zone; per-pallet, a price by pallet count and zone; loading-meter brackets, a price by LDM occupied; and hybrid weight, a flat fee below a weight threshold with a per-100 kg rate above it.

A rate grid is the table a carrier gives you at contract signature: destinations on one axis, shipment size on the other, a buy price in every cell. What changes from carrier to carrier is not the idea — it is what sits on the size axis. That single choice determines how the grid is read, what data you must collect from the shipper before you can quote, and where the tariff will trip you up.

Four structures cover road freight. Cargavo, a TMS for freight brokers of 2 to 25 people, names them weight_zone, pallet, mpl_bracket and hybrid_weight, because those are the four shapes a pricing engine has to be able to read.

Grid typeEngine tokenSize axisA cell containsTypical carrierBreaks when
Weight-zoneweight_zoneWeight bracketRate per 100 kgGroupage / LTLVolume, not weight
Per-palletpalletPallet countPrice, 1 to n palletsPallet networkAbove the last column
LDM bracketmpl_bracketLoading metresPrice per LDM bandPart-load haulierDimensions unknown
Hybrid weighthybrid_weightWeight, two regimesFlat fee, then rateRegional carrierAt the threshold

The zone axis is common to all four and is almost always postcode-based: a list of prefixes mapped to a zone label. Two carriers serving the same country will disagree about which postcodes belong to which zone, so zones are never portable between grids — they belong to the grid, not to your address book.

The four sections below take each structure in turn: what a row looks like, who uses it, how to read a line, a complete worked example, and the trap. For the wider context — validity dates, surcharges, tariff renewals — see the rate grids and pricing category.

How does a weight-zone rate grid work?

A weight-zone grid lists destination zones down one axis and weight brackets across the other, with a rate per 100 kg in each cell. You take the chargeable weight, find its bracket, multiply by the rate, then apply the minimum charge — and check whether declaring the next bracket up is cheaper.

This is the default structure of groupage and LTL tariffs. A row is one zone; the columns are weight brackets — 0 to 99 kg, 100 to 299 kg, 300 to 499 kg, and so on up to full-load territory. Each cell holds a rate per 100 kg, which is why the numbers look small and why reading the unit is the first thing to verify. A cell reading 16.90 is €16.90 per 100 kg, not €16.90 for the shipment.

Take zone 3 of a real-shaped tariff, minimum charge €62.00:

Weight bracketRate per 100 kgPrice at bracket floor
100–299 kg€28.40€28.40
300–499 kg€22.10€66.30
500–999 kg€16.90€84.50
1,000–1,999 kg€13.40€134.00
2,000–2,999 kg€11.20€224.00

Quote 940 kg to zone 3. The naive reading: 940 kg sits in the 500–999 kg bracket, so 9.40 × €16.90 = €158.86. The correct reading: declare 1,000 kg instead and pay 10 × €13.40 = €134.00. You charge for 60 kg you are not shipping and the customer pays €24.86 less. That is paying-for logic — also called the weight break, deficit weight or alternation clause — and it is a contractual entitlement, not a trick.

The mistake most engines make is comparing only against the next bracket. Here you must also test 2,000 kg (20 × €11.20 = €224.00, worse) and every bracket above. Cargavo, a TMS for freight brokers, evaluates every bracket floor above the shipment and keeps the lowest result on every quote. See the paying-for definition in the glossary, and check your own tariff with the chargeable weight calculator.

How does a per-pallet rate grid work?

A per-pallet grid prices by pallet count and zone: one column per quantity, from 1 pallet up to the network maximum. The unit price falls as the count rises. You need no weight and no dimensions to quote — only the number of pallets and the destination postcode.

Pallet networks and palletised distribution carriers price this way because their whole operation is counted in pallet spaces. The grid is the easiest of the four to quote from: a row per zone, a column per pallet count, and the cell is the answer. No chargeable weight, no cubing, no dimensions.

Zone B of a pallet grid, with the implied unit price shown for clarity:

PalletsShipment pricePrice per pallet
1€78.00€78.00
2€138.00€69.00
3€189.00€63.00
4€236.00€59.00
5€280.00€56.00
6€318.00€53.00

Four pallets to zone B costs €236.00. Done. The degression is the point: the sixth pallet costs €38.00 while the first costs €78.00, so consolidating two three-pallet orders into one six-pallet movement saves €60.00 against €378.00 booked separately.

Two traps. First, column ambiguity: some carriers publish the shipment total (the middle column above), others publish the unit price (the right column). Digitise €53.00 as a shipment total when it means €53.00 per pallet and you will quote a six-pallet load at one sixth of cost. Read the header, then verify against a past invoice.

Second, pallet spaces are not pallets. A 1.20 × 1.00 m block pallet, an over-height pallet that cannot be stacked, or a 2.20 m long crate occupies more than one space, and the network charges accordingly. And every pallet grid stops somewhere — often at 6, 10 or 12. Beyond the last column there is no rate at all, which is a routine situation rather than a failure: see quoting when no rate grid covers the lane. Cargavo, a TMS for freight brokers, keeps those requests in the same pipeline with the same Q-YYYY-NNNN reference as priced quotes.

How does a loading-meter (LDM) bracket rate grid work?

An LDM bracket grid prices by the metres of trailer floor the freight occupies, in bands such as 0.5–1.0, 1.1–1.5, 1.6–2.0 LDM, per destination zone. You compute loading metres from footprint area divided by the loading width, round to the grid convention, then read the band.

Part-load hauliers price floor space, because floor space is what they actually sell. One loading metre is one metre of trailer length across the full loading width — conventionally 2.40 m, sometimes 2.44 m or 2.45 m depending on the vehicle. A standard 13.60 m semi-trailer is therefore 13.60 LDM.

The calculation, per line of freight: LDM = (length × width × quantity) ÷ loading width, divided again by the stacking factor when the freight is stackable.

Worked example. Six EUR pallets of 1.20 × 0.80 m, non-stackable, to zone C. Footprint per pallet: 1.20 × 0.80 = 0.96 m². Divided by 2.40 m of loading width: 0.40 LDM each. Six pallets: 2.40 LDM. Now read the bracket table:

LDM bracketZone BZone CZone D
0.5–1.0€142.00€165.00€198.00
1.1–1.5€196.00€225.00€268.00
1.6–2.0€241.00€278.00€330.00
2.1–2.5€279.00€322.00€384.00
2.6–3.0€312.00€360.00€429.00

2.40 LDM lands in the 2.1–2.5 band: €322.00 to zone C. Declare the same six pallets as stackable two high and you occupy three stacks — 1.20 LDM, band 1.1–1.5, €225.00. A stackability checkbox is worth €97.00 on this single shipment, which is why it belongs on your quote request form and not in a phone call.

The trap is the LDM floor hiding in weight-based tariffs. A contract clause reading "minimum 1,750 kg per loading metre" turns 2.40 LDM into 4,200 kg of chargeable weight even if the freight actually weighs 1,900 kg — and that chargeable weight then feeds a weight_zone grid. Full treatment in LDM pricing explained; compute your own with the loading metre calculator and the chargeable weight definition.

What is a hybrid rate grid?

A hybrid grid uses two pricing regimes separated by a weight threshold: a flat fee for shipments below it, a rate per 100 kg above it. Regional carriers handling both parcels and pallets publish these, and the price jumps discontinuously the moment a shipment crosses the threshold.

The hybrid structure exists because one carrier is doing two jobs. Below a threshold — commonly 100 kg — the shipment is priced as a flat fee per consignment, like a parcel. Above it, it is priced per 100 kg, like groupage. Regional parcel-to-pallet operators publish these constantly, and they are the structure most often mis-digitised, because they look like two separate tariffs on one page.

Zone 2 of a hybrid grid: flat €38.50 below 100 kg, €31.50 per 100 kg from 100 kg, minimum charge €62.00.

Actual weightRegimeRaw calculationCharged
45 kgFlat€38.50€38.50
99 kgFlat€38.50€38.50
100 kgPer 100 kg1.00 × €31.50 = €31.50€62.00
180 kgPer 100 kg1.80 × €31.50 = €56.70€62.00
300 kgPer 100 kg3.00 × €31.50 = €94.50€94.50

Read the 99 kg and 100 kg rows together: one extra kilogram adds €23.50, a 61 % increase. That step is real, it is in the contract, and your sell price has to reproduce it. If your quote for 100 kg comes back at €38.50 because someone extended the flat fee "just over" the threshold, you are shipping at a loss and no report will tell you.

Now delete the minimum charge line and re-read: 100 kg would price at €31.50, less than the 99 kg flat fee. The minimum charge is not decoration on a hybrid grid — it is the piece that keeps the curve monotonic. Digitise the flat fee and the rate table but skip the minimum, and the grid becomes cheaper as freight gets heavier across a whole band. Cargavo, a TMS for freight brokers, stores the threshold, the flat fee, the per-100 kg rates and the minimum charge as four required fields of a hybrid_weight grid, so an incomplete hybrid cannot be saved as a valid one — see rebuilding an Excel rate sheet into a TMS.

How do you tell which grid type a carrier tariff uses?

Read the header row of the rate table. Weight units in kilograms mean weight-zone; integers 1 to 12 mean per-pallet; decimals such as 0.5, 1.0, 1.5 mean LDM brackets; a separate flat-fee line above a weight table means hybrid. The left-hand column is almost always the zone.

Carriers do not label their tariffs. The file is called Tarif 2026 v3 final.xlsx and the structure is implicit. Three signals identify it in under a minute.

Header row showsLeft column showsExtra clueGrid type
0–99, 100–299, 300–499Zone 1, Zone 2"per 100 kg"weight_zone
1, 2, 3, 4, 5, 6Zone A, Zone B"pallets"pallet
0.5, 1.0, 1.5, 2.0Zone A, Zone B"LDM" or "ml"mpl_bracket
Weight bracketsZone 1, Zone 2Flat fee line abovehybrid_weight

Three ambiguities are worth knowing about before you commit.

Weight columns with an LDM footnote

A weight-zone table with "minimum 1,750 kg / LDM" in the footnotes is still a weight_zone grid. The LDM clause is a chargeable weight rule that runs before the grid lookup, not a second grid. Digitising it as an mpl_bracket grid will produce prices that are wrong in both directions.

Pallet columns that continue into weight

Some pallet networks price 1 to 6 pallets, then switch to a per-100 kg table for anything larger. That is two grids from one carrier on one page — a pallet grid and a weight_zone grid — not a hybrid. Hybrid means one size axis in two regimes.

One tariff, several vehicle types

A haulier quoting a 3.5 t van, a 12 t rigid and a semi-trailer separately is publishing three grids, usually mpl_bracket, that happen to share a zone map. Keep them separate so the engine can compare them. Cargavo, a TMS for freight brokers, holds each as its own grid against the same carrier and compares them on every quote — see carrier rate grid management for the full lifecycle.

What goes wrong when you digitise the wrong grid type?

Forcing a tariff into the wrong structure produces errors that are silent and directional: you lose money on the same shipment profile every time rather than randomly. The four classic failures are dropped paying-for logic, unit confusion in pallet grids, ignored stackability, and a hybrid threshold without its minimum charge.

Structural errors do not behave like typos. A typo is wrong once. A structural error is wrong on every shipment matching a given profile, always in the same direction, and it never surfaces at quote time — it surfaces months later in the gap between what you invoiced and what the carrier invoiced you.

  • Weight-zone flattened into a single rate. Averaging the brackets into one per-100 kg figure loses the degression: light shipments become uncompetitive, heavy ones become unprofitable, and both errors grow with distance from the average.
  • Paying-for logic dropped. Every shipment sitting near the top of a bracket is over-quoted — €158.86 instead of €134.00 in the example above. Customers who also hold the carrier tariff notice.
  • Pallet unit confusion. Reading a per-pallet unit price as a shipment total under-quotes proportionally to size, so your largest and most valuable movements are the ones you sell below cost.
  • Stackability ignored on an LDM grid. Quoting non-stackable freight as stackable halves the LDM and the price. In the zone C example, €225.00 charged where €322.00 was due, on every single non-stackable movement.
  • Hybrid without its minimum charge. The price curve inverts across the threshold band, and the shipments just above the threshold — usually the most frequent size — all leak.

Two habits catch these before they compound. First, re-quote ten past shipments against the digitised grid and reconcile against the carrier invoices you already have; every structural error shows up in that sample, because it is directional. Second, make the margin a separate layer from the buy grid, so a pricing gap is unambiguously either a grid error or a margin error, never both at once — the mechanics are in percentage vs fixed margin rules. Cargavo, a TMS for freight brokers, computes the buy price from the grid and applies the sell margin server-side afterwards, which keeps those two failure modes separable.

How do you map these four grid types into a TMS?

Pick the grid type first, then enter zones, brackets and rates as structured data rather than cells. Cargavo stores tariffs as weight_zone, pallet, mpl_bracket or hybrid_weight, computes the buy price from the grid and applies your margin server-side, so the customer sees a sell price only.

Once the structure is identified, digitising is data entry against a schema rather than transcription. Cargavo, a TMS for freight brokers of 2 to 25 people, asks for the grid type before anything else, because the type determines which fields exist: weight brackets and a paying-for switch for weight_zone, a maximum pallet count for pallet, a rounding convention and a loading width for mpl_bracket, a threshold and a flat fee for hybrid_weight. Common to all four: zones, currency, validity dates, minimum charge, fuel surcharge index and options such as tail lift, ADR, ad valorem insurance and delivery appointment.

The same engine then reads all four for both sides of the deal. Buy price is the grid result. Sell price is the buy price with your margin applied — p / (1 − m) for a percentage margin, or a fixed amount — set per customer, per grid or per bracket, and computed on the server on every quote. Your customer sees the sell price, never the buy rate and never the margin. Accepted quotes carry a Q-YYYY-NNNN reference and become shipments numbered S-YYYY-NNNN. Amounts are held in EUR, USD, GBP, CHF, CAD, MAD or PLN, and the interface runs in English, French, Spanish or German.

What this is not: Cargavo does not connect to carrier APIs or EDI, is not a freight exchange, is not a fleet or dispatch system, and is not a tendering marketplace. The prices it returns are your negotiated rates from your rebuilt grids — which is precisely why the four structures above have to be modelled correctly rather than approximated.

Plans are €49, €149 and €399 per month, annual billing is roughly two months free, and the trial runs 14 days with no credit card. Details on the pricing page. If you are still deciding whether a structured engine beats the spreadsheet you have, rate grid vs rate engine draws the line.

Frequently asked questions

How many types of freight rate grids are there?

Road freight tariffs reduce to four grid structures: weight-zone, per-pallet, loading-meter (LDM) bracket and hybrid weight. Anything that looks like a fifth type is normally one of these four combined with a chargeable weight rule, a minimum charge or a surcharge matrix. Cargavo stores them as weight_zone, pallet, mpl_bracket and hybrid_weight.

What is a weight break rate table?

A weight break rate table is a weight-zone grid whose per-100 kg rate falls as the weight bracket rises, so each bracket boundary is a break point. Because the rate drops, declaring the next bracket up can cost less than the actual weight — a right known as paying-for, deficit weight or the alternation clause.

What is paying-for logic in a freight rate grid?

Paying-for logic means charging a shipment as if it were heavier, when the higher weight bracket produces a lower total price. A 940 kg shipment billed at 9.40 × €16.90 costs €158.86, while declaring 1,000 kg at €13.40 per 100 kg costs €134.00. A correct pricing engine tests every bracket above the shipment and keeps the lowest total.

What is the difference between a per-pallet grid and an LDM grid?

A per-pallet grid prices by counted pallets and needs no dimensions, which makes it fast to quote but useless above its last column. An LDM grid prices by the trailer floor space occupied, so it needs length, width, quantity and stackability, and it handles non-standard or oversized freight that a pallet count cannot describe.

Does a rate grid include the fuel surcharge?

Usually not. Most road freight grids publish net rates and apply the fuel surcharge separately as an indexed percentage that changes monthly. Store the grid and the surcharge index as two distinct objects, because the grid is renegotiated yearly while the index moves continuously and must stay traceable per quote.

Can one carrier use two different grid types?

Yes, and it is common. A pallet network may price 1 to 6 pallets per pallet and switch to a per-100 kg table above that, and a haulier may publish a separate LDM bracket grid per vehicle size. Keep each structure as its own grid sharing the same zone map so the engine can compare them on the same request.

Related guides

More guides on this topic — Rate grids & pricing