Skip to Content
O Saldo esta em fase alpha - reporte bugs aqui
Trabalhador por Conta de OutremComeçar

Começar

Cálculo de salários para trabalhadores por conta de outrem. Para trabalhadores por conta própria, veja a documentação de trabalhador independente.

Instalação

npm install saldo # ou pnpm add saldo

Início Rápido (CLI)

Pode executar simulações diretamente a partir do terminal se instalar o pacote globalmente:

saldo dependent --year 2025 --income 1500 --twelfths 2

Início Rápido (Biblioteca)

Exemplo Interativo

Compreender o Resultado

interface DependentWorkerResult { yearly: { totalGrossIncomeAmount: number; // Rendimento bruto anual totalNetIncomeAmount: number; // Rendimento líquido anual totalLunchAllowanceGrossAmount: number; // Subsídio de refeição anual bruto }; socialSecurityContributionRate: number; // Taxa de SS aplicada monthlyBreakdown: MonthlyBreakdownResult[]; // 12 entradas, uma por mês } interface MonthlyBreakdownResult { month: MonthName; // ex. "january" period: PeriodT; // ex. "2025-01-01_2025-07-31" grossIncome: { baseSalaryAmount: number; baseSalaryAndLunchAllowanceAmount: number; totalWithLunchAllowanceAndSubsidyTwelfthsAmount: number; }; irsWithholdingTax: { totalAmount: number; fromBaseSalaryAmount: number; fromLunchAllowanceAmount: number; fromSubsidyTwelfthsAmount: number; }; socialSecurityContribution: { totalAmount: number; fromBaseSalaryAmount: number; fromLunchAllowanceAmount: number; fromSubsidyTwelfthsAmount: number; }; netIncome: { totalAmount: number; // Salário líquido mensal total fromBaseSalaryAmount: number; fromLunchAllowanceAmount: number; fromSubsidyTwelfthsAmount: number; }; lunchAllowance: LunchAllowanceAmountBreakdown; subsidyTwelfths: SubsidyTwelfthsAmountBreakdown; bracket: BracketResult; taxRetentionTable: TaxRetentionTableResult; }

Parâmetros Principais

  • year: Ano fiscal — obrigatório (ex: 2025)
  • income: Rendimento bruto mensal em euros
  • married / numberOfHolders: Obrigatórios em conjunto para trabalhadores casados (1 ou 2)
  • disabled, partnerDisabled, numberOfDependents, numberOfDependentsDisabled
  • location: 'continent' | 'azores' | 'madeira' (predefinição 'continent')
  • socialSecurityContributionRate: Predefinição 0.11
  • twelfths: Twelfths.NONE | ONE_HALF_MONTH | ONE_MONTH | TWO_MONTHS (predefinição TWO_MONTHS)
  • lunchAllowanceDailyValue, lunchAllowanceMode ("cupon" ou "salary"), lunchAllowanceDaysCount
  • includeLunchAllowanceInJune: Se junho inclui subsídio de refeição (predefinição false)
  • oneHalfMonthTwelfthsLumpSumMonth: "june" ou "december" (predefinição "december")
  • isencaoHorarioMonthly: Suplemento mensal de isenção de horário (Art. 218.º–219.º + 265.º CT). Predefinição 0
  • benefitsOfYouthIrs + yearOfYouthIrs: Isenção parcial mensal do IRS Jovem (Art. 2.º-C CIRS). Ver a secção IRS Jovem na referência da API

Cenários Comuns

Pessoa Solteira

Exemplo Interativo

Casado com Filhos

Exemplo Interativo

Trabalhador com Deficiência

Exemplo Interativo

Com Subsídio de Refeição

Exemplo Interativo

Utilizar o Enum Twelfths

Exemplo Interativo

Trabalhar com Tipos

import { simulateDependentWorker, LocationT, Twelfths, DependentWorkerResult, SimulateDependentWorkerOptions } from 'saldo'; // Cálculo de trabalhador por conta de outrem com segurança de tipos const dependentOpts: SimulateDependentWorkerOptions = { year: 2025, income: 1500, location: 'continent', }; const dependentResult: DependentWorkerResult = simulateDependentWorker(dependentOpts);

Diferenças Regionais

Cada região portuguesa tem taxas fiscais diferentes:

Exemplo Interativo

Tratamento de Erros

A biblioteca fornece mensagens de erro claras para configurações inválidas:

Exemplo Interativo

Próximos Passos

Last updated on