IPI in Depth
The federal tax on industrialised products: who the taxpayers are, where the rates come from, how the tax-exclusive computation affects the invoice total, plus CST and legal framing codes
IPI (Imposto sobre Produtos Industrializados) is charged at two moments: when an industrialised product leaves the factory and at customs clearance of imports. Rates come from the TIPI table, item by item per NCM, from 0% up to 300% on tobacco, selectively by essentiality. It is tax-exclusive: added on top of the product price, included in the invoice total and, on sales to final consumers, also folded into the ICMS base.
Taxpayers, rates and computation
- Taxpayers: manufacturers (any “industrialisation”: processing, assembly, repackaging that changes the product), importers, and wholesalers the law treats as manufacturers (e.g. of imported goods). Pure trading companies are not taxpayers and fill a non-taxed code.
- Rates: given by the TIPI per NCM; most consumer goods 0%–15%, beverages by fixed amount per unit or special tables, tobacco highest. Rates are national for a given NCM.
- Base: product price + freight + insurance + other charges − unconditional discounts; on import, customs value + import duty (II).
- Tax-exclusive: IPI is not inside the unit price; it is computed separately and added to the invoice total (vNF). When the buyer is a final consumer or buys for own use, IPI joins the ICMS base; when the buyer resells, it does not.
- Non-cumulative: manufacturers credit the IPI on inputs (inbound CST 00).
- Simples Nacional: IPI is paid inside the DAS; the invoice carries a non-taxed code (99 or 53), rate 0, framing 999.
- Reform: from 2027 IPI rates drop to zero, kept only on goods competing with Manaus Free Zone products.
CST table
Shared by both regimes. Field ipi.situacao_tributaria.
| Direction | CST | Meaning | When to use |
|---|---|---|---|
| Outbound | 50 | Taxed outbound | Manufacturer selling its products; fill aliquota. |
| Outbound | 51 | Zero rate | Products rated 0 in the TIPI. |
| Outbound | 52 | Exempt | Products explicitly exempted by law. |
| Outbound | 53 | Not taxed | The usual choice for trading companies and Simples companies. |
| Outbound | 54 | Immune | Exports, books and periodicals and other constitutional immunities. |
| Outbound | 55 | Suspended | Temporary dispatches: repair, toll manufacturing, trade fairs. |
| Outbound | 99 | Other outbound | Generic code; another common value for non-manufacturers. |
| Inbound | 00 | Inbound with credit recovery | Manufacturer buying inputs. |
| Inbound | 01 – 05 · 49 | Zero / exempt / not taxed / immune / suspended · other inbound | Mirror of outbound 51–55 / 99. |
Platform fields and rules
| Field | Purpose |
|---|---|
ipi.situacao_tributaria | CST. 00 / 49 / 50 / 99 produce the taxed group (base and amount); all others the non-taxed group. |
ipi.aliquota | Rate (%). Non-taxpayers send 0. |
ipi.codigo_enquadramento | Legal framing code; 999 = other / regular taxation, applying in almost every case. Exemptions and immunities use their code from the IPI framing table. |
ipi.valor_unidade | Fixed amount per unit when IPI is charged by quantity (beverages etc.). |
price_includes_ipi | Invoice- or product-level flag: true means the unit price already includes IPI, so the platform derives the tax from the price instead of adding it on top. |
ipi_devolvido | IPI amount returned on a return invoice (impostoDevol in the XML). |
The TIPI is revised periodically by the federal government; use the latest table for rates. Whether an activity counts as industrialisation, or a company as a deemed manufacturer, must be confirmed with your accountant.