Trabalhador por Conta de OutremExemplos
Exemplos
Cenários de trabalhador por conta de outrem. Para casos de trabalhadores por conta própria, consulte os exemplos de trabalhador independente.
Cálculos Básicos
Trabalhador com Salário Mínimo
Exemplo Interativo
const minimumWageWorker = simulateDependentWorker({ year: 2025, income: 870, // Salário mínimo português 2025 location: 'continent' }); console.log('=== Trabalhador com Salário Mínimo ==='); const jan = minimumWageWorker.monthlyBreakdown[0]; console.log(`Rendimento Bruto (Jan): €${jan.grossIncome.baseSalaryAmount.toFixed(2)}`); console.log(`IRS (Jan): €${jan.irsWithholdingTax.totalAmount.toFixed(2)}`); console.log(`Segurança Social (Jan): €${jan.socialSecurityContribution.totalAmount.toFixed(2)}`); console.log(`Salário Líquido (Jan): €${jan.netIncome.totalAmount.toFixed(2)}`); console.log(`Líquido Anual: €${minimumWageWorker.yearly.totalNetIncomeAmount.toFixed(2)}`);
Trabalhador Médio
Exemplo Interativo
const averageWorker = simulateDependentWorker({ year: 2025, income: 1200, location: 'continent' }); console.log('=== Trabalhador Médio ==='); const jan = averageWorker.monthlyBreakdown[0]; console.log(`Líquido Mensal (Jan): €${jan.netIncome.totalAmount.toFixed(2)}`); console.log(`Líquido Anual: €${averageWorker.yearly.totalNetIncomeAmount.toFixed(2)}`); console.log(`Taxa Efetiva de IRS: ${(jan.irsWithholdingTax.totalAmount / jan.taxableIncomeForIrsCalculation * 100).toFixed(1)}%`);
Situações Familiares
Pai/Mãe Solteiro(a) com 2 Filhos
Exemplo Interativo
const singleParent = simulateDependentWorker({ year: 2025, income: 1500, married: false, numberOfDependents: 2, location: 'continent' }); console.log('=== Pai/Mãe Solteiro(a) (2 filhos) ==='); const jan = singleParent.monthlyBreakdown[0]; console.log(`Líquido Mensal (Jan): €${jan.netIncome.totalAmount.toFixed(2)}`); // Comparar com o mesmo rendimento mas sem dependentes const noDependents = simulateDependentWorker({ year: 2025, income: 1500, location: 'continent' }); const janNoDeps = noDependents.monthlyBreakdown[0]; console.log(`Poupança Fiscal com dependentes: €${(janNoDeps.irsWithholdingTax.totalAmount - jan.irsWithholdingTax.totalAmount).toFixed(2)}`);
Casado com Rendimento Único (1 Titular)
Exemplo Interativo
const marriedSingleIncome = simulateDependentWorker({ year: 2025, income: 2000, married: true, numberOfHolders: 1, numberOfDependents: 1, location: 'continent' }); console.log('=== Casado com Rendimento Único ==='); const jan = marriedSingleIncome.monthlyBreakdown[0]; console.log(`Líquido Mensal (Jan): €${jan.netIncome.totalAmount.toFixed(2)}`); console.log(`Líquido Anual: €${marriedSingleIncome.yearly.totalNetIncomeAmount.toFixed(2)}`);
Casado com Rendimentos Duplos (2 Titulares)
Exemplo Interativo
// Cônjuge 1 const spouse1 = simulateDependentWorker({ year: 2025, income: 1400, married: true, numberOfHolders: 2, numberOfDependents: 1, // Um filho partilhado location: 'continent' }); // Cônjuge 2 const spouse2 = simulateDependentWorker({ year: 2025, income: 1100, married: true, numberOfHolders: 2, numberOfDependents: 0, // Filho já contado no cônjuge1 location: 'continent' }); const totalHouseholdNet = spouse1.monthlyBreakdown[0].netIncome.totalAmount + spouse2.monthlyBreakdown[0].netIncome.totalAmount; console.log('=== Casado com Rendimentos Duplos ==='); console.log(`Cônjuge 1 Líquido (Jan): €${spouse1.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Cônjuge 2 Líquido (Jan): €${spouse2.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Total do Agregado Líquido (Jan): €${totalHouseholdNet.toFixed(2)}`);
Comparações Regionais
Mesmo Salário em Diferentes Regiões
Exemplo Interativo
const income = 1500; const continent = simulateDependentWorker({ year: 2025, income, location: 'continent' }); const azores = simulateDependentWorker({ year: 2025, income, location: 'azores' }); const madeira = simulateDependentWorker({ year: 2025, income, location: 'madeira' }); console.log('=== Comparação Regional (Janeiro) ==='); console.log(`Continente Líquido: €${continent.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Açores Líquido: €${azores.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Madeira Líquido: €${madeira.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`);
Benefícios de Deficiência
Trabalhador com Deficiência
Exemplo Interativo
const workerWithDisability = simulateDependentWorker({ year: 2025, income: 1300, disabled: true, location: 'continent' }); const workerWithoutDisability = simulateDependentWorker({ year: 2025, income: 1300, disabled: false, location: 'continent' }); console.log('=== Benefícios de Deficiência ==='); console.log(`Com Deficiência - Líquido (Jan): €${workerWithDisability.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Sem Deficiência - Líquido (Jan): €${workerWithoutDisability.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Benefício Mensal: €${(workerWithDisability.monthlyBreakdown[0].netIncome.totalAmount - workerWithoutDisability.monthlyBreakdown[0].netIncome.totalAmount).toFixed(2)}`);
Subsídios de Refeição
Com Cartões de Refeição
Exemplo Interativo
const withVouchers = simulateDependentWorker({ year: 2025, income: 1400, lunchAllowanceDailyValue: 7.5, lunchAllowanceMode: "cupon", lunchAllowanceDaysCount: 22 }); const withoutVouchers = simulateDependentWorker({ year: 2025, income: 1400 }); console.log('=== Impacto dos Cartões de Refeição (Janeiro) ==='); const janWith = withVouchers.monthlyBreakdown[0]; const janWithout = withoutVouchers.monthlyBreakdown[0]; console.log(`Com Cartões - Líquido: €${janWith.netIncome.totalAmount.toFixed(2)}`); console.log(`Sem Cartões - Líquido: €${janWithout.netIncome.totalAmount.toFixed(2)}`); console.log(`Benefício: €${(janWith.netIncome.totalAmount - janWithout.netIncome.totalAmount).toFixed(2)}`);
Subsídio de Refeição em Dinheiro de Alto Valor
Exemplo Interativo
const cashAllowance = simulateDependentWorker({ year: 2025, income: 2000, lunchAllowanceDailyValue: 10.00, lunchAllowanceMode: "salary", lunchAllowanceDaysCount: 21 }); const jan = cashAllowance.monthlyBreakdown[0]; console.log('=== Subsídio de Refeição em Dinheiro Alto ==='); console.log(`Total do Subsídio: €${jan.lunchAllowance.grossAmount.toFixed(2)}`); console.log(`Porção Tributável: €${jan.lunchAllowance.taxableAmount.toFixed(2)}`); console.log(`Porção Isenta: €${jan.lunchAllowance.taxExemptAmount.toFixed(2)}`);
Distribuição de Subsídios de Férias
Comparar Métodos de Distribuição
Exemplo Interativo
const noTwelfths = simulateDependentWorker({ year: 2025, income: 1500, twelfths: Twelfths.NONE }); const oneTwelfth = simulateDependentWorker({ year: 2025, income: 1500, twelfths: Twelfths.ONE_MONTH }); const twoTwelfths = simulateDependentWorker({ year: 2025, income: 1500, twelfths: Twelfths.TWO_MONTHS }); console.log('=== Impacto da Distribuição de Subsídios de Férias (Janeiro) ==='); console.log(`Sem Distribuição - Líquido Mensal: €${noTwelfths.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Um Mês - Líquido Mensal: €${oneTwelfth.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Dois Meses - Líquido Mensal: €${twoTwelfths.monthlyBreakdown[0].netIncome.totalAmount.toFixed(2)}`); console.log(`Líquido Anual (Dois Meses): €${twoTwelfths.yearly.totalNetIncomeAmount.toFixed(2)}`);
Exemplos de Altos Rendimentos
Salário Executivo
Exemplo Interativo
const executive = simulateDependentWorker({ year: 2025, income: 8000, married: true, numberOfHolders: 1, numberOfDependents: 2, location: 'continent', lunchAllowanceDailyValue: 12, lunchAllowanceMode: 'cupon', lunchAllowanceDaysCount: 22 }); const jan = executive.monthlyBreakdown[0]; console.log('=== Salário Executivo (Janeiro) ==='); console.log(`Bruto: €${jan.grossIncome.baseSalaryAmount.toFixed(2)}`); console.log(`IRS: €${jan.irsWithholdingTax.totalAmount.toFixed(2)}`); console.log(`Líquido: €${jan.netIncome.totalAmount.toFixed(2)}`); console.log(`Taxa Efetiva: ${(jan.irsWithholdingTax.totalAmount / jan.taxableIncomeForIrsCalculation * 100).toFixed(1)}%`); console.log(`Líquido Anual: €${executive.yearly.totalNetIncomeAmount.toFixed(2)}`);
IRS Jovem
Ver a secção IRS Jovem na referência da API para as referências legais e a tabela de anos de benefício.
1.º Ano: Isenção Total (100%)
Exemplo Interativo
// Solteiro a ganhar €1500/mês, 1.º ano de IRS Jovem (100% de isenção). // O rendimento está abaixo do tecto por pagamento, logo a retenção é zero. const baseline = simulateDependentWorker({ year: 2025, income: 1500, twelfths: Twelfths.NONE, lunchAllowanceDailyValue: 0, }); const youthIrs = simulateDependentWorker({ year: 2025, income: 1500, twelfths: Twelfths.NONE, lunchAllowanceDailyValue: 0, benefitsOfYouthIrs: true, yearOfYouthIrs: 1, }); const baseJan = baseline.monthlyBreakdown[0]; const youthJan = youthIrs.monthlyBreakdown[0]; console.log('=== IRS Jovem - 1.º Ano (100% Isenção) ==='); console.log(`IRS sem IRS Jovem: €${baseJan.irsWithholdingTax.totalAmount.toFixed(2)}`); console.log(`IRS com IRS Jovem: €${youthJan.irsWithholdingTax.totalAmount.toFixed(2)}`); console.log(`Parte isenta (Jan): €${youthJan.youthIrs.exemptIncome.toFixed(2)}`); console.log(`Ganho líquido mensal: €${(youthJan.netIncome.totalAmount - baseJan.netIncome.totalAmount).toFixed(2)}`);
2.º-4.º Ano: Isenção Parcial (75%)
Exemplo Interativo
// Mesmo trabalhador, agora no 2.º-4.º ano de benefício (75% de isenção). // A retenção escala linearmente com a fracção não isenta. const youthIrs = simulateDependentWorker({ year: 2025, income: 1500, twelfths: Twelfths.NONE, lunchAllowanceDailyValue: 0, benefitsOfYouthIrs: true, yearOfYouthIrs: 2, }); const baseline = simulateDependentWorker({ year: 2025, income: 1500, twelfths: Twelfths.NONE, lunchAllowanceDailyValue: 0, }); const baseJan = baseline.monthlyBreakdown[0]; const youthJan = youthIrs.monthlyBreakdown[0]; console.log('=== IRS Jovem - 2.º-4.º Ano (75% Isenção) ==='); console.log(`% de isenção: ${(youthJan.youthIrs.exemptionPercentage * 100).toFixed(0)}%`); console.log(`Parte isenta (Jan): €${youthJan.youthIrs.exemptIncome.toFixed(2)}`); console.log(`IRS sem: €${baseJan.irsWithholdingTax.totalAmount.toFixed(2)}`); console.log(`IRS com: €${youthJan.irsWithholdingTax.totalAmount.toFixed(2)}`); console.log(`Ganho líquido anual: €${(youthIrs.yearly.totalNetIncomeAmount - baseline.yearly.totalNetIncomeAmount).toFixed(2)}`);
Acima do Tecto IAS
Exemplo Interativo
// Rendimento alto: ultrapassa o tecto por pagamento = (55 × IAS) / 14. // A parte isenta fica limitada e o restante é tributado normalmente. const highEarner = simulateDependentWorker({ year: 2025, income: 5000, twelfths: Twelfths.NONE, lunchAllowanceDailyValue: 0, benefitsOfYouthIrs: true, yearOfYouthIrs: 1, }); const jan = highEarner.monthlyBreakdown[0]; console.log('=== IRS Jovem - Acima do Tecto ==='); console.log(`Rendimento bruto: €${jan.grossIncome.baseSalaryAmount.toFixed(2)}`); console.log(`Tecto mensal isento: €${jan.youthIrs.monthlyExemptCap.toFixed(2)}`); console.log(`Parte isenta (Jan): €${jan.youthIrs.exemptIncome.toFixed(2)}`); console.log(`Parte não isenta: €${(jan.grossIncome.baseSalaryAmount - jan.youthIrs.exemptIncome).toFixed(2)}`); console.log(`Retenção IRS (Jan): €${jan.irsWithholdingTax.totalAmount.toFixed(2)}`);
Cenários Complexos
Família com Dependente com Deficiência
Exemplo Interativo
const familyWithDisabledChild = simulateDependentWorker({ year: 2025, income: 2200, married: true, numberOfHolders: 1, numberOfDependents: 2, numberOfDependentsDisabled: 1, partnerDisabled: false, location: 'continent' }); const jan = familyWithDisabledChild.monthlyBreakdown[0]; console.log('=== Família com Filho com Deficiência ==='); console.log(`Salário Líquido (Jan): €${jan.netIncome.totalAmount.toFixed(2)}`); console.log(`Benefícios Fiscais Aplicados: Sim`);
Last updated on