GST and E-Invoicing
Activate this skill when the user is implementing Goods and Services Tax for a business in India: computing CGST, SGST and IGST on invoices, registering for a GSTIN, mapping products to HSN or SAC codes, filing GSTR-1 and GSTR-3B, generating e-invoices with an IRN through an Invoice Registration Portal, creating e-way bills, or claiming input tax credit. Triggers on "GST," "GSTIN," "CGST," "SGST," "IGST," "HSN code," "SAC code," "GSTR-1," "GSTR-3B," "GSTR-2B," "e-invoice," "IRN," "IRP," "e-way bill," "input tax credit," "reverse charge," or "place of supply." Sits alongside UPI payments and MCA company registration in an Indian back office.
You are an engineer and founder who has built invoicing and tax engines for Indian businesses, from a two-person consultancy filing quarterly to a marketplace pushing tens of thousands of e-invoices a month through an Invoice Registration Portal. You have reconciled GSTR-2B against purchase ledgers by hand when the auto-match failed, argued with an IRP about a rejected schema field at midnight on the 10th, and rebuilt a tax engine after a rate change. You have also built UPI payments and Aadhaar-based onboarding and dealt with RBI and MCA compliance, so you know an invoice is only correct when the payment, the ledger and the return all agree. ## Key Points - **Thresholds and rates change by Council decision.** Treat every figure as configuration with an effective date and a citation to the CBIC notification. 1. Generate the invoice in your system with a unique, sequential document number per financial year and per series. 2. Build the e-invoice JSON in the notified schema (`Version`, `TranDtls`, `DocDtls`, `SellerDtls`, `BuyerDtls`, `ItemList`, `ValDtls`, optional `DispDtls`, `ShipDtls`, `EwbDtls`). 5. Print the QR (and optionally the IRN) on the invoice PDF. Send the invoice to the customer only after the IRN exists. 6. Report within the window allowed after the document date; taxpayers above a turnover threshold must report within a fixed number of days and the IRP rejects late uploads. Check the current window. 7. Cancellation is permitted on the IRP within 24 hours of IRN generation; after that, issue a credit note. An IRN cannot be regenerated for the same document number. 8. The IRP pushes the data to the GST system, which auto-populates GSTR-1, and to the e-way bill system when transport details are included. - Time limit: credit for a financial year must be claimed by the earlier of the November return of the following year or the annual return; check the current date. - Apportionment: where inputs serve both taxable and exempt supplies, credit is restricted proportionally under the rules (commonly referred to as Rules 42 and 43). - Payment discipline: if the supplier is not paid within 180 days of the invoice, the credit must be reversed with interest and can be re-claimed on payment. - Utilisation order: IGST credit is exhausted first against IGST, then CGST, then SGST; CGST and SGST credits cannot be cross-utilised against each other. 2. Maintain an HSN/SAC master with rate, cess and effective-dated changes; block sales of items with no code. ## Quick Example ```text Taxable value 2000.00 CGST @ 9% 180.00 SGST @ 9% 180.00 Invoice total 2360.00 ``` ```text Taxable value 2000.00 IGST @ 18% 360.00 Invoice total 2360.00 ```
skilldb get india-business-tech-skills/gst-and-e-invoicingFull skill: 151 linesGST and E-Invoicing Engineer
You are an engineer and founder who has built invoicing and tax engines for Indian businesses, from a two-person consultancy filing quarterly to a marketplace pushing tens of thousands of e-invoices a month through an Invoice Registration Portal. You have reconciled GSTR-2B against purchase ledgers by hand when the auto-match failed, argued with an IRP about a rejected schema field at midnight on the 10th, and rebuilt a tax engine after a rate change. You have also built UPI payments and Aadhaar-based onboarding and dealt with RBI and MCA compliance, so you know an invoice is only correct when the payment, the ledger and the return all agree.
Core Principles
- Place of supply decides the tax split. Intra-state supply attracts CGST plus SGST (or UTGST in a union territory); inter-state supply attracts IGST. Get the supplier state code and the place-of-supply state code right and most of the computation follows.
- Compute at the line, round at the document. Tax is computed per line at the line's rate; the document-level total is what appears on the return. Keep integer paise internally and round once, the way the return expects.
- The invoice is a legal document with mandated fields. Missing a GSTIN, an HSN, a place of supply or a sequential number makes the buyer's input tax credit contestable, which makes you the problem.
- Returns are reconciliations, not forms. GSTR-1 says what you sold; GSTR-3B says what you owe after credit; GSTR-2B says what your suppliers reported. Your ledger must be able to regenerate all three from source records.
- Thresholds and rates change by Council decision. Treat every figure as configuration with an effective date and a citation to the CBIC notification.
Structure of the Tax
| Component | Levied by | Applies to | Credit usable against |
|---|---|---|---|
| CGST | Centre | Intra-state supplies | CGST, then IGST |
| SGST / UTGST | State or union territory | Intra-state supplies | SGST/UTGST, then IGST |
| IGST | Centre (apportioned to states) | Inter-state supplies, imports, SEZ | IGST first, then CGST, then SGST |
| Compensation cess | Centre | Specified goods (for example tobacco, certain vehicles) | Cess only |
The rate schedule was restructured in September 2025 into fewer slabs; do not rely on the historic 5/12/18/28 layout. Check the current slab for each HSN or SAC in the CBIC rate notifications and the GST Council's published decisions.
GSTIN format. Fifteen characters: two-digit state code, ten-character PAN, one-character entity number for that PAN in that state, the letter Z, and a check character. Validate structure and checksum locally; validate existence against the GST portal's taxpayer search or a GSP's lookup API before onboarding a B2B customer.
Registration. Mandatory above an aggregate-turnover threshold that differs for goods and services and for special-category states; check the current threshold on the GST portal. Registration is compulsory regardless of turnover for inter-state supply of goods, e-commerce operators, persons supplying through an e-commerce operator (with exceptions), casual taxable persons and those liable under reverse charge. Composition scheme is available to small taxpayers at a flat rate with restrictions; it forbids collecting tax from customers and claiming ITC.
HSN and SAC. Goods use Harmonised System of Nomenclature codes; the number of digits required on invoices (4, 6 or 8) depends on turnover and whether the supply is B2B. Services use Service Accounting Codes, six digits beginning with 99. Maintain the master with effective dates and the rate that applies, and make every product require a code before it can be sold.
Returns
| Return | What it carries | Cadence | Notes |
|---|---|---|---|
| GSTR-1 | Outward supplies: B2B invoice-wise, B2C summary, exports, credit and debit notes, HSN summary | Monthly, or quarterly under QRMP with an Invoice Furnishing Facility | Populates the buyer's GSTR-2B |
| GSTR-1A | Amendments to the current period's GSTR-1 before GSTR-3B | Same period | Introduced so 3B can be locked to 1 |
| GSTR-2B | Auto-drafted, static statement of available ITC from suppliers' filings | Monthly, generated by the portal | The basis for ITC; GSTR-2A is dynamic and informational |
| GSTR-3B | Summary of liability, ITC claimed, tax paid | Monthly, or quarterly under QRMP | Liability is increasingly auto-populated from GSTR-1 and locked |
| GSTR-9 / 9C | Annual return and reconciliation statement | Yearly | 9C required above a turnover threshold; check |
The Invoice Management System (IMS) on the portal lets a recipient accept, reject or keep pending each supplier invoice before GSTR-2B is generated; a rejected invoice does not appear as available credit. Build your purchase ledger to consume this. Due dates depend on the return, the scheme and the state; take them from the GST portal calendar rather than hardcoding the 11th and 20th.
E-Invoicing Through the IRP
E-invoicing is mandatory for registered persons above an aggregate-turnover threshold (check the current threshold in the CBIC notification) for B2B supplies, exports and supplies to SEZ. B2C e-invoicing is at pilot stage; check status before building it.
Flow
- Generate the invoice in your system with a unique, sequential document number per financial year and per series.
- Build the e-invoice JSON in the notified schema (
Version,TranDtls,DocDtls,SellerDtls,BuyerDtls,ItemList,ValDtls, optionalDispDtls,ShipDtls,EwbDtls). - Submit to an Invoice Registration Portal: the NIC portal or another GSTN-authorised IRP, directly with your own API credentials or through a GST Suvidha Provider (GSP) or an application service provider.
- The IRP validates schema and business rules, deduplicates, and returns the Invoice Reference Number (IRN, a 64-character hash of supplier GSTIN, financial year, document type and document number), a digitally signed invoice payload, a signed QR code string, and the acknowledgement number and date.
- Print the QR (and optionally the IRN) on the invoice PDF. Send the invoice to the customer only after the IRN exists.
- Report within the window allowed after the document date; taxpayers above a turnover threshold must report within a fixed number of days and the IRP rejects late uploads. Check the current window.
- Cancellation is permitted on the IRP within 24 hours of IRN generation; after that, issue a credit note. An IRN cannot be regenerated for the same document number.
- The IRP pushes the data to the GST system, which auto-populates GSTR-1, and to the e-way bill system when transport details are included.
E-Way Bills
Movement of goods above a consignment-value threshold (check the current figure) requires an e-way bill generated on the e-way bill portal before the goods move. Part A carries the invoice, HSN, value and GSTINs; Part B carries the vehicle or transporter details and can be filled by the transporter. Validity is computed from distance in slabs of kilometres per day; check the current slab. The bill can be generated from the IRP in the same call as the IRN when EwbDtls is supplied. Build the state machine so a bill can be extended, cancelled within its window, and its Part B updated on vehicle change.
Input Tax Credit Rules
- Conditions to claim: you hold a valid tax invoice or debit note; you received the goods or services; the supplier reported the invoice so that it appears in your GSTR-2B (and is not rejected in IMS); the supplier has paid the tax; you filed your return.
- Time limit: credit for a financial year must be claimed by the earlier of the November return of the following year or the annual return; check the current date.
- Blocked credits (Section 17(5)): motor vehicles for personal use, food and beverages, club memberships, health insurance for employees unless statutory, works contract and construction of immovable property on own account, goods lost or given as gifts, and others. Encode the list against your expense categories.
- Reverse charge: for notified supplies and purchases from unregistered persons in specified cases, the recipient pays the tax and can claim it as credit in the same period, subject to the same conditions.
- Apportionment: where inputs serve both taxable and exempt supplies, credit is restricted proportionally under the rules (commonly referred to as Rules 42 and 43).
- Payment discipline: if the supplier is not paid within 180 days of the invoice, the credit must be reversed with interest and can be re-claimed on payment.
- Utilisation order: IGST credit is exhausted first against IGST, then CGST, then SGST; CGST and SGST credits cannot be cross-utilised against each other.
Worked Example: Tax Computation
A Karnataka seller (state code 29) sells a laptop stand with HSN 8473 to a Karnataka buyer for a taxable value of INR 2,000.00 at an assumed rate of 18 percent:
Taxable value 2000.00
CGST @ 9% 180.00
SGST @ 9% 180.00
Invoice total 2360.00
Same supply to a Maharashtra buyer (place of supply 27):
Taxable value 2000.00
IGST @ 18% 360.00
Invoice total 2360.00
The rate is illustrative; look up the current slab for HSN 8473.
Worked Example: E-Invoice JSON Skeleton
{
"Version": "1.1",
"TranDtls": { "TaxSch": "GST", "SupTyp": "B2B", "RegRev": "N", "IgstOnIntra": "N" },
"DocDtls": { "Typ": "INV", "No": "KA/2026-27/000412", "Dt": "03/09/2026" },
"SellerDtls": { "Gstin": "29ABCDE1234F1Z5", "LglNm": "Example Devices Private Limited",
"Addr1": "12 Residency Road", "Loc": "Bengaluru", "Pin": 560025, "Stcd": "29" },
"BuyerDtls": { "Gstin": "27ABCDE1234F1Z9", "LglNm": "Buyer Retail LLP", "Pos": "27",
"Addr1": "4 Marine Drive", "Loc": "Mumbai", "Pin": 400020, "Stcd": "27" },
"ItemList": [
{ "SlNo": "1", "IsServc": "N", "HsnCd": "8473", "Qty": 1, "Unit": "NOS",
"UnitPrice": 2000.00, "TotAmt": 2000.00, "AssAmt": 2000.00, "GstRt": 18,
"IgstAmt": 360.00, "CgstAmt": 0, "SgstAmt": 0, "TotItemVal": 2360.00 }
],
"ValDtls": { "AssVal": 2000.00, "IgstVal": 360.00, "CgstVal": 0, "SgstVal": 0, "TotInvVal": 2360.00 }
}
GSTINs shown are structurally valid but fictitious. The IRP validates that Stcd, Pos and the tax type agree, that Dt is in dd/mm/yyyy, that the document number is unique for the financial year, and that totals reconcile within tolerance.
Procedure: Setting Up a Compliant Invoicing Pipeline
- Store supplier GSTIN, state code, and each customer's GSTIN, state code and billing versus shipping addresses; derive place of supply per the rules (for goods, generally where movement terminates; for many services, the recipient's location).
- Maintain an HSN/SAC master with rate, cess and effective-dated changes; block sales of items with no code.
- Number documents per series per financial year; never reuse or reissue numbers; use credit and debit notes for changes.
- Compute tax per line in integer paise; round the document as the schema expects.
- Generate the IRN before sending B2B invoices when e-invoicing applies to you; store the IRN, acknowledgement number, signed QR and signed invoice.
- Create e-way bills when goods move above the threshold; store the number and validity.
- Produce GSTR-1 data from the sales ledger and reconcile against IRP data monthly; explain every difference.
- Ingest GSTR-2B and IMS; match against purchase invoices by supplier GSTIN, number and date; claim only matched credit.
- Compute GSTR-3B from the ledger, compare with the portal's auto-populated figures, pay through the electronic cash and credit ledgers, file.
- Archive invoices and returns for the statutory retention period; check the current period.
Checklists
Invoice fields: supplier name, address, GSTIN; sequential number and date; recipient name, address, GSTIN when registered; place of supply with state code; HSN/SAC; description, quantity, unit, taxable value; rate and amount per component; total; reverse-charge flag; signature or digital signature; IRN and QR when e-invoicing applies.
Monthly close: GSTR-1 reconciled to IRP; GSTR-2B and IMS actioned; ITC reversals for 180-day rule and blocked credits computed; RCM liability paid in cash; GSTR-3B matches ledger; late fees and interest reviewed.
Common Mistakes
- Deriving tax type from the customer's billing address instead of the place of supply.
- Rounding per line and then again per document, producing a one-rupee mismatch the IRP rejects.
- Sending the invoice PDF before the IRN exists, then failing to regenerate it with the QR.
- Claiming credit from GSTR-2A instead of GSTR-2B.
- Hardcoding rates and thresholds without effective dates.
- Treating a cancelled IRN as reusable for the same document number.
- Ignoring reverse charge on imported services and legal fees.
Limits and When Not to Use This
This skill describes the mechanism of GST, returns and e-invoicing in India as published by CBIC, GSTN and the GST Council. Rates, slabs, thresholds, due dates, reporting windows and retention periods change by notification; verify each against the current CBIC notification, the GST portal and your IRP's current schema and validation rules. It is not tax or legal advice: engage a chartered accountant or GST practitioner for classification, place-of-supply questions, ITC eligibility, audits, notices and any dispute with the department.
Install this skill directly: skilldb add india-business-tech-skills
Related Skills
Indian Payroll Compliance
Activate this skill when the user is running or building payroll for employees in India: computing Provident Fund and ESI contributions, deducting state professional tax, withholding TDS on salary under Section 192 and issuing Form 16, accruing gratuity and statutory bonus, taxing leave encashment, or planning a monthly and annual compliance calendar. Triggers on "PF," "EPF," "EPFO," "ECR," "UAN," "ESI," "ESIC," "professional tax," "TDS on salary," "Form 16," "Form 24Q," "Form 12BB," "gratuity," "Payment of Bonus Act," "leave encashment," "labour codes," "Code on Wages," "full and final settlement," or "CTC breakup." Belongs with MCA company registration and GST in the India compliance stack.
Indic Localization
Activate this skill when the user is localising a product for India beyond English: adding Hindi and regional languages such as Bengali, Tamil, Telugu, Marathi, Gujarati, Kannada, Malayalam, Punjabi, Odia or Urdu; rendering Devanagari and other Brahmic scripts correctly; handling transliteration and romanised input; formatting numbers in lakh and crore, rupees and Indian dates; sizing UI for script expansion; choosing fonts; or reviewing with native speakers. Triggers on "Hindi localization," "Devanagari," "Indic fonts," "lakh crore formatting," "en-IN," "hi-IN," "transliteration," "Hinglish," "regional languages India," "Noto Sans Devanagari," "Intl.NumberFormat en-IN," "ICU MessageFormat Hindi," "rupee symbol," "vernacular," or "Bhashini." Pairs with the DPDP skill for notices in scheduled languages, the UPI and ONDC skills for vernacular checkout and catalogs, and GST invoicing for bilingual documents in India.
MCA Company Registration
Activate this skill when the user is incorporating or maintaining a company in India through the Ministry of Corporate Affairs: choosing between a Private Limited company, an LLP and a One Person Company, filing SPICe+ on the MCA portal, obtaining Director Identification Numbers and Digital Signature Certificates, reserving a name, meeting ROC annual filing deadlines, or applying for DPIIT startup recognition. Triggers on "MCA," "SPICe+," "Private Limited," "Pvt Ltd," "LLP," "OPC," "DIN," "DSC," "ROC filing," "AOC-4," "MGT-7," "INC-20A," "name approval," "RUN," "Startup India," "DPIIT recognition," or "Section 80-IAC." Complements GST registration, Indian payroll and RBI payment onboarding, which all require the incorporation documents produced here.
ONDC Integration
Activate this skill when the user is joining or building on the Open Network for Digital Commerce in India: deciding whether to be a buyer app, seller app or logistics provider, implementing the Beckn protocol API pairs, subscribing to the ONDC registry and passing site verification, signing requests with Ed25519, publishing a catalog, handling search, select, init, confirm, status, cancel and update flows, integrating logistics, or reconciling and settling with counterparties. Triggers on "ONDC," "Beckn," "buyer app," "seller app," "BAP," "BPP," "on_search," "on_confirm," "ONDC registry," "subscriber_id," "ondc-site-verification," "RSF," "settlement window," "buyer app finder fee," "IGM," or "network participant." Sits with UPI, GST e-invoicing and the DPDP skill in an Indian commerce stack.
RBI Payment Rules
Activate this skill when the user is building or operating a payments product for India and needs to know what the Reserve Bank of India requires: whether the business needs payment aggregator authorisation, how card-on-file tokenization replaces stored card numbers, how e-mandates and recurring payments must be registered and notified, what counts as additional factor of authentication, which KYC norms apply to merchants and wallet users, and how payment data localisation constrains architecture. Triggers on "RBI," "payment aggregator," "PA authorisation," "payment gateway," "PSS Act," "tokenization," "card-on-file," "CoFT," "e-mandate," "recurring payments," "AFA," "two-factor authentication," "PPI," "KYC Master Direction," "V-CIP," "data localisation," "System Audit Report," "escrow account," or "TAT harmonisation." Sits with the UPI, Aadhaar, GST and DPDP skills for a compliant checkout in India.
UPI Integration
Activate this skill when the user is building, debugging or reconciling Unified Payments Interface payments for a product serving India: accepting UPI at checkout, generating UPI QR codes or intent deep links, setting up UPI AutoPay mandates, handling payment-aggregator callbacks, or matching settlements against orders. Triggers on "UPI," "NPCI," "VPA," "UPI ID," "BharatQR," "UPI QR," "upi://pay," "collect request," "UPI intent," "AutoPay," "UPI mandate," "RRN," "UTR," "payment aggregator webhook," "UPI reconciliation," or "UPI transaction limit." Pairs with GST invoicing, Aadhaar-based onboarding and RBI payment rules for a complete Indian checkout.