Shadow Payroll Tax Equalization Calculator
ANA›Life Services Authority›National Calculator Authority›Shadow Payroll Tax Equalization Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Shadow Payroll Tax Equalization Calculator
Calculates the tax equalization (TEQ) balance for expatriate employees on shadow payroll. Determines the hypothetical tax withheld, actual taxes paid in home and host countries, and the resulting equalization payment or recovery amount.
### Employee Compensation
Annual Gross Salary (Home Currency, USD)
Total Allowances & Benefits (USD) Housing, COLA, education, relocation, etc.
Annual Bonus / Incentive Pay (USD)
Other Taxable Income (USD) Stock options vested, fringe benefits, etc.
### Hypothetical Tax (Hypo Tax) Parameters
Hypothetical Tax Rate (%) Estimated home-country effective rate on base salary only (excludes expat allowances)
Hypothetical Social Security / NI Rate (%) Employee portion of home-country social contributions
Hypothetical Deductions & Exemptions (USD) Standard deduction, personal exemptions, retirement contributions
### Actual Home Country Tax
Actual Home Country Income Tax Paid (USD)
Actual Home Country Social Security / NI Paid (USD)
### Actual Host Country Tax
Actual Host Country Income Tax Paid (USD)
Actual Host Country Social Security / NI Paid (USD)
FX Rate (Host Currency per 1 USD) Used for display only; enter all amounts above already converted to USD
### Foreign Tax Credit & Other Offsets
Foreign Tax Credit Applied (USD) Credit granted by home country for taxes paid to host country
Other Tax Offsets / Refunds (USD)
Calculate Tax Equalization
function shaCalc() { // ── Helpers ────────────────────────────────────────────────────────────── const get = id => parseFloat(document.getElementById(id).value) || 0; const fmt = n => n.toLocaleString("en-US", {style:"currency", currency:"USD", minimumFractionDigits:2}); const pct = n => n.toFixed(4) + "%";
// ── Inputs ─────────────────────────────────────────────────────────────── const grossSalary = get("sha-gross-salary"); const allowances = get("sha-allowances"); const bonus = get("sha-bonus"); const otherIncome = get("sha-other-income"); const hypoRate = get("sha-hypo-rate") / 100; const hypoSocialRate = get("sha-hypo-social") / 100; const hypoDeductions = get("sha-hypo-deductions"); const homeIncomeTax = get("sha-home-tax"); const homeSocial = get("sha-home-social"); const hostIncomeTax = get("sha-host-tax"); const hostSocial = get("sha-host-social"); const ftc = get("sha-ftc"); const otherOffset = get("sha-other-offset");
// ── Validation ─────────────────────────────────────────────────────────── const errors = []; if (grossSalary = 1) errors.push("Hypothetical Tax Rate must be less than 100%."); if (hypoSocialRate = 1) errors.push("Hypothetical Social Security Rate must be less than 100%."); if (hypoDeductions grossSalary + bonus + otherIncome) errors.push("Hypothetical Deductions exceed total taxable income — please verify.");
const resultDiv = document.getElementById("sha-result"); if (errors.length > 0) { resultDiv.style.display = "block"; resultDiv.innerHTML = "Please fix the following:" + errors.map(e => "").join("") + ""; return; }
// ══════════════════════════════════════════════════════════════════════════ // CORE FORMULAS // ══════════════════════════════════════════════════════════════════════════
// 1. Total Gross Compensation // TGC = Gross Salary + Allowances + Bonus + Other Income const totalGrossComp = grossSalary + allowances + bonus + otherIncome;
// 2. Hypo Tax Base (only base salary + bonus + other income; allowances excluded per TEQ policy) // HypoBase = Gross Salary + Bonus + Other Income − Hypo Deductions const hypoTaxableBase = Math.max(0, grossSalary + bonus + otherIncome - hypoDeductions);
// 3. Hypothetical Income Tax // HypoIncomeTax = HypoBase × HypoRate const hypoIncomeTax = hypoTaxableBase * hypoRate;
// 4. Hypothetical Social Security / NI // HypoSocial = Gross Salary × HypoSocialRate (capped at gross salary) const hypoSocial = grossSalary * hypoSocialRate;
// 5. Total Hypothetical Tax (employee's "stay-at-home" tax burden) // TotalHypo = HypoIncomeTax + HypoSocial const totalHypoTax = hypoIncomeTax + hypoSocial;
// 6. Total Actual Tax Paid (home + host, both income and social) // TotalActual = HomeIncomeTax + HomeSocial + HostIncomeTax + HostSocial const totalActualTax = homeIncomeTax + homeSocial + hostIncomeTax + hostSocial;
// 7. Net Employer Tax Cost (actual taxes borne by employer under TEQ) // NetEmployerCost = TotalActual − FTC − OtherOffset const netEmployerCost = Math.max(0, totalActualTax - ftc - otherOffset);
// 8. Tax Equalization Balance // TEQ Balance = TotalHypo − NetEmployerCost // Positive → employee owes company (recovery) // Negative → company owes employee (payment / gross-up) const teqBalance = totalHypoTax - netEmployerCost;
// 9. Effective Hypo Tax Rate on Total Gross Comp const effHypoRate = totalGrossComp > 0 ? (totalHypoTax / totalGrossComp) * 100 : 0;
// 10. Effective Actual Tax Rate on Total Gross Comp const effActualRate = totalGrossComp > 0 ? (totalActualTax / totalGrossComp) * 100 : 0;
// 11. Net Take-Home Pay (after hypo tax deduction — what employee actually receives) // NetTakeHome = TotalGrossComp − TotalHypoTax const netTakeHome = totalGrossComp - totalHypoTax;
- // ── Direction label ───────────────────────────────────────────────────────
- const direction = teqBalance > 0
- ? "🔴 Employee Recovery (employee owes company)"
- teqBalance ComponentAmount (USD)
Compensation Summary Annual Gross Salary${fmt(grossSalary)} Allowances & Benefits${fmt(allowances)} Bonus / Incentive Pay${fmt(bonus)} Other Taxable Income${fmt(otherIncome)} Total Gross Compensation${fmt(totalGrossComp)}
Hypothetical Tax (Employee's Notional Burden) Hypo Taxable Base (after deductions)${fmt(hypoTaxableBase)} Hypo Income Tax (${(hypoRate100).toFixed(2)}% × base)${fmt(hypoIncomeTax)} Hypo Social Security / NI (${(hypoSocialRate100).toFixed(2)}% × salary)${fmt(hypoSocial)} Total Hypothetical Tax${fmt(totalHypoTax)} Effective Hypo Rate on TGC${effHypoRate.toFixed(2)}%
Actual Taxes Paid Home Country Income Tax${fmt(homeIncomeTax)} Home Country Social Security / NI${fmt(homeSocial)} Host Country Income Tax${fmt(hostIncomeTax)} Host Country Social Security / NI${fmt(hostSocial)} Total Actual Tax${fmt(totalActualTax)} Effective Actual Rate on TGC${effActualRate.toFixed(2)}%
Offsets & Credits Foreign Tax Credit Applied(${fmt(ftc)}) Other Offsets / Refunds(${fmt(otherOffset)}) Net Employer Tax Cost${fmt(netEmployerCost)}
Equalization Summary Net Take-Home Pay (TGC − Hypo Tax)${fmt(netTakeHome)} TEQ Balance (Hypo − Net Employer Cost) ${fmt(Math.abs(teqBalance))} ${direction}
- Interpretation:
- ${teqBalance > 0
- ?
The employee's hypothetical tax (${fmt(totalHypoTax)}) exceeds the net employer tax cost (${fmt(netEmployerCost)}) by **${fmt(teqBalance)}**. The employee owes this amount back to the company (recovery). - teqBalance `; }
#### Formulas Used
1. Total Gross Compensation (TGC) TGC = Gross Salary + Allowances & Benefits + Bonus + Other Income
2. Hypothetical Taxable Base HypoBase = max(0, Gross Salary + Bonus + Other Income − Hypo Deductions) Note: Expatriate allowances are excluded from the hypo base per standard TEQ policy — the employee is taxed as if they never left home.
3. Hypothetical Income Tax HypoIncomeTax = HypoBase × Hypo Income Tax Rate
4. Hypothetical Social Security / NI HypoSocial = Gross Salary × Hypo Social Rate
5. Total Hypothetical Tax TotalHypo = HypoIncomeTax + HypoSocial
6. Total Actual Tax TotalActual = Home Income Tax + Home Social + Host Income Tax + Host Social
7. Net Employer Tax Cost NetEmployerCost = max(0, TotalActual − Foreign Tax Credit − Other Offsets)
8. Tax Equalization (TEQ) Balance TEQ Balance = TotalHypo − NetEmployerCost
0 → Employee Recovery | < 0 → Company Payment / Gross-Up | = 0 → Balanced
9. Net Take-Home Pay NetTakeHome = TGC − TotalHypo
#### Assumptions & References
- The hypothetical tax rate represents the employee's estimated effective home-country income tax rate as if they had remained at home, applied only to base compensation (salary, bonus, other income) — not to expatriate allowances.
More Calculators
- Estate Tax Liability Estimator
- Beneficiary Inheritance Tax Estimator
- Flooring Square Footage Calculator
- Gate Width and Swing Clearance Calculator
- Home Vulnerability Assessment Calculator
- Flooring Cost Estimator
- Probate Cost Estimator
- LA Hotel Occupancy Rate Calculator
- LA Tourism Tax & TOT Calculator
- Banquet Event Order (BEO) Pricing Calculator
- Catering Staff Labor Cost Calculator
- Miami Tourism Seasonality Revenue Estimator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...