Home / Odoo Problems / GST & Tax
Odoo GST

Odoo E-Invoice & E-Way Bill Problems: Causes & Solutions

By Odoobots ERP TeamUpdated September 20266 min readApplies to Odoo 14–19 Indian localization
TL;DR

E-invoice failures are data-quality problems wearing a technical mask. Rejections come from invalid HSN/UQC codes, incomplete partner GSTIN/state/pincode data, or an expired GSP session — not from Odoo's engine. Clean those three and IRNs flow.

First, confirm the symptom

  • IRN generation fails with cryptic portal error codes
  • E-invoice worked for months, then everything fails at once
  • Some customers' invoices always fail; others always pass
  • E-way bill generated without Part-B, or rejected for distance/vehicle data

1. GSP credentials and expired sessions

Odoo talks to the IRP through a registered GSP. If everything failed suddenly, the API credentials expired or were reset on the portal side — classic after a GST portal password change.

Fix
  1. Re-verify credentials in Accounting → Settings → Indian Electronic Invoicing and re-register the GSP on the e-invoice portal if needed.
  2. Test in sandbox mode first, then switch to production — and document who owns portal credentials.

2. HSN and UQC codes the portal refuses

The IRP validates HSN codes (length by turnover slab) and UQC unit codes (NOS, KGS, MTR...). Products imported with blank HSN or Odoo UoMs not mapped to UQC get line-level rejections.

Fix
  1. Audit products missing HSN with a filtered export; fill and re-import.
  2. Map every sale UoM to its UQC code in the unit configuration — one-time, then rejections stop.

3. Partner master data incomplete

B2B e-invoices need the buyer's GSTIN, state code and pincode to be present and consistent (GSTIN's state digits must match the state field). One sloppy customer record = every invoice to them fails.

Fix
  1. For failing customers, verify GSTIN format, State, and pincode on the partner form.
  2. Make GSTIN + State mandatory at customer creation (a tiny customization we ship in every GST project).
Odoo customer invoice form with line taxes and totals used for e-invoice IRN generation
The e-invoice is only as good as this document: line HSN, UQC, tax chips and partner data all feed the IRN payload — fix the source, not the error message.

4. E-way bill Part-B and distance data

E-way bills fail or stay incomplete when transporter ID, vehicle number (Part-B) or distance is missing — or when the dispatch happens from a warehouse address different from the registered one.

Fix
  1. Capture transporter and vehicle at dispatch time (delivery order fields), not after.
  2. Keep warehouse addresses complete with pincodes; distance auto-computes from pincode pairs.

5. Cancelling and amending the wrong way

IRNs can be cancelled only within 24 hours; after that, corrections need credit notes. Teams that "reset to draft and edit" break the chain between Odoo documents and the portal.

Fix
  1. Within 24h: cancel the IRN from the invoice, then cancel/correct the invoice.
  2. After 24h: issue a credit note and a fresh invoice. Lock posted e-invoiced documents against editing.
Dispatches waiting on failed IRNs?

We repair e-invoice and e-way bill pipelines — credentials, master data audit, UQC mapping, user SOPs — usually inside two days. Written fix plan first.

Fix my e-invoicing or WhatsApp +91 98414 81435

Frequently asked questions

Does Odoo Community support e-invoicing for India?

The Indian localization's e-invoicing flows are strongest on Enterprise; on Community we implement it via connectors/custom integration. Either way it is a solved problem — ask us for a demo.

Why did e-invoices suddenly stop working for everyone?

Almost always cause #1 — an expired or reset GSP session/credential. Re-authenticate and the queue clears.