GST Ledgers API
GST ledgers are electronic records on the GST portal that track a taxpayer’s cash deposits, input tax credit (ITC), and return-related tax liabilities for a GSTIN. Use this API to fetch cash ledger, ITC ledger, and liability ledger data to reconcile payments and plan set-off.Key capabilities
Cash and ITC balance snapshot
Cash ledger transactions
ITC credit and utilisation
Return liability breakdown
How it works
Generate OTP for taxpayer
Obtain taxpayer access token
Authorization header.Retrieve balance snapshot
Fetch cash ledger transactions
Fetch ITC ledger transactions
Retrieve return liability ledger
Recipes
Generate taxpayer session
File GSTR-3B
Check return status
Error handling
API categories
Balance snapshot
Electronic cash ledger
Electronic credit ledger
Return liability ledger
API reference
All ledger APIs require:Authorizationheader with Taxpayer access tokenx-api-keyheader with your API key
Balance snapshot
| API | Path | Description |
|---|---|---|
| Cash + ITC Balance | GET /gst/compliance/tax-payer/ledgers/bal/{year}/{month} | Returns cash balance and ITC balance for the specified year and month. Includes blocked ITC fields if applicable. |
Electronic cash ledger
| API | Path | Description |
|---|---|---|
| Cash Ledger | GET /gst/compliance/tax-payer/ledgers/cash?from={DD/MM/YYYY}&to={DD/MM/YYYY} | Returns cash ledger entries for the date range. to date cannot be beyond the current date. |
Electronic credit ledger (ITC)
| API | Path | Description |
|---|---|---|
| ITC Ledger | GET /gst/compliance/tax-payer/ledgers/itc?from={DD/MM/YYYY}&to={DD/MM/YYYY} | Returns ITC credits and debits with descriptions and reference numbers. Both from and to are required. |
Return liability ledger
| API | Path | Description |
|---|---|---|
| Return Liability Ledger | GET /gst/compliance/tax-payer/ledgers/tax/{year}/{month}?from={DD/MM/YYYY}&to={DD/MM/YYYY} | Returns liabilities and adjustments for the return period. Combine with date range filters. |
Common use cases
Use GST Ledgers API when you need to:- Build a GST payment readiness dashboard that shows available cash and ITC balances against expected GSTR-3B liability before filing.
- Reconcile challan deposits with cash ledger debits against internal payment records for month-end closing and audits.
- Investigate balance discrepancies by pulling transaction-level ledger entries with descriptions and reference numbers.
- Validate payments posted on the GST portal before proceeding to file returns or when filing fails due to insufficient balance.
- Automate statutory audit evidence collection with ledger extracts for finance teams and monthly compliance reviews.
- Plan ITC utilisation strategy by analyzing available credit across CGST, SGST, and IGST heads before set-off.
FAQs
What is the GST Ledgers API?
What is the GST Ledgers API?
What is the difference between Cash Ledger, ITC Ledger, and Return Liability Ledger?
What is the difference between Cash Ledger, ITC Ledger, and Return Liability Ledger?
When should I use Cash + ITC Balance vs the detailed ledgers?
When should I use Cash + ITC Balance vs the detailed ledgers?
What date format do the from and to parameters use?
What date format do the from and to parameters use?
DD/MM/YYYY format for from and to query parameters (for example, 01/04/2025 for April 1, 2025). Common validation errors include: to date beyond current date, from date after to date, and invalid date format. Ensure both dates fall within the authenticated GSTIN’s registration period.What authentication is required for ledger APIs?
What authentication is required for ledger APIs?
Authorization header along with your x-api-key. Taxpayer tokens expire after 30 minutes of inactivity. Refresh the session if you receive an authentication error.Can I use ledger data to prepare for GSTR-3B set-off and payment?
Can I use ledger data to prepare for GSTR-3B set-off and payment?
What should I do if ledger values don't match my internal books?
What should I do if ledger values don't match my internal books?
How do I handle session expiry during ledger API calls?
How do I handle session expiry during ledger API calls?