GST e-invoicing in ERPNext runs through the free, open-source India Compliance app, built and maintained by Resilient Tech. It generates IRNs, fetches signed QR codes from the Invoice Registration Portal and creates e-way bills from inside ERPNext. Its API features need an India Compliance account, which this guide covers along with the setup steps.
Quick answer
Install the India Compliance app on your ERPNext instance, set your GSTIN on the company and its addresses, sign up for an India Compliance account, add your e-invoice API user under GST Settings → Credentials, and enable e-invoicing in GST Settings. Eligible Sales Invoices then get their IRN and signed QR on submit, and e-way bills can be generated from the same invoice.
Who can set this up? An ERPNext administrator comfortable in ERPNext's settings can follow the steps below. Businesses that would rather not handle the API user, portal registration and error troubleshooting often have an implementer do it once and hand over a working setup (ERPNext GST and e-invoicing, set up for you). My ERPNext buyer objections page has the wider GST answer.
E-invoicing applies to your B2B invoices, credit notes, debit notes and exports once your aggregate annual turnover has exceeded ₹5 crore in any financial year from 2017-18 (Notification 10/2023-Central Tax, from 1 August 2023), unless your entity type is exempt. Such an invoice must carry an IRN from the IRP; without one it isn't treated as a tax invoice (Rule 48(5)), and your buyer's input tax credit is at risk. For the other 2026 changes (the GST 2.0 rates, the 30-day IRN limit, MFA), see my ERPNext GST 2026 readiness checklist.
This guide walks the setup: GST settings, GSTINs, API access, testing IRN generation, e-way bills, and GSTR-1 and GSTR-3B, with a table of common errors at the end.
What do you need before you install?
Two things: a working ERPNext instance on a version India Compliance supports (v15 or v16 today), and the India Compliance app installed on the branch that matches it.
Install the India Compliance app
- SSH into your ERPNext server (or open the Frappe Cloud dashboard if you are on managed hosting).
- From your frappe-bench directory, get the app on the branch matching your ERPNext version, then install it:
bench get-app https://github.com/resilient-tech/india-compliance --branch version-16
bench --site your-site-name install-app india_compliance
bench --site your-site-name migrate
bench restart
- After migration, log in to ERPNext and open GST Settings. The app also adds GST fields to the Company, Address, Customer, Supplier and Item masters.
On Frappe Cloud, add India Compliance from the Apps tab of your site dashboard, without SSH.
How do you configure your GSTIN and company details?
E-invoicing depends on exact GSTIN data. One wrong character and the IRP rejects the request.
Step 1: Set up the company GSTIN
- Open your Company record and fill in its GST details (GSTIN and GST category).
- Open each company address and set the same GSTIN on the Address, with the correct state.
- Check the GSTIN against your GST registration certificate.
- Save.
Step 2: Configure customer GSTINs
Every customer address used on a B2B invoice needs its GSTIN.
- Set the customer's GSTIN on the Customer master and on its Address records.
- India Compliance reads GST details from the Address on the transaction first, and uses the Customer master only when no address is set, so keep the addresses right.
Step 3: Configure HSN codes on items
Every line on a B2B invoice needs a valid HSN or SAC code.
- Open each Item master and set its HSN/SAC code.
- Use the digits Notification 78/2020-Central Tax requires: 4 digits if your aggregate turnover in the preceding financial year was up to ₹5 crore, 6 digits above that. India Compliance can enforce a minimum digit count in its settings.
- Set the correct GST rate through the item's tax template.
How do you give ERPNext API access to the IRP?
This is where most setups stall, so follow India Compliance's own docs closely.
Step 4: Create an India Compliance account
India Compliance makes its API calls (e-invoice, e-way bill, GSTIN checks, returns) through an India Compliance account. Sign up from the app with your e-mail and GSTIN and verify the e-mail. The account works on API credits (one credit per API request). Check the current terms on the India Compliance account page. On Frappe Cloud, API access is bundled.
Step 5: Create the API user and add it to GST Settings
- On the e-way bill portal, under Registration, create an API user "For GSP" and select the GSP the India Compliance docs name. The e-way bill and e-invoice portals share these credentials.
- In ERPNext, open GST Settings → Credentials and add a row with the same username and password for your GSTIN. On a multi-GSTIN instance, add one row per GSTIN.
- In GST Settings, enable API access, then Enable e-Invoicing. Optionally tick Automatically Generate e-Invoice on Invoice Submission and Generate e-Waybill with e-Invoice.
- Set e-Invoice Applicable From to your liability date. On a multi-company instance where only some companies are covered, use Apply e-Invoice for Selected Companies with a date per company.
- Save.
How do you generate IRNs and signed QR codes on Sales Invoices?
With API access in place, IRN generation is part of the normal invoice flow.
Step 6: Submit a Sales Invoice and generate the IRN
- Create a Sales Invoice for a registered buyer (GSTIN on the customer address).
- Fill in the required fields: item HSN codes, taxes, place of supply, customer GSTIN.
- Click Submit. If automatic generation is on, India Compliance sends the invoice to the IRP and stores the IRN (a 64-character hash) and the signed QR code.
- Both appear on the submitted invoice, and the QR is printed by the India Compliance e-Invoice print format.
If automatic generation is off, or the invoice was submitted before e-invoicing was enabled, use Generate e-Invoice from the invoice's actions.
Step 7: Cancel an IRN when needed
An IRN can be cancelled on the IRP only within 24 hours of generation, and only in full.
- Open the submitted Sales Invoice.
- Choose the cancel e-Invoice action.
- Pick a cancellation reason from the IRP's list.
- Once the IRP confirms, amend or recreate the invoice as needed.
After 24 hours the IRN can't be cancelled; issue a credit note instead and report it in GSTR-1.
How do you generate e-way bills for goods movement?
An e-way bill is needed when the consignment value exceeds ₹50,000 (inter-state), or your state's own limit within a state, with exceptions such as inter-state job work at any value. The e-way bill rules post has the details.
Step 8: Generate an e-way bill from the Sales Invoice
- On a submitted Sales Invoice, generate the e-way bill from the actions menu (or let it generate with the e-invoice).
- Fill in the transporter, vehicle number, mode of transport and distance in km.
- India Compliance returns the e-way bill number and validity, stores them on the invoice and adds them to print formats.
- For a vehicle change on the way, update Part-B from the same menu.
GSTR-1 and GSTR-3B reporting
IRNs are one half of GST compliance. You still file GSTR-1 and GSTR-3B, monthly or quarterly.
Step 9: Prepare GSTR-1
- Open GSTR-1 Beta in ERPNext.
- Select the company and period, and click Generate.
- Review each section (B2B, B2C Large, credit and debit notes, exports) against your books.
- Upload and file through the app's API (with your authorised PAN and OTP), or download the JSON and upload it on the GST portal.
Step 10: Reconcile before GSTR-3B
GSTR-3B is a summary return. India Compliance builds a GSTR-3B report from your sales and purchase data. Check the input tax credit against your GSTR-2B on the GST portal before you file: ITC mismatches are a common trigger for GST notices. The GST return filing guide covers it in detail.
What are the common errors, and how do you fix them?
| Fix | ||
|---|---|---|
GSTIN is invalid or not found | Customer GSTIN missing or mistyped | Check the GSTIN on the Customer and Address against the GST portal |
HSN code is mandatory | Item missing HSN/SAC code | Add the HSN code to the Item master |
Duplicate IRN | Invoice already has an IRN (for example, a resubmit) | Open the existing IRN on the invoice; don't regenerate |
E-invoice schema validation failed | A field breaks the IRP schema's length or format | Check item description length (300 characters maximum), the 6-digit PIN code and state codes |
Invalid credentials / token expired | API user wrong or session stale | Re-enter the user under GST Settings → Credentials; check your India Compliance account |
E-way bill: distance cannot be zero | Distance left blank | Enter the road distance in km; the e-way bill portal has a distance tool |
How does it fit with the rest of ERPNext?
Because India Compliance runs inside ERPNext, IRN data flows through the rest of the system. The signed QR appears on PDF invoices. IRN status shows on the Sales Invoice so accounts can spot invoices without an IRN. Credit and debit notes link back to the original invoice.
For distribution businesses, e-invoicing works alongside the warehouse-per-distributor structure in our distributor secondary-sales tracking guide. Stock transfers between your own GSTINs in different states are supplies between distinct persons, so they are invoiced (and e-invoiced, where you are covered) like other B2B supplies; confirm the treatment with your CA. Give each state registration its own company address with its GSTIN.
If you are weighing ERPNext as your main ERP, see what moves the cost in our ERPNext implementation cost guide, or how we run an ERPNext implementation.
Frequently asked questions
+Which businesses need GST e-invoicing in India?
Registered businesses whose aggregate annual turnover exceeded ₹5 crore in any financial year from 2017-18, for B2B invoices, credit and debit notes and exports, unless the entity type is exempt (for example banks, insurers, NBFCs, GTAs, passenger transport, multiplex admission, SEZ units and government departments). Confirm your position with your CA.
+Can ERPNext generate e-invoices without a GSP?
Not in the way India Compliance is built. Its API calls go through Resilient Tech's service, using your India Compliance account, and you create an API user "for GSP" on the portal as its docs describe. The NIC's own direct API access (your own client ID and secret, with whitelisted static IPs) is limited to very large taxpayers (aggregate turnover above ₹500 crore), GSPs and e-commerce operators, and India Compliance doesn't use it.
+What happens if an IRN is not generated when the invoice is made?
You can generate it later from the Sales Invoice. If your AATO is ₹10 crore or more, the IRP won't accept a document more than 30 days after its date. Below ₹10 crore there is no such limit as of now, but generate IRNs when you invoice anyway.
+Does India Compliance support multi-GSTIN or multi-branch setups?
Yes. GST Settings → Credentials takes one API user per GSTIN. You model each legal entity as a Company, and each state registration as an address with its own GSTIN; the app picks the credentials for the GSTIN on the invoice.
+How do I handle e-invoicing for credit notes and debit notes?
India Compliance generates IRNs for credit notes (sales returns) and debit notes linked to the original invoice. Make sure the original invoice has its IRN before you create the note.
+Is the India Compliance app free to use?
The app is open source and has no licence fee. Its API features (e-invoice, e-way bill, GSTIN checks, returns) need an India Compliance account with API credits; check the current terms in its docs. On Frappe Cloud, API access is bundled. Your other costs are hosting and any implementation work.
+Does ERPNext support GST e-invoicing out of the box?
Through the India Compliance app, yes. Plain ERPNext without it doesn't connect to the IRP. With the app installed, GSTINs and API access configured, IRNs, signed QR codes, e-way bills and GSTR-1 and GSTR-3B preparation all happen inside ERPNext.
+What is the e-invoicing turnover threshold in 2026?
Aggregate annual turnover exceeding ₹5 crore in any financial year from 2017-18, from 1 August 2023 (Notification 10/2023-Central Tax). The threshold came down in steps: ₹500 crore (October 2020), ₹100 crore (January 2021), ₹50 crore (April 2021), ₹20 crore (April 2022), ₹10 crore (October 2022) and ₹5 crore (August 2023). No lower threshold had been notified as of 12 October 2026. Confirm on the e-invoice portal or with your CA.
+Can I generate an e-invoice for a back-dated invoice in ERPNext?
If your AATO is ₹10 crore or more, only within 30 days of the document date (from 1 April 2025); after that the IRP rejects it. Generate IRNs on the day you submit the invoice. India Compliance lets you retry generation from the Sales Invoice, but the IRP's 30-day limit applies whatever the ERP allows. Below ₹10 crore the limit doesn't apply as of now.
+Do I need a GSP to use ERPNext for e-invoicing?
With India Compliance you don't contract a GSP yourself: you create the portal API user "for GSP" as its docs describe and use your India Compliance account, which handles the connection. Other ERPs and middleware may use a GSP of your choice directly.
Comments & ratings
No comments yet. Start a new discussion.
Manoj · Published on 7 June 2026
Worked with us? Leave a Google review