feat: Thai personal income tax exemption categories for HRMS

Fixtures for Employee Tax Exemption Category / Sub Category covering the
Thai PIT allowances (personal and family, insurance, retirement savings,
Thai ESG/ESGX, social security, home loan interest, donations, income
exemptions, stimulus measures) plus the Sec. 42 bis expense deduction.

Category caps follow HRMS validation: a sub-category max must not exceed
its category max and the declaration caps the category total, so groups
with a real combined limit carry it, groups without one use the sum of
their sub caps, and uncapped per-person/percentage items live in 0-cap
categories. Social Security uses the 2026 ceiling (10,500/yr); SSF is
kept inactive. sync_fixtures skips these files on sites without hrms.
This commit is contained in:
2026-09-16 11:22:28 +00:00
parent d074657511
commit 6a969841e5
3 changed files with 434 additions and 0 deletions
@@ -0,0 +1,114 @@
[
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 100000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Expense Deduction"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 330000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Personal and Family Allowances"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Child and Dependant Allowances"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 100000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Life and Health Insurance"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 25000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Family Insurance"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 500000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Retirement Savings and Investments"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 300000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Thai ESG Fund"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 600000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Thai ESGX Fund"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 10500.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Social Security Fund"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 100000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Housing"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Donations"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 10000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Political Party Donation"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 190000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Income Exemptions"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Category",
"is_active": 1,
"max_amount": 250000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Government Stimulus Measures"
}
]
@@ -0,0 +1,317 @@
[
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Expense Deduction",
"is_active": 1,
"max_amount": 100000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Standard expense deduction - 50% of employment income (Sec. 42 bis)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Personal and Family Allowances",
"is_active": 1,
"max_amount": 60000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Personal allowance"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Personal and Family Allowances",
"is_active": 1,
"max_amount": 60000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Spouse allowance (spouse without income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Personal and Family Allowances",
"is_active": 1,
"max_amount": 90000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Adopted child allowance (30,000 per child, max 3)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Personal and Family Allowances",
"is_active": 1,
"max_amount": 60000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Parent allowance (30,000 per parent, max 2)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Personal and Family Allowances",
"is_active": 1,
"max_amount": 60000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Spouse's parent allowance (30,000 per parent, max 2)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Child and Dependant Allowances",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Child allowance (30,000 per child)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Child and Dependant Allowances",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Child allowance - 2nd child onward born 2018 or later (60,000 per child)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Child and Dependant Allowances",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Disabled or incapacitated dependant care (60,000 per person)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Child and Dependant Allowances",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Prenatal care and childbirth expenses (60,000 per pregnancy)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Life and Health Insurance",
"is_active": 1,
"max_amount": 100000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Life insurance premium (policy term 10 years or more)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Life and Health Insurance",
"is_active": 1,
"max_amount": 25000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Health insurance premium (self)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Family Insurance",
"is_active": 1,
"max_amount": 10000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Spouse life insurance premium (spouse without income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Family Insurance",
"is_active": 1,
"max_amount": 15000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Parents' health insurance premium"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Retirement Savings and Investments",
"is_active": 1,
"max_amount": 500000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Provident fund contribution (15% of wages)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Retirement Savings and Investments",
"is_active": 1,
"max_amount": 500000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Government Pension Fund contribution (30% of income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Retirement Savings and Investments",
"is_active": 1,
"max_amount": 500000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Private Teacher Aid Fund contribution (15% of income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Retirement Savings and Investments",
"is_active": 1,
"max_amount": 500000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Retirement Mutual Fund - RMF (30% of income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Retirement Savings and Investments",
"is_active": 1,
"max_amount": 200000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Pension life insurance premium (15% of income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Retirement Savings and Investments",
"is_active": 1,
"max_amount": 30000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "National Savings Fund contribution"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Retirement Savings and Investments",
"is_active": 0,
"max_amount": 200000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Super Savings Fund - SSF (30% of income, tax years 2020-2024)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Thai ESG Fund",
"is_active": 1,
"max_amount": 300000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Thai ESG fund (30% of income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Thai ESGX Fund",
"is_active": 1,
"max_amount": 300000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Thai ESGX fund - new units (30% of income)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Thai ESGX Fund",
"is_active": 1,
"max_amount": 300000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Thai ESGX fund - LTF switch (500,000 spread over tax years 2025-2029)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Social Security Fund",
"is_active": 1,
"max_amount": 10500.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Social Security contribution - Sec. 33 employee"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Social Security Fund",
"is_active": 1,
"max_amount": 5184.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Social Security contribution - Sec. 39 voluntary"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Social Security Fund",
"is_active": 1,
"max_amount": 3600.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Social Security contribution - Sec. 40 informal worker"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Housing",
"is_active": 1,
"max_amount": 100000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Home loan interest"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Donations",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "General donations (10% of income after allowances)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Donations",
"is_active": 1,
"max_amount": 0.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Education, sports, hospital and social development donations (2x, 10% of income after allowances)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Political Party Donation",
"is_active": 1,
"max_amount": 10000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Political party donation"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Income Exemptions",
"is_active": 1,
"max_amount": 190000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Taxpayer aged 65 or over - income exemption"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Income Exemptions",
"is_active": 1,
"max_amount": 190000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Disabled taxpayer under 65 - income exemption"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Government Stimulus Measures",
"is_active": 1,
"max_amount": 50000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Easy E-Receipt (e-Tax Invoice / e-Receipt purchases)"
},
{
"docstatus": 0,
"doctype": "Employee Tax Exemption Sub Category",
"exemption_category": "Government Stimulus Measures",
"is_active": 1,
"max_amount": 200000.0,
"modified": "2026-09-16 09:00:00.000000",
"name": "Solar rooftop installation (tax years 2025-2027)"
}
]
+3
View File
@@ -105,6 +105,9 @@ fixtures = [
], ],
}, },
{"doctype": "Tax Withholding Category", "filters": [["name", "like", "WHT %"]]}, {"doctype": "Tax Withholding Category", "filters": [["name", "like", "WHT %"]]},
# HRMS doctypes; skipped by sync_fixtures on sites without hrms
{"doctype": "Employee Tax Exemption Category"},
{"doctype": "Employee Tax Exemption Sub Category"},
] ]
# Installation # Installation