Add a new Southeast Asian country to the SEA Tax Calculator following the standard 6-step process across all required files
Guide adding a new country to the SEA Tax Calculator. Ask for the country name if not provided.
All six steps are required. Do not skip any.
lib/countries.ts — add country metadata object:
{ slug: '{slug}', name: '{Name}', flag: '{flag emoji}',
currency: '{CODE}', currencySymbol: '{symbol}',
defaultSalary: {n}, salaryStep: {n}, salaryMin: {n}, salaryMax: {n} }
Choose salaryMin/Max/defaultSalary to reflect a realistic local salary range.
lib/calculators/{slug}.ts — create the calculator module:
CalculatorParams → TaxResult signatureContributionItem[]isExpat with a flat rate (20% unless the country specifies otherwise)dependents and if they affect local tax (e.g. dependent allowances)maritalStatusgrossSalary at the startlib/calculators/index.ts — register in the router:
import {slug} from './{slug}';
// add: case '{slug}': return {slug}(params);
components/TaxInfo.tsx — add information panel:
app/blog/[slug]/page.tsx — create expat guide page:
app/blog/working-in-the-philippines-as-an-expat/)app/sitemap.ts — register the new country and blog slugs so they appear in the sitemap.
After all edits:
npm run lint — must pass with zero errorsnpm run build — must succeed with no TypeScript errors/seatax/{slug} in npm run dev