Skip to main content

Brazil Software Import Taxes: A Step-by-Step Calculation Guide

Marina Campos
Marina CamposNovember 8, 202520 min. read
Brazil Software Import Taxes: A Step-by-Step Calculation Guide

Every software import into Brazil pays five taxes. The calculation most companies run is wrong: it ignores gross-up, applies rates to incorrect bases, and underestimates the exchange spread. The result is not savings. It is a tax liability of up to five years, rectifiable with a 75% penalty plus SELIC interest.

The correct calculation follows a precise model. The five levies are IRRF (15%), CIDE (10%), PIS/COFINS (9.25%), ISS (2% to 5% depending on the municipality; São Paulo: 2.9%), and IOF (3.5%). Three of them require gross-up. One qualifies for a tax credit. And the bank spread applies to the total cost of the operation, not just the software price.

Why the Standard Calculation Is Wrong

The typical CFO spreadsheet multiplies the contract price by 1.40 and books the provision. That calculation misses three mechanisms that alter the tax base, and each one compounds the error:

The IRRF gross-up. When the contract is net of taxes, IRRF is not 15% on the invoice value. It is 15% on a grossed-up base that already incorporates the tax itself. The error is systematic: the company under-withholds and the difference compounds quarter after quarter. By the time the Receita Federal cross-references the remittance with the DARF, the company has accumulated a debt that cannot be fixed by adjusting the next remittance alone.

The PIS/COFINS cumulativity. PIS/COFINS-Import is levied on a base already grossed up by IRRF and also grossed up by itself. It is a double gross-up. Applying 9.25% directly to the contract price creates a difference of roughly 8% in the amount due. Most tax teams miss this because they treat PIS/COFINS as a simple rate applied to P, when in fact its base has already been inflated twice before the calculation starts.

The exchange spread. The bank charges its margin on the total amount remitted abroad: the software price plus all taxes. The higher the tax burden, the larger the base on which the spread is applied. This means every percentage point of tax error also increases the spread cost. A 5% spread on a R$ 500,000 contract costs R$ 25,000 in pure bank margin.

The complete nationalization guide is in How to Nationalize Imported Software in Brazil. For contractual and exchange risks of the operation, see Software Import: A Guide to Risks, Costs, and Structuring.

The Calculation Model

Six variables define the tax cost of the operation:

VariableDefinitionDefault value
PSoftware price in reaisGiven by the contract
Base exchange rateOfficial rate of the dayPTAX (Central Bank)
SpreadBank margin over the exchange rate2% to 5%
Final exchange rateBase rate × (1 + Spread)Calculated

The five taxes are levied on P with distinct tax-base rules. Two are direct (applied to P without adjustment). Three require gross-up (the base is inflated to incorporate the tax due). The order of calculation is not arbitrary: IRRF must be calculated first because its grossed-up base feeds CIDE and PIS/COFINS. ISS and IOF come last because they use the original P, unaffected by the preceding steps.

Step 1: IRRF (15%) with Single Gross-Up

IRRF is the first tax because its grossed-up base feeds the subsequent calculations. The standard rate is 15% (Art. 767 of RIR/2018). The tax base is not P. It is P divided by (1 minus the rate). This is the gross-up: the tax is calculated on a base that already includes it. The mechanism exists because Brazilian law treats the foreign vendor as the taxpayer and the Brazilian acquirer as the withholding agent. For the vendor to receive the net contracted amount, the Brazilian company must gross up the payment before withholding.

Formula:

IRRF Base = P / (1 - 0.15) = P / 0.85
IRRF = IRRF Base × 0.15 = P / 0.85 × 0.15

For P = R$ 5,316.24: the base is 5,316.24 / 0.85 = R$ 6,254.40. IRRF due is 6,254.40 × 0.15 = R$ 938.16.

Without the gross-up, the company would calculate 5,316.24 × 0.15 = R$ 797.44. The R$ 140.72 difference seems small. On a R$ 500,000 contract, that is R$ 13,235 per remittance. Over 12 months, R$ 158,820 not withheld, plus penalty and interest.

IRRF is recoverable for companies under Lucro Real (offset against IRPJ for the quarter). For Lucro Presumido and Simples Nacional, it is a cost. The recovery happens in the next quarterly tax return, which means the company carries the cash outflow for up to three months.

Step 2: CIDE (10%) with the Same Gross-Up

CIDE applies to the same base as IRRF. The rate is 10% (Law 10.168/2000, Art. 2). CIDE (10%) — applies only when technology transfer is involved. For pure software licensing without source code or technical know-how transfer, Law 10.168/2000, Art. 2, §1º-A, expressly excludes the levy. COSIT Ruling 177/2024 confirmed this exclusion for SaaS and cloud software. Consult your accountant to confirm your contract's nature.

Formula:

CIDE = P / 0.85 × 0.10

For P = R$ 5,316.24: CIDE = 6,254.40 × 0.10 = R$ 625.44.

Note: this calculation applies only when technology transfer is involved. For pure software licensing, CIDE does not apply and must be excluded from the provision.

CIDE generates no tax credit under any regime. It is pure cost. Its base is identical to IRRF because both share the same single gross-up rule. There is no offset mechanism, no deduction, no recovery in any subsequent tax period. What is paid is paid.

Step 3: PIS/COFINS (9.25%) with Double Gross-Up

PIS/COFINS-Import is the most complex tax to calculate. It is levied on the base already grossed up by IRRF and also incorporates itself. It is a double gross-up: first over IRRF, then over its own 9.25% rate. This is what Brazilian tax law calls a "cálculo por dentro" — a tax calculated from within its own taxable base.

Formula:

PIS/COFINS Base = P / (1 - 0.15) / (1 - 0.0925) = P / 0.85 / 0.9075
PIS/COFINS = PIS/COFINS Base × 0.0925

For P = R$ 5,316.24: the base is 5,316.24 / 0.85 / 0.9075 = 6,254.40 / 0.9075 = R$ 6,891.20. PIS/COFINS due is 6,891.20 × 0.0925 = R$ 637.50.

If the company applied 9.25% directly to P, it would withhold R$ 491.75. The R$ 145.75 difference per remittance is precisely the effect of the double gross-up. Over a full year of monthly remittances, that single miscalculation compounds to R$ 1,749 in unpaid tax.

For companies under Lucro Real, PIS/COFINS generates a full tax credit (non-cumulative regime). This is the single largest lever for reducing the net cost of importing software. The credit offsets PIS/COFINS liabilities on domestic operations, not just import operations.

Step 4: ISS (2% to 5% Depending on the Municipality; São Paulo: 2.9%)

ISS is levied directly on P, without gross-up. The rate varies by municipality: São Paulo charges 2.9% (Law 16.757/2017, sub-item 1.05 of Complementary Law 116/2003). The rate range of 2% to 5% exists because each municipality sets its own ISS rate within the federal ceiling.

Formula:

ISS = 0.029 × P

For P = R$ 5,316.24: ISS = 0.029 × 5,316.24 = R$ 154.17.

ISS generates no credit under any regime. Your municipality's rate must be confirmed before each operation: the range is 2% to 5%. The difference between paying 2% and 5% on a R$ 100,000 contract is R$ 3,000 — this alone justifies verifying the rate before each contract.

Step 5: IOF (3.5%)

IOF-Câmbio is levied on P, without gross-up. The 3.5% rate is set by Decree 6.306/2007, Art. 15-B. IOF was originally designed as a monetary policy tool, not a revenue instrument, but the rate has been stable for software-related exchange operations for over a decade.

Formula:

IOF = 0.035 × P

For P = R$ 5,316.24: IOF = 0.035 × 5,316.24 = R$ 186.07.

IOF taxes the foreign exchange transaction, not the import itself. For this reason, gross-up does not apply. It also generates no credit. The bank collects IOF at the moment of the exchange contract closing and remits it directly to the Receita Federal.

Complete Example: The Real Cost of a R$ 5,316.24 Remittance

Assume P = R$ 5,316.24, base exchange rate = R$ 1.00, bank spread = 5%.

TaxFormulaCalculationAmount
IRRF (15%)P / 0.85 × 0.155,316.24 / 0.85 × 0.15R$ 938.16
CIDE (10%)P / 0.85 × 0.105,316.24 / 0.85 × 0.10R$ 625.44
PIS/COFINS (9.25%)P / 0.85 / 0.9075 × 0.09255,316.24 / 0.85 / 0.9075 × 0.0925R$ 637.50
ISS (2% to 5% depending on municipality; SP: 2.9%)0.029 × P0.029 × 5,316.24R$ 154.17
IOF (3.5%)0.035 × P0.035 × 5,316.24R$ 186.07
Total taxesR$ 2,541.34

Note: the CIDE value in the table assumes technology transfer is involved. For pure software licensing, exclude CIDE from the calculation.

With a base exchange rate of R$ 1.00 and a 5% spread, the final exchange rate is 1.05. The total cost to the client is (P + taxes) × final exchange rate. The spread applies to the gross remittance amount (software plus taxes), not just P. Every real of tax increases the spread cost.

Total cost = (5,316.24 + 2,541.34) × 1.05 = 7,857.58 × 1.05 = R$ 8,250.46

The gross effective burden is 47.8% over P. A company that provisioned 40% has a 7.8 percentage-point gap per remittance.

Net Cost with PIS/COFINS Credit

For companies under Lucro Real, the PIS/COFINS paid (R$ 637.50) generates a tax credit. The net cost is:

Net cost = 8,250.46 - (637.50 × 1.05) = 8,250.46 - 669.38 = R$ 7,581.08

The net effective burden drops to 35.8% (comparing net cost against P × final exchange rate = R$ 5,582.05). A reduction of 12 percentage points made possible exclusively by the non-cumulative regime.

Scaling the Example

For a R$ 100,000 contract under the same assumptions:

ItemValue
Software Price (P)R$ 100,000.00
IRRF (15%)R$ 17,647.06
CIDE (10%)R$ 11,764.71
PIS/COFINS (9.25%)R$ 11,992.87
ISS (SP, 2.9%)R$ 2,900.00
IOF (3.5%)R$ 3,500.00
Total TaxesR$ 47,804.64
Client Cost (gross)R$ 155,194.87
Net Cost (Lucro Real)R$ 142,602.86

Note: the CIDE value in this table assumes technology transfer is involved. For pure software licensing, exclude CIDE from the calculation.

The effective burden holds linear at 47.8% (gross) or 35.8% (net, Lucro Real). There are no volume discounts, no brackets, no progressive rates. The tax structure is flat and proportional. Every additional real of software price adds 0.478 reais in tax cost.

How to Interpret the Effective Burden

The effective burden of 47.8% (gross) or 35.8% (net, Lucro Real) is not a single rate. It is the sum of five taxes with distinct tax bases and an exchange spread that amplifies everything. The three factors that weigh most on the calculation:

IRRF gross-up adds 2.6 percentage points to the burden. Without it, IRRF would be 15% on P. With it, it is 17.6% (938.16 / 5,316.24). The difference lies in the base inflation. The gross-up itself is not optional — it is mandated by Brazilian tax law for any contract that is net of taxes, which covers the overwhelming majority of software import agreements.

PIS/COFINS is the most regime-sensitive tax. Under Lucro Real, 9.25% becomes a credit. Under Lucro Presumido, it is a cost. The choice of regime alters the net burden by 12 percentage points. This means the tax regime decision at the corporate level has a larger impact on software import costs than any negotiation over the CIDE or ISS rate.

The exchange spread applies to P plus taxes. With a 47.8% burden, the 5% spread adds R$ 392.88 (5% × 7,857.58) to the final cost. If the spread applied only to P, it would be R$ 265.81. The difference is the compounding effect: the bank charges margin on the taxes too. Negotiating a lower spread directly reduces not just the exchange cost but the amplification of every tax.

FAQ

Can IRRF be offset?

Yes, exclusively for companies under Lucro Real. The amount withheld is deducted from the IRPJ due in the assessment quarter. The cash impact is temporary: the company disburses at the remittance and recovers in the quarterly assessment. Companies under Lucro Presumido or Simples Nacional cannot offset IRRF and should treat it as a permanent cost in their software procurement budgets.

Does gross-up apply to ISS and IOF?

No. ISS and IOF are levied directly on P, without base inflation. The reason is juridical: ISS taxes the service (the contract value), not the remittance. IOF taxes the exchange transaction, not the import. Both are outside the gross-up logic. This distinction is important because it means the ISS rate and the IOF rate are the only two taxes where the headline rate equals the effective rate.

What changes if the contract is not net of taxes?

If the contract already stipulates that the foreign vendor bears Brazilian taxes (contractual gross-up clause), the calculation is on the vendor's side. In practice, imported software contracts are almost always net of taxes: the Brazilian acquirer is the tax responsible party. The recommendation is to review the tax clause before signing any international contract. A vendor that claims to absorb Brazilian taxes is either pricing them into the contract or does not understand the jurisdiction.

Why does the spread apply to P plus taxes?

Because the bank purchases dollars to remit the total amount abroad: the software price plus all taxes withheld at source (IRRF, CIDE, PIS/COFINS, IOF). The amount leaving the country is the gross amount. The spread is applied to that total. Every real of tax increases the foreign exchange volume and therefore the bank's margin.

How to eliminate gross-up and the exchange spread from the operation?

With a fiscal nationalization marketplace. Nexforce Marketplace acquires the software abroad, withholds taxes under the correct structure, and resells it in Brazil with a domestic invoice. The client pays the software price in reais, without gross-up and without exchange spread. The import becomes a domestic acquisition. The tax savings alone — eliminating the 47.8% gross burden and replacing it with standard domestic tax treatment — typically pays for the marketplace service in the first transaction.

Note: Brazil Tax Reform

Brazil's Tax Reform (LC 214/2025) will replace PIS, COFINS, and ISS with IBS/CBS. PIS/COFINS are eliminated in 2027. ISS is phased out 2029-2032 with full elimination in 2033. See Brazil Tax Reform: The Real Cost for Software Importers.

References and Further Reading