Raw schema
{
"type": "object",
"properties": {
"annualIncome": {
"type": "number",
"minimum": 0,
"description": "Total annual gross income in THB, before any deductions."
},
"maritalStatus": {
"type": "string",
"enum": [
"single",
"married"
],
"default": "single"
},
"spouseHasNoIncome": {
"type": "boolean",
"default": false,
"description": "True if married and the spouse has no income (unlocks the 60,000 THB spouse allowance)."
},
"isAge65OrOlder": {
"type": "boolean",
"default": false,
"description": "Adds the 190,000 THB senior allowance."
},
"numberOfChildren": {
"type": "integer",
"minimum": 0,
"default": 0
},
"childrenBornOnOrAfter2018": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "2nd-or-later children born in 2018 or after qualify for a doubled (60,000 THB) allowance."
},
"numberOfParents": {
"type": "integer",
"minimum": 0,
"maximum": 4,
"default": 0,
"description": "Dependent parents supported (30,000 THB each, max 4)."
},
"socialSecurityContribution": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Annual social security fund contribution, max deductible 10,500 THB."
},
"lifeInsurance": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Max deductible 100,000 THB."
},
"healthInsurance": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Max deductible 25,000 THB."
},
"pensionFund": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Max deductible 500,000 THB."
},
"providentFund": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Max deductible 500,000 THB."
},
"rmf": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Retirement Mutual Fund contribution, max deductible 500,000 THB."
},
"ssf": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Super Savings Fund contribution, max deductible 200,000 THB."
},
"donations": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Charitable donations, capped at 10% of income after allowances."
},
"taxWithheld": {
"type": "number",
"minimum": 0,
"default": 0,
"description": "Tax already withheld by the employer this year, used to compute refund vs. amount owed."
}
},
"required": [
"annualIncome"
]
}