Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To configure Indian GST, e-invoicing, and e-way bills in Odoo, install the India localization and integration modules, enter the company’s legal PAN and GSTIN, configure Odoo’s GST Suvidha Provider (GSP) and NIC portal API credentials, enable the required features, and activate electronic data interchange (EDI) on each applicable journal. After an invoice is confirmed, Odoo can submit it automatically or you can process it manually; a successful submission returns an IRN, acknowledgement details, and a QR code, while an e-way-bill submission returns an e-way-bill number and validity date.

The exact module labels and menu locations differ among Odoo 16, 17, and 19, so use the instructions below as a controlled rollout. Test with non-production credentials first, verify the returned documents, and switch to production only when your GSTIN, tax configuration, and credentials are correct.

What does GST, e-invoicing, and e-way-bill integration do in Odoo?

These are connected but separate compliance functions. GST configuration calculates and reports tax in Odoo. E-invoicing reports specified GST documents to the government’s Invoice Registration Portal (IRP) and obtains an Invoice Reference Number (IRN). An e-way bill documents the movement of goods when transport rules require one.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The National Informatics Centre (NIC) describes e-invoice as electronic authentication by GSTN. The IRP validates the payload, issues a unique IRN, and transfers invoice information to the GST and e-way-bill portals in real time (NIC GST e-invoice project). The GST official pamphlet defines e-invoicing as reporting details of specified GST documents to a government-notified IRP and obtaining an IRN (GST e-invoice overview pamphlet, updated 17 August 2023).

When validation succeeds, the signed invoice includes the IRN, acknowledgement number and date, and a QR code. A copy is shared with GST for GSTR-1 auto-population (GST e-invoice overview pamphlet). E-invoicing does not remove e-way-bill obligations: GSTN’s FAQ says the e-way-bill requirement remains mandatory wherever goods transport requires it (GSTN e-invoice system FAQ).

What must be ready before configuring Odoo?

Prepare the legal and portal information before opening the settings screen. Incorrect identity data is the most common reason a technically correct API configuration fails.

  • The company’s exact legal name and complete address.
  • Country set to India.
  • Permanent Account Number (PAN).
  • Goods and Services Tax Identification Number (GSTIN). Odoo requires the GSTIN to generate e-invoices, e-way bills, and GST returns.
  • API users and passwords created separately on the NIC e-Invoice portal and NIC E-Way Bill portal.
  • A decision about whether each journal should submit automatically after confirmation or wait for a user to process it.
  • A non-production test plan, sample customer and supplier data, and a way to compare Odoo’s output with the portal response before going live.

Keep the GSTIN and PAN exactly as registered. A mismatch in legal name, address, PAN, or GSTIN can cause validation errors even when the username and password are valid.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I install the Indian GST and integration modules?

Install the accounting localization first, then add the electronic-invoicing and e-way-bill connectors. Odoo 19 lists these modules explicitly; labels and optional dependencies can vary by release (Odoo 19 India fiscal localization).

  1. Open Apps and search for the Indian Accounting localization, identified as l10n_in.
  2. Install Indian E-invoicing, identified as l10n_in_edi.
  3. Install Indian E-waybill, identified as l10n_in_ewaybill.
  4. Install the optional stock integration if transport details should be taken from deliveries or inventory operations.
  5. Install the Indian reporting modules required by your accounting workflow.
  6. Refresh the browser and confirm that the India-specific accounting and EDI fields are available in Accounting settings and journals.

Do not assume that installing the accounting localization alone enables government submissions. The EDI and e-way-bill modules provide the integrations and controls used for those submissions.

How do I enter the legal company information and GSTIN?

Odoo uses the company record as the identity attached to electronic documents. Complete it before testing either portal connection.

  1. Open the company information form from the company menu or the company details link in General Settings.
  2. Enter the registered legal name, full address, state, postal code, and India as the country.
  3. Enter the PAN in the tax-identification field and the complete GSTIN in the GST identification field.
  4. Save the record, then reopen it and check every character of the PAN and GSTIN.
  5. If you operate more than one legal entity, select the correct company before configuring settings and journals; credentials and document numbering must not be mixed across entities.

Odoo’s India documentation states that GSTIN is necessary for generating e-invoices, e-way bills, and filing GST returns (Odoo 19 India fiscal localization).

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I configure the GSP and NIC API credentials?

Odoo needs both a GSP selection and separate API credentials for the two NIC services. Supplying only one portal’s credentials will not complete the integration.

  1. Go to Accounting → Configuration → Settings.
  2. In the GSP field, select BVM IT Consulting Services India Private Limited, the provider named in Odoo’s India documentation.
  3. Create an API user on the NIC e-Invoice portal and note its username and password.
  4. Create a separate API user on the NIC E-Way Bill portal and note that username and password.
  5. Enter each pair in the Indian Integration section, making sure the e-invoice credentials are not placed in the e-way-bill fields or vice versa.
  6. Save the settings and use the available connection or test action, if shown by your Odoo version.

Production and testing credentials are not interchangeable. Keep the environment in non-production while validating tax codes, document payloads, and user permissions. Odoo’s version-specific setup screens are documented for releases 16, 17, and 19 (Odoo 16 India localization, Odoo 17 India localization, Odoo 19 India localization).

How do I enable GST registration, e-invoicing, and e-way bills?

Enable the controls only after the company identity and credentials are saved.

  1. Remain in Accounting → Configuration → Settings.
  2. Enable Registered Under GST.
  3. Enable E-Invoicing.
  4. Enable E-Way bill.
  5. Leave the production-environment control disabled while testing. Enable it only when the organization is ready to send live submissions and the production NIC credentials are entered.
  6. Save the settings, then confirm that the EDI options appear on the journals that will issue or receive applicable documents.

The documentation also describes a non-production/testing setting. Treat test and production as separate environments: a successful test response does not by itself authorize live submission.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I configure sales and purchase journals for EDI?

Journal-level EDI settings determine which validated documents are submitted and whether submission is automatic.

  1. Open the relevant sales or purchase journal from Accounting → Configuration → Journals.
  2. Find the electronic data interchange section.
  3. Enable E-Invoice (IN) for journals whose documents must be reported to the IRP.
  4. Enable E-Way bill (IN) for journals associated with goods movements that require an e-way bill.
  5. Save the journal.
  6. Decide whether the journal should submit automatically after invoice confirmation or leave processing to an authorized user through the send/process action.

Repeat this for every applicable journal. Enabling a feature globally does not automatically apply it to a journal that has no EDI option selected. Odoo documents the journal controls and processing behavior in its India localization guides for versions 16 and 17 (Odoo 17 India localization, Odoo 16 India localization).

How do I generate an e-invoice from an Odoo invoice?

Use a controlled test invoice first. Confirm that the customer, tax lines, item details, document date, and supply information are complete before submitting.

  1. Create or open the sales or purchase invoice in a journal configured for E-Invoice (IN).
  2. Check the company GSTIN and the partner’s GST details, addresses, state, and place-of-supply information.
  3. Confirm the invoice. If automatic submission is enabled, Odoo sends the EDI payload after confirmation.
  4. If automatic submission is not enabled, use the invoice’s send/process action and choose Process now when an immediate request is required.
  5. Wait for the portal response and inspect the EDI document status in the invoice chatter.
  6. Open the signed JSON attachment in the chatter if you need the exact payload returned or submitted.

A successful response should place the IRN, acknowledgement number, acknowledgement date, and QR code on the invoice PDF. The signed JSON is the machine-readable evidence of the portal response; retain it with the invoice according to your records policy.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I generate an e-way bill from Odoo?

An e-way bill is a transport document, so the invoice alone may not contain every field needed for movement of goods. Ensure transporter, vehicle, distance, dispatch, and delivery details are available in the invoice or linked stock operation.

  1. Open the validated invoice or the linked delivery operation for a journal configured with E-Way bill (IN).
  2. Check origin and destination addresses, document number and date, item quantities, taxable values, and applicable GST details.
  3. Enter the transport information required by your workflow, such as transporter or vehicle data.
  4. Use the send/process action, or allow the automatic journal action to submit it.
  5. Inspect the returned EDI status and download the e-way-bill PDF.
  6. Verify that the PDF displays the e-way-bill number and validity date before releasing the goods.

An e-invoice and an e-way bill can be related, but they are not substitutes. GSTN states that the e-way-bill requirement continues wherever transport rules require it (GSTN e-invoice system FAQ).

How do I verify an IRN, signed JSON, and QR code?

Use both Odoo’s record and the NIC verification service. This catches cases where a screen appears processed but the signed response or printed document is incomplete.

  1. Open the invoice and inspect the EDI document status in the chatter.
  2. Confirm that a signed JSON attachment is present.
  3. Open the invoice PDF and check for the IRN, acknowledgement number, acknowledgement date, and QR code.
  4. Download the signed JSON from the chatter.
  5. Open the NIC e-Invoice portal and choose Search → Verify Signed Invoice.
  6. Upload the JSON and submit it.
  7. Compare the portal result with the invoice number, supplier GSTIN, recipient GSTIN, document date, and invoice value shown in Odoo.

Odoo documents this independent signed-invoice verification path in its India localization instructions (Odoo 19 India fiscal localization). For an e-way bill, use the downloaded PDF and confirm the number and validity date are visible.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I cancel an e-invoice or e-way bill in Odoo?

Cancellation is an EDI request, not merely a local status change. Enter a reason and remarks, request EDI cancellation, and wait for the portal response.

  1. Open the linked invoice or e-way-bill record.
  2. Choose the EDI cancellation action.
  3. Enter the cancellation reason and remarks required by the form.
  4. Submit the cancellation request.
  5. Monitor the EDI status until the response is processed.

Odoo warns that cancelling a linked e-invoice also cancels the e-way bill, and cancelling the linked e-way bill also cancels the e-invoice. If a cancellation is still pending, use the call-off or withdraw action before it is processed, where your version exposes that control (Odoo 17 India localization, Odoo 16 India localization).

Why is the IRN or QR code missing?

A missing IRN or QR code usually means the document was not successfully submitted, the journal was not enabled for EDI, or the response was not processed into the PDF.

The invoice stayed in draft or has no EDI status

  • Confirm the invoice was posted or confirmed, not left as a draft.
  • Check that its journal has E-Invoice (IN) enabled.
  • Use Process now to trigger a manual submission.
  • Review the chatter for a server, authentication, or validation error.

Authentication or company-identity errors

  • Recheck the GSTIN and PAN in company information.
  • Verify that the GSP is set to BVM IT Consulting Services India Private Limited.
  • Check that NIC e-Invoice credentials are in the e-invoice fields and NIC E-Way Bill credentials are in the e-way-bill fields.
  • Confirm that the production toggle matches the credentials and portal environment.

The portal accepted the request but the PDF is incomplete

  • Refresh the invoice and inspect the EDI status and signed JSON attachment.
  • Use the NIC Search → Verify Signed Invoice workflow with the JSON.
  • Regenerate or re-download the PDF after the response has been processed.
  • Compare the invoice number and GSTINs in Odoo with the verified portal response before issuing the document.

The e-way bill is missing while the e-invoice exists

  • Check that E-Way bill (IN) is enabled on the journal.
  • Confirm transport and vehicle information is complete.
  • Review the separate NIC e-way-bill credentials and the EDI error returned in chatter.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What differs between Odoo 16, 17, and 19?

The compliance concepts remain the same, but labels, module lists, and navigation can change. Use the documentation matching your installed release rather than copying a menu path from another version.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Comparison point Odoo 16 Odoo 17 Odoo 19
India localization documentation Version 16 guide Version 17 guide Version 19 guide
Core modules discussed Indian Accounting, E-invoicing, E-way bill; exact app labels can differ Indian Accounting, E-invoicing, E-way bill; exact app labels can differ Lists l10n_in, l10n_in_edi, and l10n_in_ewaybill, plus optional stock and reporting modules
Journal controls E-Invoice (IN) and E-Way bill (IN) under EDI E-Invoice (IN) and E-Way bill (IN) under EDI Use the corresponding journal EDI controls; confirm labels in your installed build
Processing choices Automatic after confirmation or manual send/process Automatic after confirmation or manual send/process Automatic after confirmation or manual send/process
Verification and cancellation Signed JSON verification and linked cancellation are documented Signed JSON verification and linked cancellation are documented Signed JSON verification is documented; use the version-specific cancellation controls

When upgrading, recheck module installation, journal flags, credentials, and production settings instead of assuming they migrated identically.

What is the safest way to move from testing to production?

A staged rollout limits the impact of a bad tax code, wrong GSTIN, or invalid transport field.

  1. Create or use non-production NIC API users and keep Odoo in its testing environment.
  2. Run one representative sale and one representative purchase through the configured journals.
  3. Test an invoice that requires an e-invoice and a goods movement that requires an e-way bill.
  4. Confirm the EDI status, signed JSON, IRN, acknowledgement data, QR code, e-way-bill number, and validity date.
  5. Verify at least one signed JSON independently on the NIC portal.
  6. Test the cancellation path with a document that is safe to cancel, including the linked-document behavior.
  7. Correct master data, journal flags, or credentials revealed by the test.
  8. Create production NIC API users, enter them in Odoo, enable the production control, and repeat a controlled live transaction.
  9. Restrict settings and cancellation rights to trained users and keep an audit trail of portal responses.

Are there universal GST e-invoice or e-way-bill thresholds?

Do not configure eligibility from a single turnover number copied from an old guide. The applicable threshold and exemptions depend on the taxpayer type, transaction, document, geography, and the date of the government notification. The official Odoo material explains system operation but does not provide a complete, current applicability matrix for every case.

Before enabling automatic submission for all documents, confirm the current GST and e-way-bill notifications that apply to your organization and transaction. Then use journal-level EDI settings, separate journals, or an approval workflow to prevent documents outside your scope from being submitted accidentally.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What should the accounting team check every day?

  • Invoices that should have an IRN but remain without an EDI success status.
  • Invoices whose PDF lacks the IRN, acknowledgement data, or QR code.
  • Deliveries requiring an e-way bill but lacking a valid e-way-bill number or validity date.
  • Authentication failures after a password, API user, or environment change.
  • Pending cancellations that need to be called off or monitored.
  • Differences between Odoo master data and the legal GST registration.

Keeping these checks in a daily exception queue is more reliable than assuming that automatic submission succeeded merely because an invoice was confirmed.

Frequently Asked Questions

Can I use the same NIC API user for e-invoicing and e-way bills?

Configure and store the credentials separately. Odoo’s integration requires an API user on each NIC portal, so a working e-invoice login does not prove that e-way-bill authentication is configured.

Does an IRN automatically create an e-way bill?

No. The two documents have different purposes and journal controls. An e-way bill still has to be generated when the applicable transport rule requires one, even when the invoice already has an IRN.

Where can I find the original payload sent to the portal?

Open the invoice chatter and download the signed JSON attachment after processing. That file is also the one used by the NIC portal’s signed-invoice verification screen.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What happens if a cancellation request is left pending?

The linked document remains subject to the pending EDI operation until the request is processed or called off. Monitor the EDI status rather than issuing a replacement document on the assumption that cancellation has completed.

Should every company turn on production mode immediately after installing the modules?

No. First validate identity data, credentials, journal behavior, returned identifiers, PDFs, and cancellation handling in the non-production environment. Switch only after the test results match the organization’s approved GST workflow.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.