Vietnam corporate income tax API
Corporate income tax in Vietnam under Luật 67/2025: 15/17/20% by revenue, 30% cut for 2026–2027, quarterly 80% check and late interest on the shortfall.
Send the year’s revenue, the previous year’s revenue (prior_year_revenue, which decides the rate) and the taxable_income (or profit with non_deductible, exempt_income, losses_carried_forward). The API applies Luật Thuế TNDN 67/2025/QH15 and Nghị định 320/2025/NĐ-CP: 15% when total revenue of the previous year is ≤ 3 billion, 17% up to 50 billion, else 20%, and 20% for subsidiaries / related companies whose related party does not qualify (related_party_not_eligible=true). Small enterprises that cannot determine costs can use method=revenue (0.3% – 4% of revenue by sector).
For tax years 2026 and 2027 the 30% reduction for enterprises with revenue ≤ 10 billion (Nghị quyết 43/2026/QH16, Nghị định 398/2026/NĐ-CP) is applied after any incentive (incentive_reduction).
Send the four provisional payments to check the 80% rule (Nghị định 252/2026/NĐ-CP Điều 24): the minimum, the shortfall, and the late interest at 0.03% a day from the day after the Q4 deadline to the payment date. Quarterly and final deadlines are moved to the next working day when they fall on a weekend or holiday.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
year | query|body | number | no | Tax year 2025–2030 (default this year). | |
revenue | query|body | number | yes | Total revenue of the year (VND). | |
prior_year_revenue | query|body | number | no | Total revenue of the previous year (default = revenue). | |
taxable_income | query|body | number | no | Taxable income, or send profit with non_deductible, exempt_income, losses_carried_forward. | |
related_party_not_eligible | query|body | boolean | no | Subsidiary / related company whose related party does not qualify for 15% / 17%. | |
method | query|body | string | no | income | income or revenue (% of revenue, ≤ 3 billion, with sector). |
incentive_reduction | query|body | number | no | Tax incentive amount deducted before the 30% reduction. | |
provisional | body | array | no | Provisional payments of Q1–Q4, e.g. [10000000,10000000,10000000,10000000]. | |
payment_date | query|body | string | no | Date the shortfall is paid (default the final deadline). |
Example
curl "https://apibox.io.vn/v1/vn-cit?year=2026&revenue=2500000000&prior_year_revenue=2500000000&taxable_income=400000000" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-cit?year=2026&revenue=2500000000&prior_year_revenue=2500000000&taxable_income=400000000', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/vn-cit?year=2026&revenue=2500000000&prior_year_revenue=2500000000&taxable_income=400000000",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-cit?year=2026&revenue=2500000000&prior_year_revenue=2500000000&taxable_income=400000000');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Response
{
"year": 2026,
"method": "income",
"revenue": 2500000000,
"prior_year_revenue": 2500000000,
"rate_percent": 15,
"rate_tier": "revenue_up_to_3_billion",
"taxable_income": 400000000,
"tax_before_reductions": 60000000,
"incentive_reduction": 0,
"reduction_30_percent": 18000000,
"tax_payable": 42000000,
"effective_rate_percent": 1.68,
"provisional": {
"minimum_total_80_percent": 33600000,
"suggested_per_quarter": 8400000,
"deadlines": [
{
"quarter": 1,
"deadline": "2026-05-04"
},
{
"quarter": 2,
"deadline": "2026-07-31"
},
{
"quarter": 3,
"deadline": "2026-11-02"
},
{
"quarter": 4,
"deadline": "2027-02-01"
}
]
},
"final_return_deadline": "2027-03-31",
"payment_codes": {
"sub_item": "1052",
"late_interest_sub_item": "4918"
},
"legal": [
"Luật Thuế thu nhập doanh nghiệp 67/2025/QH15",
"Nghị định 320/2025/NĐ-CP Điều 11, 12",
"Nghị quyết 43/2026/QH16; Nghị định 398/2026/NĐ-CP Điều 3 (giảm 30% thuế TNDN năm 2026, 2027, doanh thu ≤ 10 tỷ đồng)"
],
"reviewed": "2026-11-11"
}
Use cases
- Estimate CIT and quarterly payments in accounting software
- Check whether provisional payments meet the 80% rule
- Show the 30% reduction for small companies in 2026–2027
- Plan taxes for a startup crossing the 3 or 50 billion tiers
FAQ
Which revenue decides the 15% or 17% rate?
Total revenue (sales, financial income and other income) of the previous tax year; a new company uses its expected revenue and settles at year end.
What if provisional payments are below 80%?
Late interest of 0.03% a day applies to the part below 80% of the final tax, from the day after the Q4 provisional deadline until it is paid.
Does the 30% reduction need a filing?
The enterprise applies it itself in quarterly provisional payments and the annual return (Nghị định 398/2026). If revenue ends above 10 billion, the reduced tax must be paid back with late interest.
Related APIs
JSON Validator
Check JSON syntax with exact line and column of errors, and validate data against a JSON Schema (draft 4, 7, 2019-09 or 2020-12).
{ }JSON Formatter
Pretty print JSON with 0-8 spaces or tabs, minify it, or sort object keys recursively. Syntax errors are reported with line and column.
CSVCSV to JSON
Convert CSV into an array of JSON objects using the header row, with delimiter auto-detection, number and boolean typing, and row-level errors.