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:
@@ -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)"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user