ICMS "por dentro": the arithmetic mistake that eats the freight margin
Why the ICMS on freight divides instead of multiplying, what getting it wrong costs, and which rate applies between Brazil's states.
By The CargoIA team3 min read
Whoever sells freight to a company has to turn what they pay the driver into what they charge the client. The calculation has two parts, the margin and the ICMS (Brazil's state tax on goods and on transport services), and the ICMS is where the mistake usually shows up.
The right calculation
company freight = driver freight × (1 + margin) ÷ (1 − ICMS)
The margin multiplies and the ICMS divides. It divides because the tax is charged "por dentro", inside its own base (Lei Complementar 87/1996, art. 13, § 1º, I). The 12% falls on the final price, with the tax already in it, not on the amount before it.
The shortcut that costs money
The shortcut is to multiply by 1.12 instead of dividing by 0.88, and the two give different results. An example per tonne, with tolls apart:
| Multiplying by 1.12 | Dividing by 0.88 | |
|---|---|---|
| Driver freight | R$150.00 | R$150.00 |
| With a 10% margin | R$165.00 | R$165.00 |
| Company freight | R$184.80 | R$187.50 |
| 12% ICMS on the company freight | R$22.18 | R$22.50 |
| What is left after ICMS | R$162.62 | R$165.00 |
With the wrong calculation, the planned margin of R$15.00 per tonne drops to R$12.62. That is R$2.38 less on every tonne, almost 16% of the margin. With 3,000 tonnes a month, the month's margin comes out about R$7,100 short.
At 7% the loss is smaller: R$165.00 ÷ 0.93 is R$177.42, and R$165.00 × 1.07 is R$176.55. With the wrong calculation, R$164.19 is left after the tax, R$0.81 less per tonne.
Which rate applies
Between states, the rate follows Resolução do Senado Federal nº 22/1989:
- 7% when the freight leaves the South or the Southeast (Espírito Santo excepted) for the North, the Northeast, the Center-West or Espírito Santo;
- 12% every other way.
The direction of the lane matters. From Cascavel (PR) to Sorriso (MT) the rate is 7%; from Sorriso to Paranaguá (PR) it is 12%. So the two directions of one lane can carry different rates.
Within a single state, the state sets the rate, with its own rules for credits and exemptions. In CargoIA, the organization enters its own intrastate rate in its ICMS table, and the quote uses whatever is there. Until it does, the quote charges no ICMS on that lane and says the intrastate rate has not been set.
Where the margin and the ICMS live
Under Freight → Settings, each organization sets its default margin, the ICMS rates that replace the law's, and the lanes with figures of their own. For a freight, CargoIA looks in this order: what you typed in that quote, the lane, the organization and, last, the law. A blank field follows the default and says where it came from.
Tolls stay out
Tolls take no margin and no ICMS. Under Lei 10.209/2001, the vale-pedágio is not part of the freight, so it passes to the client at its own value. That is why every price in CargoIA says "plus tolls".
See the plans and set your margin and ICMS once to see the company freight in every quote.