TF Fiscal

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.

DirectionCSTMeaningWhen to use
Outbound50Taxed outboundManufacturer selling its products; fill aliquota.
Outbound51Zero rateProducts rated 0 in the TIPI.
Outbound52ExemptProducts explicitly exempted by law.
Outbound53Not taxedThe usual choice for trading companies and Simples companies.
Outbound54ImmuneExports, books and periodicals and other constitutional immunities.
Outbound55SuspendedTemporary dispatches: repair, toll manufacturing, trade fairs.
Outbound99Other outboundGeneric code; another common value for non-manufacturers.
Inbound00Inbound with credit recoveryManufacturer buying inputs.
Inbound01 – 05 · 49Zero / exempt / not taxed / immune / suspended · other inboundMirror of outbound 51–55 / 99.

Platform fields and rules

FieldPurpose
ipi.situacao_tributariaCST. 00 / 49 / 50 / 99 produce the taxed group (base and amount); all others the non-taxed group.
ipi.aliquotaRate (%). Non-taxpayers send 0.
ipi.codigo_enquadramentoLegal framing code; 999 = other / regular taxation, applying in almost every case. Exemptions and immunities use their code from the IPI framing table.
ipi.valor_unidadeFixed amount per unit when IPI is charged by quantity (beverages etc.).
price_includes_ipiInvoice- 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_devolvidoIPI 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.