# Brazil Payroll Calculator 2026: INSS, IRRF, FGTS, Net Salary (`br_data_hub/br-payroll-calculator`) Actor

Calculate Brazilian CLT payroll in bulk with 2026 rules: employee INSS, income tax (IRRF) with the new R$ 5,000 exemption, net salary, FGTS and employer cost. Also finds the gross salary for a target net.

- **URL**: https://apify.com/br_data_hub/br-payroll-calculator.md
- **Developed by:** [br_data_hub](https://apify.com/br_data_hub) (community)
- **Categories:** AI, Developer tools, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.10 / 1,000 calculations

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Brazil Payroll Calculator 2026 (Salário Líquido, INSS, IRRF, FGTS)

Calculate **Brazilian CLT payroll in bulk** with the **2026 rules**: employee **INSS**, monthly **income tax (IRRF)** with the new **R$ 5,000 exemption** of Lei 15.270/2025, **net salary**, **FGTS** and the **employer cost**, including 13th salary and vacation provisions. It can also do the reverse and find the **gross salary for a target net salary**.

There is no free official API for this: the Receita Federal and INSS publish tables and laws, and every HR system re-implements them. This Actor gives you the calculation as an API, for thousands of employees per run, with each rule and source stated in the result.

Typical uses: payroll checks, job offers ("what gross gives R$ 4,000 net?"), cost of hiring simulations, HR and accounting apps, and AI agents that answer salary questions.

### What you get per salary

- INSS (employee): progressive bands of 7.5%, 9%, 12% and 14% up to the R$ 8,475.55 ceiling (Portaria Interministerial MPS/MF 13/2026)
- IRRF: progressive table, best of legal deductions (INSS + R$ 189.59 per dependent + alimony) or the R$ 607.20 simplified discount, then the **Lei 15.270/2025 reduction**: no tax up to R$ 5,000 of taxable income, decreasing reduction up to R$ 7,350
- Net salary after INSS, IRRF, alimony and other deductions
- FGTS (8%, or 2% for apprentices)
- Employer cost: Simples Nacional or Lucro Presumido/Real (20% INSS + RAT + third parties), plus monthly provisions for the 13th salary and vacation with 1/3

### Input

| Field | Description |
|---|---|
| `employees` | One object per salary: `grossSalary` or `targetNetSalary`, `dependents`, `alimony`, `otherDeductions`, `otherTaxableEarnings`, `contractType` (`"apprentice"`), `id`. Up to 10,000. |
| `referenceYear` | Year of the tables. Currently 2026. |
| `taxRegime` | `simples` (default) or `lucro`. |
| `ratPercent`, `thirdPartyPercent` | Employer rates for the `lucro` regime (defaults 2% and 5.8%). |

```json
{
  "employees": [
    {"id": "analyst", "grossSalary": 5900, "dependents": 1},
    {"id": "net-4000", "targetNetSalary": 4000}
  ],
  "taxRegime": "simples"
}
```

### Output

One dataset item per salary:

```json
{
  "id": "analyst",
  "referenceYear": 2026,
  "grossSalary": 5900,
  "otherTaxableEarnings": 0,
  "taxableIncome": 5900,
  "dependents": 1,
  "inss": 627.51,
  "inssEffectiveRatePercent": 10.64,
  "irrfDeductionType": "legal",
  "irrfDeductions": 817.1,
  "irrfBase": 5082.9,
  "irrfBeforeReduction": 489.07,
  "irrfReduction": 193.06,
  "irrf": 296.01,
  "irrfEffectiveRatePercent": 5.02,
  "alimony": 0,
  "otherDeductions": 0,
  "netSalary": 4976.48,
  "fgts": 472,
  "taxRegime": "simples",
  "employerInss": 0,
  "employerMonthlyCost": 6372,
  "provision13th": 491.67,
  "provisionVacation": 655.56,
  "provisionCharges": 91.78,
  "employerMonthlyCostWithProvisions": 7611.01,
  "belowMinimumWage": false,
  "targetNetSalary": null,
  "rules": "INSS Portaria Interministerial MPS/MF nº 13/2026; IRRF Lei 15.191/2025 (table) and Lei 15.270/2025 (reduction up to R$ 7,350); FGTS 8%.",
  "error": null
}
```

Rows with `targetNetSalary` return the smallest gross salary (to the cent) that reaches that net, with the same fields. Invalid rows (missing or non-numeric salary, negative values, an unsupported year, or an entry that is not an object) come back with `error` filled in and are not charged; the other rows of the run are calculated normally. `id` is always returned as text. `belowMinimumWage` compares the gross salary with the 2026 minimum wage (R$ 1,621.00), which is normal for part-time contracts.

### How much does it cost?

Pay per event: one `calculation` per salary calculated. Rows with errors are free.

**$0.003 per calculation** (`calculation` event, pay per event). Charged once per salary calculated. Rows with errors are free.

| You get | Free tier | Bronze tier (10% off) | Gold tier (30% off) |
|---|---|---|---|
| 100 calculations | $0.30 | $0.27 | $0.21 |
| 1,000 calculations | $3.00 | $2.70 | $2.10 |
| 10,000 calculations | $30.00 | $27.00 | $21.00 |

Discounts follow your Apify subscription tier: Bronze 10%, Silver 20%, Gold and above 30%. No subscription to this Actor and no charge for platform usage: you pay only for results.
The Apify Free plan includes $5 of monthly credit, enough for about **1,666 calculations** at the list price.
You can cap the cost of any run with **Maximum cost per run**; the Actor stops when it is reached.

### Data source and limits

Calculated offline from the official 2026 tables: INSS by Portaria Interministerial MPS/MF nº 13/2026 (minimum wage R$ 1,621.00, Decreto 12.797/2025), IRRF by Lei 15.191/2025 and the reduction of Lei 15.270/2025. No external API is called, so runs take seconds.

Limits: monthly salary only (no 13th salary or vacation payslips, which have their own taxation), and no union-specific rules. Simples Nacional is treated as having no employer INSS (true for most annexes, not Annex IV). The result is an estimate for planning and checks; your accountant's payroll system is the legal reference.

### Use it via API

Run it from any language and get the results as JSON. Replace `<YOUR_API_TOKEN>` with your [Apify API token](https://console.apify.com/settings/integrations).

```bash
curl -X POST "https://api.apify.com/v2/acts/br_data_hub~br-payroll-calculator/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"employees": [{"id": "analyst", "grossSalary": 5900, "dependents": 1}, {"id": "assistant", "grossSalary": 3000}, {"id": "manager", "grossSalary": 12000, "dependents": 2, "otherDeductions": 350}, {"id": "net-4000", "targetNetSalary": 4000}]}'
```

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("br_data_hub/br-payroll-calculator").call(run_input={'employees': [{'id': 'analyst', 'grossSalary': 5900, 'dependents': 1},
                                                    {'id': 'assistant', 'grossSalary': 3000},
                                                    {'id': 'manager',
                                                     'grossSalary': 12000,
                                                     'dependents': 2,
                                                     'otherDeductions': 350},
                                                    {'id': 'net-4000', 'targetNetSalary': 4000}]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

You can also schedule runs, send results to webhooks, or connect the Actor to Make, Zapier, n8n, Google Sheets and other [integrations](https://docs.apify.com/platform/integrations).

### Use it with AI agents (MCP)

This Actor is ready for AI agents: typed input and output schemas, pay-per-event pricing, limited permissions and short runs.

- **Apify MCP server:** add `https://mcp.apify.com/?tools=br_data_hub/br-payroll-calculator` to Claude, ChatGPT, Cursor, VS Code or any MCP client, and the agent can call this Actor as a tool.
- **Agent frameworks:** call it from LangChain, LlamaIndex, CrewAI or the OpenAI Agents SDK through the Apify integrations, or with the API call above.
- Results come as structured JSON with stable field names, documented in the **Output** tab.

### FAQ

#### Where does the data come from?

Calculated offline from the official 2026 tables: INSS by Portaria Interministerial MPS/MF nº 13/2026 (minimum wage R$ 1,621.00, Decreto 12.797/2025), IRRF by Lei 15.191/2025 and the reduction of Lei 15.270/2025. No external API is called, so runs take seconds.

#### How much does it cost?

$0.003 per calculation. Discounts follow your Apify subscription tier: Bronze 10%, Silver 20%, Gold and above 30%. See **How much does it cost?** above for examples.

#### Do I pay for errors or empty results?

No. Charged once per salary calculated. Rows with errors are free.

#### Can I run it on a schedule or connect it to other tools?

Yes. Use Apify schedules to run it daily or weekly, webhooks to get notified, and integrations such as Make, Zapier, n8n and Google Sheets. Everything also works through the API.

#### Can AI agents use it?

Yes. It works as a tool in the Apify MCP server and in agent frameworks, and AI agents can pay per event. See **Use it with AI agents (MCP)**.

#### Is it legal to use this data?

The Actor reads only public, official sources and keeps personal data masked as the source publishes it. You are responsible for how you use the data, including LGPD compliance.

#### I found a bug or need a feature. What should I do?

Open an issue in the **Issues** tab. We answer within 14 days, usually much sooner.

### More Actors from BR Data Hub

| Actor | What it does |
|---|---|
| [Brazil Exchange Rates API (Cotação PTAX)](https://apify.com/br_data_hub/br-exchange-rates) | Get official PTAX exchange rates from Banco Central do Brasil: buy and sell rates in BRL, parities and bulleti |
| [Brazil Treasury Bonds API (Tesouro Direto)](https://apify.com/br_data_hub/br-tesouro-direto) | Daily rates and unit prices of Brazilian Treasury bonds (Tesouro Direto: Selic, Prefixado, IPCA+, Renda+, Educ |
| [Brazil Inflation Calculator (IPCA, IGP-M, Selic)](https://apify.com/br_data_hub/br-monetary-correction) | Correct BRL amounts in bulk by IPCA, INPC, IGP-M, IGP-DI, IPC-Fipe, Selic, CDI, TR or savings (poupança) using |
| [Brazil Company Financials (CVM DFP/ITR, B3)](https://apify.com/br_data_hub/br-cvm-company-financials) | Standardized financial statements of Brazilian listed companies from CVM open data (DFP annual, ITR quarterly) |
| [Brazil Investment Fund Returns (Fundos CVM)](https://apify.com/br_data_hub/br-cvm-fund-performance) | Ready-made performance metrics for Brazilian investment funds from CVM open data: period, YTD and 12-month ret |
| [Brazil Fuel Prices by City (ANP Combustíveis)](https://apify.com/br_data_hub/br-anp-fuel-prices) | Weekly fuel prices in Brazil from the ANP open data survey (not affiliated with the ANP): average, minimum, ma |

See all our Actors at [apify.com/br_data_hub](https://apify.com/br_data_hub).

### Usar em português

Calculadora de folha CLT 2026 em lote: INSS progressivo, IRRF com a isenção até R$ 5 mil e o redutor até R$ 7.350 (Lei 15.270/2025), salário líquido, FGTS e custo total do funcionário (Simples ou Lucro Presumido/Real, com provisões de 13º e férias). Também calcula o salário bruto para um líquido desejado. Cobrança só pelos cálculos feitos; linhas com erro não são cobradas.

**Quanto custa:** $0.003 por resultado (`calculation`); 1.000 resultados saem por $3.00. Desconto pelo nível da assinatura Apify: Bronze 10%, Silver 20%, Gold ou acima 30%. Erros e consultas sem resultado não são cobrados. Use também pela API ou por agentes de IA no servidor MCP da Apify (`https://mcp.apify.com/?tools=br_data_hub/br-payroll-calculator`).

# Actor input Schema

## `employees` (type: `array`):

One object per employee or salary. Fields: grossSalary (BRL) or targetNetSalary (to find the gross), dependents, alimony, otherDeductions (health plan, meal voucher share...), otherTaxableEarnings (overtime, commissions), contractType ("apprentice" for 2% FGTS) and id (copied to the output). Up to 10,000 per run.

## `referenceYear` (type: `integer`):

Year of the INSS and IRRF tables. Currently 2026.

## `taxRegime` (type: `string`):

simples: Simples Nacional (no employer INSS in most annexes). lucro: Lucro Presumido or Real, adds 20% employer INSS + RAT + third parties (Sistema S).

## `ratPercent` (type: `number`):

Work accident rate (RAT x FAP) for the lucro regime, usually 1 to 3%.

## `thirdPartyPercent` (type: `number`):

Contributions to third parties (Sistema S, salário-educação, INCRA) for the lucro regime. 5.8% is the most common.

## Actor input object example

```json
{
  "employees": [
    {
      "id": "analyst",
      "grossSalary": 5900,
      "dependents": 1
    },
    {
      "id": "assistant",
      "grossSalary": 3000
    },
    {
      "id": "manager",
      "grossSalary": 12000,
      "dependents": 2,
      "otherDeductions": 350
    },
    {
      "id": "net-4000",
      "targetNetSalary": 4000
    }
  ],
  "referenceYear": 2026,
  "taxRegime": "simples",
  "ratPercent": 2,
  "thirdPartyPercent": 5.8
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset with all results

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "employees": [
        {
            "id": "analyst",
            "grossSalary": 5900,
            "dependents": 1
        },
        {
            "id": "assistant",
            "grossSalary": 3000
        },
        {
            "id": "manager",
            "grossSalary": 12000,
            "dependents": 2,
            "otherDeductions": 350
        },
        {
            "id": "net-4000",
            "targetNetSalary": 4000
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("br_data_hub/br-payroll-calculator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "employees": [
        {
            "id": "analyst",
            "grossSalary": 5900,
            "dependents": 1,
        },
        {
            "id": "assistant",
            "grossSalary": 3000,
        },
        {
            "id": "manager",
            "grossSalary": 12000,
            "dependents": 2,
            "otherDeductions": 350,
        },
        {
            "id": "net-4000",
            "targetNetSalary": 4000,
        },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("br_data_hub/br-payroll-calculator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "employees": [
    {
      "id": "analyst",
      "grossSalary": 5900,
      "dependents": 1
    },
    {
      "id": "assistant",
      "grossSalary": 3000
    },
    {
      "id": "manager",
      "grossSalary": 12000,
      "dependents": 2,
      "otherDeductions": 350
    },
    {
      "id": "net-4000",
      "targetNetSalary": 4000
    }
  ]
}' |
apify call br_data_hub/br-payroll-calculator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,br_data_hub/br-payroll-calculator"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/nRPxvpIkikYCvu78R/builds/bvY2cUzgCSw5Zp1OF/openapi.json
