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 saldoIní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 2Iní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 eurosmarried/numberOfHolders: Obrigatórios em conjunto para trabalhadores casados (1 ou 2)disabled,partnerDisabled,numberOfDependents,numberOfDependentsDisabledlocation:'continent' | 'azores' | 'madeira'(predefinição'continent')socialSecurityContributionRate: Predefinição0.11twelfths:Twelfths.NONE | ONE_HALF_MONTH | ONE_MONTH | TWO_MONTHS(predefiniçãoTWO_MONTHS)lunchAllowanceDailyValue,lunchAllowanceMode("cupon"ou"salary"),lunchAllowanceDaysCountincludeLunchAllowanceInJune: Se junho inclui subsídio de refeição (predefiniçãofalse)oneHalfMonthTwelfthsLumpSumMonth:"june"ou"december"(predefinição"december")isencaoHorarioMonthly: Suplemento mensal de isenção de horário (Art. 218.º–219.º + 265.º CT). Predefinição0benefitsOfYouthIrs+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
- Saiba mais sobre situações fiscais e cenários
- Explore o explorador de tabelas fiscais
- Compreenda subsídios de refeição
- Consulte a API de trabalhador por conta de outrem
- Explore os exemplos de trabalhador por conta de outrem
- Para trabalhadores por conta própria, veja a documentação de trabalhador independente.
Last updated on