India

Installation

Install the following modules to get all the features of the Indian localization:

Name

Technical name

Description

Indian - Accounting

l10n_in

Default fiscal localization package

Indian E-invoicing

l10n_in_edi

Indian e-invoicing integration

Indian E-waybill

l10n_in_edi_ewaybill

Indian E-way bill integration

Indian E-waybill Stock

l10n_in_ewaybill_stock

E-waybill creation from the Inventory app

Indian - Check GST Number Status

l10n_in_gstin_status

Indian Check GST Number Status

Indian TDS and TCS

l10n_in_withholding

TDS/TCS threshold alerts and TDS entries

Note

The GST return filing (GSTR-1 / GSTR-2B / GSTR-3 exchange with the GST portal) and the Indian tax reports (GSTR-1, GSTR-3, Profit and Loss (IN)) are not available in this edition. The GST grids of the Indian taxes can be reviewed in the tax report.

screenshot: finance-fl-india-modules
menu
Apps
shows
The Apps list filtered on "India", showing the installed Indian localization modules (Indian - Accounting, Indian E-invoicing, Indian E-waybill, Indian E-waybill Stock, Indian - Check GST Number Status, Indian TDS and TCS).
data
Demo company "YourCompany IN".
module
l10n_in
notes
English UI, light theme, 1440px width.

Indian Configuration

In Settings ‣ Users & Companies ‣ Companies, add your PAN and GSTIN. The PAN is essential for determining the type of taxpayer, while GSTIN is required for generating e-Invoices and E-waybills.

e-Invoice system

Odoo is compliant with the Indian Goods and Services Tax (GST) e-Invoice system requirements.

Setup

NIC e-Invoice registration

You must register on the NIC e-Invoice portal to get your API credentials. You need these credentials to configure your Odoo Accounting app.

  1. Log in to the NIC e-Invoice portal by clicking Login and entering your Username and Password;

    Note

    If you are already registered on the NIC portal, you can use the same login credentials.

    screenshot: finance-fl-india-e-invoice-system-login
    menu
    (NIC e-Invoice portal einvoice1.gst.gov.in) ‣ Login
    shows
    The login page of the NIC e-Invoice portal with the Username and Password fields.
    highlight
    The "Login" button.
    data
    Sandbox portal.
    module
    l10n_in_edi
    notes
    English UI, light theme, 1440px width; use throw-away test credentials.
  2. From the dashboard, go to API Registration ‣ User Credentials ‣ Create API User;

  3. After that, you should receive an OTP code on your registered mobile number. Enter the OTP code and click Verify OTP;

  4. Select Through GSP for the API interface, set Tera Software Limited as GSP, and type in a Username and Password for your API. Once it is done, click Submit.

    screenshot: finance-fl-india-submit-api-registration-details
    menu
    (NIC e-Invoice portal) ‣ API Registration ‣ User Credentials ‣ Create API User
    shows
    The "Create API User" form with "Through GSP" selected, GSP "Tera Software Limited", and the API Username / Password fields, with the "Submit" button.
    highlight
    The GSP selection and the credentials fields.
    data
    Sandbox portal.
    module
    l10n_in_edi
    notes
    English UI, light theme, 1440px width; use throw-away test credentials.

Configuration in Odoo

To enable the e-Invoice service in Odoo, go to Accounting ‣ Configuration ‣ Settings ‣ Indian Electronic Invoicing, and enter the Username and Password previously set for the API.

screenshot: finance-fl-india-e-invoice-setup
menu
Accounting ‣ Configuration ‣ Settings ‣ Indian Electronic Invoicing
shows
The "Indian Electronic Invoicing" settings block with the "Username" and "Password" fields for the NIC API and the "Test environment" checkbox.
highlight
The credential fields.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi
notes
English UI, light theme, 1440px width; use throw-away test credentials.
Journals

To automatically send e-Invoices to the NIC e-Invoice portal, you must first configure your sales journal by going to Accounting ‣ Configuration ‣ Journals, opening your sales journal, and in the Advanced Settings tab, under Electronic Data Interchange, enable E-Invoice (IN) and save.

Workflow

Invoice validation

Once an invoice is validated, a confirmation message is displayed at the top. Odoo automatically uploads the JSON-signed file of validated invoices to the NIC e-Invoice portal after some time. If you want to process the invoice immediately, click Process now.

screenshot: finance-fl-india-e-invoice-process
menu
Accounting ‣ Customers ‣ Invoices ‣ (a posted invoice)
shows
A posted customer invoice with the blue banner at the top "The invoice will be processed asynchronously by the following E-invoicing service : Indian Electronic Invoicing" and the "Process now" link.
highlight
The banner and the "Process now" link.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi
notes
English UI, light theme, 1440px width.

Note

  • You can find the JSON-signed file in the attached files in the chatter.

  • You can check the document’s EDI status under the EDI Document tab or the Electronic invoicing field of the invoice.

Invoice PDF report

Once an invoice is validated and submitted, the invoice PDF report can be printed. The report includes the IRN, Ack. No (acknowledgment number) and Ack. Date (acknowledgment date), and QR code. These certify that the invoice is a valid fiscal document.

screenshot: finance-fl-india-invoice-report
menu
Accounting ‣ Customers ‣ Invoices ‣ (an e-invoiced invoice) ‣ Print
shows
The printed invoice PDF header showing the IRN, "Ack. No", "Ack. Date" and the e-invoice QR code.
highlight
The IRN/QR block.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi
notes
English UI, light theme, 1440px width.

e-Invoice cancellation

If you want to cancel an e-Invoice, go to the Other info tab of the invoice and fill out the Cancel reason and Cancel remarks fields. Then, click Request EDI cancellation. The status of the Electronic invoicing field changes to To Cancel.

Important

Doing so cancels both the e-Invoice and the E-Way bill.

screenshot: finance-fl-india-e-invoice-cancellation
menu
Accounting ‣ Customers ‣ Invoices ‣ (an e-invoiced invoice) ‣ Other Info tab
shows
The Other Info tab with the "Cancel reason" drop-down and "Cancel remarks" field filled in, and the "Request EDI cancellation" button in the header.
highlight
The "Cancel reason" and "Cancel remarks" fields.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi
notes
English UI, light theme, 1440px width.

Note

  • If you want to abort the cancellation before processing the invoice, then click Call Off EDI Cancellation.

  • Once you request to cancel the e-Invoice, Odoo automatically submits the JSON-signed file to the NIC e-Invoice portal. You can click Process now if you want to process the invoice immediately.

Management of negative lines in e-Invoices

Negative lines are typically used to represent discounts or adjustments associated with specific products or global discounts. The government portal prohibits the submission of data with negative lines, which means they need to be converted based on the HSN code and GST rate. This is done automatically by Odoo.

Example

Consider the following example:

Product Details

Product Name

HSN Code

Tax Excluded

Quantity

GST Rate

Total

Product A

123456

1,000

1

18%

1,180

Product B

239345

1,500

2

5%

3,150

Discount on Product A

123456

-100

1

18%

-118

Here’s the transformed representation:

Product Details

Product Name

HSN Code

Tax Excluded

Quantity

Discount

GST Rate

Total

Product A

123456

1,000

1

100

18%

1,062

Product B

239345

1,500

2

0

5%

3,150

In this conversion, negative lines have been transformed into positive discounts, maintaining accurate calculations based on the HSN Code and GST rate. This ensures a more straightforward and standardized representation in the E-invoice records.

GST e-Invoice verification

After submitting an e-Invoice, you can verify if the invoice is signed from the GST e-Invoice system website itself.

  1. Download the JSON file from the attached files. It can be found in the chatter of the related invoice;

  2. Open the NIC e-Invoice portal and go to Search ‣ Verify Signed Invoice;

  3. Select the JSON file and submit it;

    screenshot: finance-fl-india-verify-invoice
    menu
    (NIC e-Invoice portal) ‣ Search ‣ Verify Signed Invoice
    shows
    The "Verify Signed Invoice" page of the NIC portal with the file selector for the JSON file and the "Verify" button.
    highlight
    The file selector.
    data
    Sandbox portal.
    module
    l10n_in_edi
    notes
    English UI, light theme, 1440px width.

    If the file is signed, a confirmation message is displayed.

    screenshot: finance-fl-india-signed-invoice
    menu
    (NIC e-Invoice portal) ‣ Search ‣ Verify Signed Invoice
    shows
    The confirmation message of the NIC portal stating that the uploaded JSON is a valid signed invoice, with the IRN details.
    highlight
    The confirmation message.
    data
    Sandbox portal.
    module
    l10n_in_edi
    notes
    English UI, light theme, 1440px width.

E-Way bill

Setup

Odoo is compliant with the Indian Goods and Services Tax (GST) E-waybill system requirements.

API registration on NIC E-Way bill

You must register on the NIC E-Way bill portal to create your API credentials. You need these credentials to configure your Odoo Accounting app.

  1. Log in to the NIC E-Way bill portal by clicking Login and entering your Username and Password;

  2. From your dashboard, go to Registration ‣ For GSP;

  3. Click Send OTP. Once you have received the code on your registered mobile number, enter it and click Verify OTP;

  4. Check if Tera Software Limited is already on the registered GSP/ERP list. If so, use the username and password used to log in to the NIC portal. Otherwise, follow the next steps;

    screenshot: finance-fl-india-e-waybill-gsp-list
    menu
    (NIC E-Way bill portal ewaybillgst.gov.in) ‣ Registration ‣ For GSP
    shows
    The "For GSP" registration page listing the registered GSP/ERP entries with the "Add/New" button.
    highlight
    The "Add/New" button.
    data
    Sandbox portal.
    module
    l10n_in_edi_ewaybill
    notes
    English UI, light theme, 1440px width; use throw-away test credentials.
  5. Select Add/New, select Tera Software Limited as your GSP Name, create a Username and a Password for your API, and click Add.

    screenshot: finance-fl-india-e-waybill-registration-details
    menu
    (NIC E-Way bill portal) ‣ Registration ‣ For GSP ‣ Add/New
    shows
    The GSP registration form with "Tera Software Limited" selected as GSP and the API Username / Password fields, with the "Add" button.
    highlight
    The GSP name and credentials fields.
    data
    Sandbox portal.
    module
    l10n_in_edi_ewaybill
    notes
    English UI, light theme, 1440px width; use throw-away test credentials.

Configuration in Odoo

To set up the E-Way bill service, go to Accounting ‣ Configuration ‣ Settings ‣ Indian Electronic WayBill ‣ Setup E-Way bill, and enter your Username and Password.

screenshot: finance-fl-india-e-waybill-configuration
menu
Accounting ‣ Configuration ‣ Settings ‣ Indian Electronic WayBill
shows
The "Indian Electronic WayBill" settings block with "Setup E-Way bill" enabled and the "Username" / "Password" fields.
highlight
The credential fields.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi_ewaybill
notes
English UI, light theme, 1440px width; use throw-away test credentials.

Workflow

Send an E-Way bill

To send an E-Way bill, confirm the customer invoice/vendor bill and click Send E-Way bill.

screenshot: finance-fl-india-e-waybill-send-button
menu
Accounting ‣ Customers ‣ Invoices ‣ (a posted invoice)
shows
A posted customer invoice with the "Send E-Way bill" button in the header.
highlight
The "Send E-Way bill" button.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi_ewaybill
notes
English UI, light theme, 1440px width.

Invoice validation

Once an invoice/bill has been issued and sent via Send E-Way bill, a confirmation message is displayed.

screenshot: finance-fl-india-e-waybill-process
menu
Accounting ‣ Customers ‣ Invoices ‣ (a posted invoice) after "Send E-Way bill"
shows
The invoice with the banner "The invoice will be processed asynchronously by the following E-invoicing service : Indian Electronic Way Bill" and the "Process now" link.
highlight
The banner.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi_ewaybill
notes
English UI, light theme, 1440px width.

Note

  • You can find the JSON-signed file in the attached files in the chatter.

  • Odoo automatically uploads the JSON-signed file to the government portal after some time. Click Process now if you want to process the invoice/bill immediately.

Invoice PDF report

You can print the invoice PDF report once you have submitted the E-Way bill. The report includes the E-Way bill number and the E-Way bill validity date.

screenshot: finance-fl-india-e-waybill-invoice-report
menu
Accounting ‣ Customers ‣ Invoices ‣ (an invoice with E-Way bill) ‣ Print
shows
The printed invoice PDF showing the E-Way bill number ("Ewaybill No") and date in the header.
highlight
The E-Way bill number.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi_ewaybill
notes
English UI, light theme, 1440px width.

E-Way bill cancellation

If you want to cancel an E-Way bill, go to the E-Way bill tab of the related invoice/bill and fill out the Cancel reason and Cancel remarks fields. Then, click Request EDI Cancellation.

Important

Doing so cancels both the e-Invoice (if applicable) and the E-Way bill.

screenshot: finance-fl-india-e-waybill-cancellation
menu
Accounting ‣ Customers ‣ Invoices ‣ (an invoice with E-Way bill) ‣ Other Info tab
shows
The Other Info tab with the E-Way bill "Cancel reason" and "Cancel remarks" fields and the "Request EDI cancellation" button.
highlight
The "Cancel reason" and "Cancel remarks" fields.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_edi_ewaybill
notes
English UI, light theme, 1440px width.

Note

  • If you want to abort the cancellation before processing the invoice, click Call Off EDI Cancellation.

  • Once you request to cancel the E-Way bill, Odoo automatically submits the JSON-signed file to the government portal. You can click Process Now if you want to process the invoice immediately.

E-waybill creation from receipts and delivery orders

Note

Make sure the E-Way bill Stock module is installed and the E-Way bill setup is complete.

To create E-Way bills from receipts and deliveries in the Inventory app, follow these steps:

  1. Go to Inventory ‣ Operations ‣ Deliveries or Inventory ‣ Operations ‣ Receipts and select an existing delivery order/receipt or create a new one.

  2. Click Create E-waybill/Challan.

    Note

    To create an E-way bill:

    • A delivery order must be in the Done state (i.e., validated)

    • A receipt must have the Ready or Done state.

  3. Click Generate e-Waybill to validate the E-Way bill and send it to the NIC E-Way bill portal.

    Tip

    To use the E-Way bill as a challan for goods deliveries without sending it to the NIC E-Waybill portal, click Use as Challan.

To print the E-waybill or the challan, click the (gear) icon and select Ewaybill / Delivery Challan.

Indian Check GSTIN Status

The Indian - Check GST Number Status module allows you to verify the status of a GSTIN directly from Odoo.

To verify the status of a contact’s GST number, access the customer’s/vendor’s form and click Check GSTIN Status next to the GSTIN field.

To verify the status of a GST number entered on an invoice/bill, access the invoice/bill and click the (refresh) button next to the GST Status field.

screenshot: finance-fl-india-gstin-status-invoice
menu
Accounting ‣ Customers ‣ Invoices ‣ (an invoice)
shows
A customer invoice form with the "GST Status" field next to the customer, showing the verified status (e.g. "Active") and the refresh button.
highlight
The "GST Status" field and its refresh button.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_gstin_status
notes
English UI, light theme, 1440px width.

A notification is displayed to confirm the status update and the GSTIN status and verification date are logged in the contact’s chatter.

TDS/TCS threshold alert

TDS and TCS are tax provisions under Indian law, triggered when transaction amounts exceed specified thresholds. This alert notifies users when the value of invoices or bills surpasses these limits, prompting the application of the appropriate TDS/TCS.

To configure Odoo to advise you on when to apply TDS/TCS, set the TDS/TCS section field on the corresponding account in the chart of accounts. Odoo will display a banner suggesting the TDS/TCS section under which tax might be applicable when recording an invoice or bill.

Configuration

  1. Navigate to Accounting ‣ Configuration ‣ Settings.

  2. In the Indian Integration section, enable the TDS and TCS feature.

  3. Navigate to Accounting ‣ Configuration ‣ Chart of Accounts.

  4. Click View on the desired account, and set the TDS/TCS Section field.

Note

The TDS/TCS sections are pre-configured with threshold limits. If you need to modify these limits, go to Accounting ‣ Configuration ‣ Taxes. In the Advanced Options tab, click on the (internal link) icon of the Section field.

screenshot: finance-fl-india-tds-tcs-section-modify
menu
Accounting ‣ Configuration ‣ Taxes ‣ (a TDS tax) ‣ Advanced Options tab
shows
A TDS tax form, Advanced Options tab, with the "Section" field and its internal-link arrow; the opened "Section Alert" form shows the section code and the threshold amounts.
highlight
The "Section" field and the internal link icon.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_withholding
notes
English UI, light theme, 1440px width.

Applying TCS/TDS on invoices and bills

Based on the account used on the customer invoice or vendor bill, Odoo checks the TCS/TDS threshold limit. If the limit specified in the TCS/TDS Section of the account is exceeded, Odoo displays an alert that suggests applying the appropriate TCS/TDS. The alert will disappear once the TCS/TDS is applied.

screenshot: finance-fl-india-tcs-warning
menu
Accounting ‣ Customers ‣ Invoices ‣ (an invoice above the threshold)
shows
A customer invoice with the yellow alert banner suggesting to apply TCS under the section configured on the account, because the partner's aggregate amount exceeds the threshold.
highlight
The alert banner.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials. Customer with PAN ABCPX1234E.
module
l10n_in_withholding
notes
English UI, light theme, 1440px width.

TCS is directly applicable in the tax on the invoice lines. To apply TDS, click the TDS Entry smart button on the vendor bill/payment. The popup window allows specifying the TDS details. Confirm the entry to apply the TDS.

screenshot: finance-fl-india-tds-apply
menu
Accounting ‣ Vendors ‣ Bills ‣ (a bill) ‣ TDS Entry
shows
The "TDS Entry" pop-up opened from the vendor bill smart button: the TDS section, base amount, TDS tax and amount fields, with the "Create" button.
highlight
The TDS tax and amount fields.
data
Demo company "YourCompany IN" (GSTIN 24AAGCC7144L6ZE), Indian localization installed; NIC sandbox credentials.
module
l10n_in_withholding
notes
English UI, light theme, 1440px width.

In Odoo, the aggregate total is calculated for partners sharing the same PAN number, across all company branches.

Example

Branch

Customer

Invoice

Transaction Amount (₹)

PAN Number

IN - MH

XYZ Enterprise - GJ

Invoice 1

₹50,000

ABCPX1234E

IN - MH

XYZ Enterprise - GJ

Invoice 2

₹30,000

ABCPX1234E

IN - MH

XYZ Enterprise - MH

Invoice 3

₹40,000

ABCPX1234E

IN - DL

XYZ Enterprise - GJ

Invoice 4

₹20,000

ABCPX1234E

IN - GJ

XYZ Enterprise - MH

Invoice 5

₹60,000

ABCPX1234E

  • Aggregate total = 50,000 + 30,000 + 40,000 + 20,000 + 60,000 = ₹200,000

  • The aggregate total for all customers (XYZ Enterprise - GJ, MH, DL) sharing the PAN number ABCPX1234E across all branches is ₹200,000.