Skip to content

kkb-98/kor-financial-calculators

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

korean-financial-calculators

Pure TypeScript Korean financial calculators with 2026 tax rates and insurance premiums.

Zero dependencies. Framework-agnostic. Works in Node.js and browsers.

Extracted from t2value.com.

Install

npm install korean-financial-calculators

Calculators

1. Net Salary — 연봉 실수령액

Calculates monthly take-home pay after 4 major insurances (NPS, NHI, LTC, EI) and income tax.

import { calculateNetSalaryKR } from 'korean-financial-calculators';

const result = calculateNetSalaryKR({
  grossAnnual: 50_000_000,
  nonTaxableMonthly: 200_000,
  dependents: 1,
});

result.grossMonthly;    // → 4_166_666
result.netMonthly;      // → 3_490_134
result.effectiveRate;   // → 16.24 (%)
result.insurance;       // → { nps: 188_416, nhi: 142_600, ltc: 18_730, ei: 35_699, totalInsurance: 385_445 }
result.tax;             // → { incomeTax: 264_625, localTax: 26_462, totalTax: 291_087, ... }
result.monthlyBreakdown // → [{ key: "gross", amount: 4_166_666, ... }, ...]

Input

Field Type Description
grossAnnual number Annual salary in KRW
nonTaxableMonthly number Monthly non-taxable amount (e.g. meal allowance)
dependents number Number of dependents including self

2. Hourly Wage — 시급 계산기

Converts between hourly/monthly/annual wages. Compares against 2026 minimum wage (₩10,320).

import { calculateHourlyWageKR } from 'korean-financial-calculators';

const result = calculateHourlyWageKR({
  mode: 'monthly',
  amount: 2_500_000,
  overtimeHours: 5,
});

result.hourlyWage;      // → 11_961
result.dailyWage;       // → 95_688
result.monthlyWage;     // → 2_499_849
result.annualWage;      // → 29_998_188
result.overtimePay;     // → 389_779
result.totalMonthly;    // → 2_889_628
result.isAboveMinimum;  // → true
result.minimumWageDiff; // → 1_641

Input

Field Type Description
mode 'hourly' | 'monthly' | 'annual' Input mode
amount number Wage amount matching the mode
overtimeHours number Weekly overtime hours

3. Severance Pay — 퇴직금

Calculates severance per Korea Labor Standards Act Article 34.

import { calculateSeverance } from 'korean-financial-calculators';

const result = calculateSeverance({
  monthlyPay: 3_000_000,
  yearsWorked: 5,
  monthsWorked: 6,
});

result.severancePay;    // → 16_278_003
result.dailyAvgWage;    // → 98_630
result.totalDays;       // → 2_008
result.monthsEquivalent // → 5.4
result.perYear;         // → 2_959_637
result.isUnderOneYear;  // → false
result.timeline;        // → [{ year: 1, cumulativePay: 2_958_900 }, ...]

Input

Field Type Description
monthlyPay number Monthly base pay in KRW
yearsWorked number Years of service
monthsWorked number Additional months (0–11)

4. Loan Interest — 대출이자

Three repayment methods: equal payment (원리금균등), equal principal (원금균등), bullet (만기일시).

import { calculateLoan, calculateEarlyPayoff } from 'korean-financial-calculators';

const input = {
  loanAmount: 100_000_000,
  annualRate: 4.5,
  loanMonths: 240,
  repaymentType: 'equal' as const,
};

const result = calculateLoan(input);

result.monthlyPayment;  // → 632_649
result.totalInterest;   // → 51_835_918
result.totalRepayment;  // → 151_835_918
result.schedule;        // → [{ month: 1, principal: 257_649, interest: 375_000, payment: 632_649, balance: 99_742_351 }, ...]
result.yearlyBreakdown; // → [{ year: 1, principalSum: 3_156_361, interestSum: 4_435_427, endBalance: 96_843_640 }, ...]

// Early payoff simulation
const earlyPayoff = calculateEarlyPayoff(input, 500_000);

earlyPayoff.originalMonths;  // → 240
earlyPayoff.reducedMonths;   // → 108
earlyPayoff.savedInterest;   // → 30_159_405

Input

Field Type Description
loanAmount number Loan amount in KRW
annualRate number Annual interest rate (%)
loanMonths number Loan term in months
repaymentType 'equal' | 'principal' | 'maturity' Repayment method

Additional functions:

  • calculateEarlyPayoff(input, extraMonthly) — Simulates early payoff with extra monthly payments
  • calculateLoanScenarios(input, rates) — Compares results across different interest rates
  • formatKRW(n) / formatKRWCompact(n) — Format numbers as "1,000,000" or "100만"

5. Weekly Holiday Pay — 주휴수당

Calculates weekly holiday allowance per Labor Standards Act Article 55. Eligible when working 15+ hours/week.

import { calculateWeeklyHolidayPay } from 'korean-financial-calculators';

const result = calculateWeeklyHolidayPay({
  hourlyWage: 10_320,
  weeklyHours: 40,
});

result.isEligible;          // → true
result.weeklyHolidayHours;  // → 8
result.weeklyHolidayPay;    // → 82_560
result.monthlyHolidayPay;   // → 358_723
result.effectiveHourlyWage; // → 12_384
result.monthlyTotal;        // → 2_152_339
result.employerMonthlyCost; // → 2_152_339

Input

Field Type Description
hourlyWage number Hourly wage in KRW
weeklyHours number Contracted weekly working hours

2026 Data Constants

All tax rates, insurance premiums, and thresholds are exported:

import {
  INSURANCE_RATES,
  INCOME_TAX_BRACKETS,
  MINIMUM_WAGE,
  SEVERANCE_DAYS,
  DEFAULT_LOAN_KR,
  WEEKLY_HOURS_THRESHOLD,
} from 'korean-financial-calculators';

INSURANCE_RATES.nps;     // → 0.0475 (4.75%)
INSURANCE_RATES.nhi;     // → 0.03595 (3.595%)
INSURANCE_RATES.ltcRate; // → 0.1314 (13.14% of NHI)
INSURANCE_RATES.ei;      // → 0.009 (0.9%)

MINIMUM_WAGE;            // → 10_320
WEEKLY_HOURS_THRESHOLD;  // → 15

Data Sources

Calculator Source Year
Net Salary NTS 간이세액표, 소득세법, 4대보험 고시 2026
Hourly Wage 고용노동부 최저임금 고시 2026
Severance 근로기준법 제34조, 근로자퇴직급여보장법 제8조 2026
Loan Pure math
Weekly Holiday Pay 근로기준법 제55조, 시행령 제30조 2026

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors