Tax
Tax liability calculation, sequestration, and filing-ready exports.
The Tax API provides real-time tax position data and filing exports derived from reconciled transaction history. Tax figures update the moment a payment is reconciled — not on a schedule, and not from estimates.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /tax/liability | Current income tax liability (44ADA presumptive) |
GET | /tax/sequestration | Auto-sequestered tax reserve balance |
POST | /tax/sequestration/policy | Set or update the sequestration policy |
GET | /tax/exports/gst3b | Download GST-3B-ready JSON for a return period |
GET | /tax/exports/itr4 | Download ITR-4-ready JSON for a financial year |
GET /tax/liability
Returns the current income tax liability for the authenticated user, computed from all reconciled transactions in the current financial year.
Query parameters
| Parameter | Type | Description |
|---|---|---|
fy | string | Financial year (2026-27). Defaults to current. |
Response — 200 OK
{
"financialYear": "2026-27",
"regime": "44ADA",
"grossReceipts": 584250.00,
"presumptiveIncome": 292125.00,
"taxableIncome": 292125.00,
"estimatedTaxDue": 43181.25,
"advanceTaxSchedule": [
{ "dueDate": "2026-06-15", "percentDue": 15, "amount": 6477.19, "paid": false },
{ "dueDate": "2026-09-15", "percentDue": 45, "amount": 19431.56, "paid": false },
{ "dueDate": "2026-12-15", "percentDue": 75, "amount": 32385.94, "paid": false },
{ "dueDate": "2027-03-15", "percentDue": 100, "amount": 43181.25, "paid": false }
],
"asOf": "2026-07-01T09:14:22.000Z"
}Tax liability figures are indicative — they are computed from Lumeo transaction data only and do not account for income from other sources, deductions, or HRA. Review with a chartered accountant before filing.
GET /tax/sequestration
Returns the balance held in the auto-sequestration reserve — funds set aside for advance tax based on the user's sequestration policy.
Response — 200 OK
{
"enabled": true,
"reserveBalance": 43181.25,
"currency": "INR",
"policy": {
"rate": 50,
"trigger": "on_settlement",
"targetAccount": "acc_reserve_01j4abc"
},
"asOf": "2026-07-01T09:14:22.000Z"
}POST /tax/sequestration/policy
Sets or updates the tax sequestration policy. When enabled, a percentage of every settled payment is automatically moved to a reserved balance.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Yes | Enable or disable sequestration |
rate | number | Yes | Percentage of each settlement to reserve (e.g. 30 for 30%) |
trigger | string | Yes | "on_settlement" — reserve funds immediately on each confirmed payment |
Response — 200 OK
{
"enabled": true,
"rate": 30,
"trigger": "on_settlement",
"updatedAt": "2026-07-01T09:14:22.000Z"
}GET /tax/exports/gst3b
Returns a GST-3B-compatible JSON object for a return period. This can be imported directly into the GST portal's offline utility.
Query parameters
| Parameter | Type | Description |
|---|---|---|
period | string | Return period in YYYY-MM format (e.g. 2026-06) |
Response — 200 OK
{
"period": "2026-06",
"gstin": "29XXXXX1234X1ZX",
"outwardSupplies": {
"zeroRated": { "taxableValue": 182500.00, "igst": 0 },
"nilExempt": { "taxableValue": 0 },
"total": { "taxableValue": 182500.00 }
},
"generatedAt": "2026-07-01T09:14:22.000Z"
}