Two carriers price the same run. One comes back at 12,000 baht, the other at 11,600. The second is a little over 3% cheaper, so the second wins.
Then the invoices start arriving and the numbers stop behaving. There is tax on one that is not on the other. The withholding line is a different percentage. And the cheaper truck needed two trips to move what you had planned as one load.
Nothing was hidden. The two quotes were simply not the same product with two prices on it. They were two different products, each with a price. This is how to turn them into one product before you compare anything.
Step one: find out what each quote actually is
Under the Land Transport Act B.E. 2522, what you are buying has a legal shape, and three of them turn up regularly in the same inbox.
Transport for hire on no fixed route. Section 4(3) defines this as carriage for a fee with no route restriction. This is the licence a company needs in order to sell you a truck movement, and the Department of Land Transport issues it as licence type 70.
Private transport. Section 4(5) defines this as carriage for the operator's own trade or business, in a vehicle over 1,600 kg. Licence type 80. It covers a manufacturer moving its own goods in its own trucks. It does not cover selling that capacity to you.
Freight forwarding. Section 4(8) is a separate activity: taking on the job, then arranging for a licensed transport operator to carry it, with responsibility staying with the party who took the job.
Section 23 says none of these may be operated without a licence from the registrar, and Section 126 sets the penalty for that at imprisonment of up to five years, a fine of 20,000 to 100,000 baht, or both.
So the first line on your comparison sheet is not a price. It is the licence number and type, asked for in writing.
A quote backed by a type 80 licence is not a cheaper version of the same thing. It is a quote for something the operator is not licensed to sell you, and you will discover that at the worst possible moment. A forwarder's quote is a genuine product, but a different one: your goods travel on somebody else's truck, and who answers for them is decided by the contract you sign rather than by whose name was on the quotation.
Step two: the tax lines can reverse the answer
This is where a 3% gap disappears, and sometimes changes direction.
Domestic land transport is exempt from VAT under Section 81(1) of the Revenue Code. Section 81/3 lets certain exempt businesses elect into the VAT system anyway, but the list it covers is agricultural produce, animal products, fertiliser, feed, chemicals for plants and animals, and printed matter. Transport is not on it. A domestic road freight service cannot choose to charge you VAT, which means it also cannot give you input tax to reclaim.
Withholding then depends on what the payment is for. The rates come from Revenue Departmental Order Tor Por 4/2528, and for payments by a company to a Thai company they are:
| What the payment is for | Clause | Rate |
|---|---|---|
| Freight | 12/4 | 1% |
| Provision of services generally | 12/1 | 3% |
| Rent or other gains from renting property | 6 | 5% |
Withholding is calculated on the amount before VAT.
Put the two quotes through that and the ranking can flip. Suppose the 11,600 baht quote is invoiced not as carriage of your goods but as hire of a vehicle with a driver, which is a different thing under the Code and does not sit inside the transport exemption:
| Quote A, invoiced as freight | Quote B, invoiced as vehicle hire | |
|---|---|---|
| Quoted amount | 12,000 | 11,600 |
| VAT at 7% | none, exempt | 812 |
| Invoice total | 12,000 | 12,412 |
| Withheld | 120 at 1% | 580 at 5% |
| Paid to the carrier | 11,880 | 11,832 |
| Your cost if you can reclaim the VAT | 12,000 | 11,600 |
| Your cost if you cannot | 12,000 | 12,412 |
A VAT-registered buyer reclaims the 812 and quote B really is cheaper. A buyer who cannot reclaim it, because the input tax is not claimable against what they do, is paying 412 baht more for the quote that looked cheaper. Same two quotes, opposite answer, and the difference is who is buying rather than who is selling.
There is a second cost hiding in that column, and it is the one that grows. Section 3 Tredecim of the Revenue Code, which is the authority for that departmental order, applies Section 54 to withholding made under it. Section 54 makes a payer who fails to withhold, or withholds too little, jointly liable with the recipient for the shortfall.
That liability is yours, not the carrier's. Withhold 1% across a year of loads on an arrangement the Revenue Department later reads as vehicle hire, and the 4% difference comes back to you. Ask what wording will appear on the invoice, and have your accountant confirm the rate before the first load rather than after the two hundredth.
Step three: a truck is not a specification
"6-wheel" and "10-wheel" describe axles, not capacity. Two operators can both quote a 6-wheel and mean vehicles with usefully different decks, and neither is misleading you.
Three questions turn a wheel count into something you can compare: the usable deck length and width, the internal height at the door, and the payload figure as it appears on the vehicle's registration document rather than as remembered. Working out which truck class the load actually needs before you ask anyone for a price makes this conversation much shorter.
Step four: put both quotes into one cost unit
Transport costing works by choosing a unit and expressing everything in it: cost per kilometre, cost per tonne-kilometre, cost per case or pallet delivered. Pick the one that matches how your goods actually move, then convert both quotes into it. A per-trip price is almost never the right unit, because it hides how much of your goods a trip carries.
Take the same two quotes, with a load on 1.0 by 1.2 metre pallets that cannot be stacked, and a deck 2.3 metres wide taking two pallets across:
| Quote A | Quote B | |
|---|---|---|
| Price per trip | 12,000 | 11,600 |
| Usable deck length | 7.2 m | 5.8 m |
| Pallet rows at 1.2 m | 6 | 4 |
| Pallets per trip | 12 | 8 |
| Cost per pallet delivered | 1,000 | 1,450 |
If you are moving 12 pallets, quote B is not 400 baht cheaper. It is two trips, 23,200 baht, and nearly double.
This is also the answer to why two honest quotes for the same run differ so widely. Much of the spread is not margin. It is a different vehicle doing a different amount of work.
Step five: price the exclusions at your frequency, not theirs
Every quote includes some things and charges for others. Waiting time, a second drop, a failed delivery, returning empty pallets, an overnight stand. Comparing these as policies gets you nowhere, because they are written differently on purpose. Comparing them as expected cost per load works.
Use your own delivery records for the frequency, not the carrier's assurances. Say your dock keeps trucks past two hours on 40% of loads, by one hour when it happens:
| Quote A | Quote B | |
|---|---|---|
| Free waiting | 2 hours | 1 hour |
| Then | 300/hour | 500/hour |
| Chargeable hours on a late load | 1 | 2 |
| Expected waiting cost per load | 120 | 400 |
| Across 200 loads a year | 24,000 | 80,000 |
Repeat that for every exclusion that happens to you more than occasionally. The list is short, the arithmetic is one line each, and it usually moves more money than the headline rate did.
The sheet
One row per item, one column per carrier, and no price at the top:
- Licence number and type, in writing
- Who carries the goods, and who answers if they are damaged
- What the invoice will say, and what VAT and withholding follow from it
- Deck length, width, internal height, and registered payload
- Cost per pallet, case or tonne-kilometre delivered, not per trip
- Expected cost of each exclusion at your own frequency
- How long the price holds, and what reopens it
Fill that in and the two numbers you started with usually turn out to be third and fourth in importance. The last row deserves its own conversation, because whether you are buying a rate for a year or for one journey changes what the other rows are worth.
The buyers who get caught are rarely the ones who picked the dearer carrier. They are the ones who compared two numbers that were never measuring the same thing.
