Lumeo Docs
API Reference

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

MethodPathDescription
GET/tax/liabilityCurrent income tax liability (44ADA presumptive)
GET/tax/sequestrationAuto-sequestered tax reserve balance
POST/tax/sequestration/policySet or update the sequestration policy
GET/tax/exports/gst3bDownload GST-3B-ready JSON for a return period
GET/tax/exports/itr4Download 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

ParameterTypeDescription
fystringFinancial 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

FieldTypeRequiredDescription
enabledbooleanYesEnable or disable sequestration
ratenumberYesPercentage of each settlement to reserve (e.g. 30 for 30%)
triggerstringYes"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

ParameterTypeDescription
periodstringReturn 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"
}

On this page