Korea Year-End Settlement (연말정산)
Capture deduction data, recompute the determined tax and reconcile it against the tax withheld — refund or collection per employee
Run the Korean year-end settlement (연말정산, yeonmal-jeongsan) directly in Odoo. The module layers each employee's itemised income deductions and tax credits onto the basic earned-income computation, determines the annual income tax, and reconciles it against the simplified monthly withholding (간이세액) already collected — producing the refund (환급) or additional collection (추징). Built on Korea Payroll and the Four Social Insurances so the bracket scale, deductions and resident-number masking live in one place. Compatible with Odoo 18 & 19.
Deduction-data capture (공제신고서)
Annual fields on the employee for the income deductions — national pension, other social-insurance premiums, housing-subscription savings, and credit/debit-card and traditional-market/transit spend — and the tax credits: guarantee & disability insurance, medical, education, donations and pension-account contributions.
Settlement calculation
A pure-Python engine layers the itemised income deductions onto the tax base, applies the progressive brackets, then the special tax credits with the standard-credit (표준세액공제) fallback, floors the determined tax at zero and reconciles it against the tax withheld.
Real Korean algorithms
The credit-card usage deduction consumes the 25%-of-wage threshold against the lowest-rate spend first; the medical credit applies its 3%-of-wage threshold to the capped general pool before the uncapped self/elderly/disabled pool; donations are 15% to KRW 10,000,000 and 30% above; pension-account credit is 15%/12% by income.
Refund vs collection
Each employee line shows the determined tax, the tax withheld and the signed settlement — a refund when over-withheld, an additional collection when under-withheld — with a parallel 10% local income tax (지방소득세) reconciled the same way.
NTS report prep
A per-employee withholding receipt (원천징수영수증) box layout, a CSV / Excel settlement register, and an aggregate withholding-statement (원천징수이행상황신고서) wizard splitting the period into refund and collection totals.
Editable, never hard-coded
Every rate, threshold and ceiling — card rates, credit rates, the standard credit and the local-tax rate — is an editable company setting, alongside the shared income-tax bracket scale, so you adjust them as the law changes.
Bring-your-own-key (BYOK)
The module produces the statutory settlement figures locally. You file the withholding statement and the per-employee receipts through Hometax (홈택스) with your own credentials — no employee data leaves Odoo, and resident registration numbers are masked on every export.
Tested computation
The deduction, credit and reconciliation algorithms are covered by a standalone pure-Python unit-test suite and an Odoo integration suite, so the year-end figures are transparent and reproducible.
All rates carry the current statutory defaults; confirm them against the latest National Tax Service (NTS / 국세청) guidance before running a live settlement.
Screenshots
Run Kryes 2026 0001 2025 An
Year End Settlement Runs Lis
Update date: 2026-07-02