Skip to main content

GST & compliance

GST E-Invoicing in Tally, Zoho, SAP B1, Odoo and ERPNext

How TallyPrime, Zoho Books, SAP Business One, Odoo and ERPNext send invoices to the GST IRP: the GSP each uses, setup, IRN, e-way bill, cancellation and what breaks.

Published 29 Oct 202611 min readBy Manoj

All five systems reach the government's Invoice Registration Portal (IRP) the same way: you register on the IRP, create an API user and connect your software through a GST Suvidha Provider (GSP). The IRP returns an Invoice Reference Number (IRN) and a signed QR code, which go on the invoice. What differs is who the GSP is, where the setting lives and how much happens without a click. The rules don't change with the software. This post compares GST e-invoicing in Tally (TallyPrime), Zoho Books, SAP Business One, Odoo and ERPNext side by side.

I lead ERPNext and Frappe programmes at MithTech, a team of Frappe specialists in Bengaluru who also work with Tally, Zoho Books, SAP Business One and Odoo. The vendor facts below come from each vendor's own documentation, read on 29 October 2026 (SAP Business One: confirmed with SAP's documentation before publish). Your CA has the last word on the tax rules.

The rules every system has to meet

  • Who: a registered person whose aggregate turnover in any financial year from 2017-18 exceeded ₹5 crore, from 1 August 2023. Some classes are exempt, such as SEZ units, insurers, banks and NBFCs, goods transport agencies, passenger transport services, multiplex admissions, government departments and local authorities.
  • What: B2B invoices, credit notes and debit notes, supplies to SEZs, and exports. B2C invoices don't get an IRN. A separate rule asks businesses with aggregate turnover above ₹500 crore to print a dynamic QR code on B2C invoices.
  • How: the invoice data goes to an IRP as JSON in the government schema. The IRP validates it, assigns the IRN, signs it and returns a QR code. There are six IRPs authorised by GSTN: two run by NIC and four private ones.
  • When: with an AATO of ₹10 crore or more, the IRP won't accept a document dated more than 30 days before the day you report it. An invoice dated 1 April can't be reported after 30 April. Below ₹10 crore there is no such window for now. The source is GSTN's advisory of 5 November 2024.
  • Cancel: an IRN can be cancelled on the IRP within 24 hours of generation, and only if no e-way bill on it is still active. After that the IRN stays, and GSTN's FAQ says to correct the return: report the invoices you actually issued in GSTR-1 and delete cancelled ones from the auto-filled tables.

How each system connects to the IRP

TallyPrimeSAP Business OneOdoo (18)ERPNext
Connects throughTally (India) Pvt Ltd as GSPZoho, a registered GSPIndia localisation e-documents; live IRP link usually via a partner's GSP add-onBVM IT Consulting as GSPIndia Compliance app; GSP user on the e-waybill portal (Adaequare)
SetupEnable e-invoicing, register on the IRP, create an API user with Tally as GSPRegister on the IRP, enable e-invoicing, connect to the IRPDepends on feature pack and partnerAPI user "through GSP" on the NIC portal; credentials in Accounting settings; E-Invoice (IN) on the sales journalAPI credentials in GST Settings; enable e-invoicing with an applicable-from date
IRNAfter saving a sales voucher, or later from the Exchange menuOne click per invoiceFrom the add-on, or by importing the IRP's response JSONUploaded after validation, or "Process now"Auto-generated on submit, or on demand
BulkYesYesSeveral documents at once in the Electronic Document MonitorSent automatically after validationFrom the Sales Invoice list
E-way bill with the IRNOption on the voucherDepends on how e-way bills are set upAdd-on dependentSeparate l10n_in_edi_ewaybill moduleOption in GST Settings
Cancel from the softwareYesYesAdd-on dependentYes; also cancels the linked e-way billYes

TallyPrime

You enable e-invoicing in TallyPrime, register the business on the IRP and create an API user with Tally (India) Pvt Ltd as the GSP. If you already use Tally for e-way bills, that API profile works. You can generate the IRN after saving a sales voucher or later from the Exchange menu, for one voucher or many, and print the invoice with the IRN and QR code. TallyPrime 7.2 adds an extended login session. Release 7.1 onwards asks for the Ship-To GSTIN when Bill-To and Ship-To differ. GSTN had planned to require it from 1 August 2026 but put the change on hold on 29 July 2026 until further notice. The IRP rejects invoice numbers that start with 0, "/" or "-", so check your voucher numbering before you go live.

Zoho Books

Zoho is itself a registered GSP, so Zoho Books connects to the IRP without a third party. You register on the IRP, enable e-invoicing in Zoho Books and connect. The setup differs slightly if Zoho Books also generates your e-way bills. Invoices are pushed one at a time or in bulk, and the IRN and QR code are added to the invoice.

SAP Business One

SAP Business One's India localisation handles e-invoices as electronic documents, and you can track them in the Electronic Document Monitor. Depending on the feature pack, the system exports the invoice JSON and imports the IRP's response, or a partner's add-on talks to the IRP live through a GSP. Ask your SAP partner which applies to your installation, and test credit memos as well as invoices.

Odoo

In Odoo 18 the l10n_in_edi module sends invoices through BVM IT Consulting Services India as the GSP. You create an API user on the NIC e-invoice portal with "through GSP" as the interface and enter the credentials in Odoo's accounting settings. Then you enable E-Invoice (IN) on the sales journal. After validation Odoo uploads the signed JSON, or you click "Process now". The PDF shows the IRN, acknowledgement number and date, and QR code. The portal does not accept negative lines, so Odoo converts them by HSN code and GST rate on its own. Cancelling the e-invoice from Odoo also cancels the linked e-way bill.

ERPNext

ERPNext uses the open-source India Compliance app. You create a GSP user on the e-waybill portal and add the credentials under GST Settings. Then you enable e-invoicing with an "applicable from" date, or set a separate date for each company. With "auto-generate on submit", the IRN is created when the Sales Invoice is submitted, and the e-waybill can be generated with it. The app also retries on gateway timeouts and lets you choose how nil-rated or non-GST lines are treated. Setup, IRN round-trip and failure modes are in our ERPNext e-invoicing setup guide and IRP round-trip post.

What breaks, whichever system you use

What to do
Invoice number format rejectedIRP validation errorFix the numbering series before go-live: no leading 0, "/" or "-"
HSN code missing or invalidIRP rejects the lineMake HSN mandatory on item masters
Bill-To and Ship-To differShip-To details on the e-way billCapture the consignee GSTIN on the party or address, ready for when GSTN's on-hold Ship-To rule starts
Negative or discount linesSchema rejects negativesUse the software's conversion where it has one (Odoo does this) or restructure the line
Document older than 30 days (AATO ≥ ₹10 crore)IRP refuses itReport the same day. Failures need an owner who checks daily

If an invoice that needed an IRN goes out without one, it is not a valid tax invoice, and your buyer's input tax credit on it is at risk. That's why the failure queue matters more than the setup screen.

Choosing: e-invoicing is not the deciding factor

All five do e-invoicing. If you're choosing or switching ERP, the questions that separate them are elsewhere:

  • Volume and automation: how many invoices a day, and whether IRNs must be generated without anyone clicking.
  • Credit notes and returns: how cleanly the system handles credit notes against e-invoiced sales.
  • Multiple GSTINs: one company with several state registrations, each with its own IRP credentials.
  • Who supports you: when an IRN fails at 6 pm, who fixes it? Your own team, the vendor or a partner?

For a wider comparison see Zoho Books vs Tally, ERPNext vs SAP Business One and ERPNext vs Odoo.

Frequently asked questions

+Do I need a GSP to generate e-invoices from my ERP?

To generate IRNs from inside your software you need an API connection to an IRP. That usually runs through a GSP, which may be your software vendor itself (Tally, Zoho) or a third party. The NIC portal also accepts registered ERPs and direct integration from your own system. Without an API connection, you can still enter invoices on the IRP's own portal or use its free offline tool.

+Can I use the free NIC IRP with my ERP?

Yes. NIC runs two of the six IRPs authorised by GSTN, and most ERP connectors reach them through their GSP. The other four are run by private companies.

+What happens if I miss the 30-day reporting window?

If your AATO is ₹10 crore or more, the IRP will not accept the document, so you can't get an IRN for it. Talk to your CA before you issue a replacement document.

+Can I cancel an IRN?

Yes, within 24 hours of generation, on the IRP or from your software, as long as no e-way bill on it is still active. Partial cancellation isn't possible. After 24 hours the IRN can't be cancelled, so report the invoices you actually issued in GSTR-1 and remove cancelled ones there.

+Does e-invoicing replace the e-way bill?

No. The e-way bill is a separate requirement for moving goods. Most systems can generate it with the IRN from the same invoice data.

What is the bottom line?

The IRP sets the rules and every one of these systems can follow them. Pick your ERP for everything else, then set up e-invoicing properly: numbering, HSN, Ship-To details and someone who clears the failure queue every day.

Your next step

Already on one of these and IRNs keep failing?

Next step · GST & compliance

Now see GST compliance

GST compliance

Comments & ratings

No comments yet. Start a new discussion.

0

Manoj · Published on 29 October 2026

Worked with us? Leave a Google review

Questions about this? Talk to the team.

Book a 30-minute Google Meet, WhatsApp us, or send a message. The engineer who works on this replies.

Send us a message
Your details go to our team's CRM and are used only to reply.