India¶
Installation¶
Install the following modules to get all the features of the Indian localization:
Name |
Technical name |
Description |
---|---|---|
Indian - Accounting |
|
Default fiscal localization package |
Indian E-invoicing |
|
|
Indian E-waybill |
|
|
Indian E-waybill Stock |
|
|
Indian - Accounting Reports |
|
Adds the Indian GST Return filing and the Indian Tax reports. |
Bedrijf¶
To configure your company information, open the Settings app, scroll down to the Companies section, click Update Info, and configure the following:
Company Name
Address, including the Street, City, State, ZIP, and Country
PAN: essential for determining the type of taxpayer.
GSTIN: necessary for generating e-Invoices, E-waybills and filing GST returns.
Indian Configuration¶
The Indian Integration section provides essential taxation and compliance features to simplify financial operations. To enable these features, navigate to Indian Integration section.
and scroll down to the
TDS/TCS: Activate this to enable TDS/TCS functionality along with account-based TDS/TCS section suggestions.
Registered Under GST: Select this if your business is registered under GST to access GST-related features, including e-invoice, e-waybill, GST e-filing, fetch vendor e-invoiced document and check GST number status.
E-Invoicing: Connects to the e-invoice NIC portal to submit invoices.
E-Way bill: Connects to the e-waybill NIC portal to generate e-waybills.
GST E-Filing & Matching: Enable the feature to facilitate GST return filing and connect with the GST portal to submit GSTR-1 and retrieve GSTR-2B.
Check GST Number Status: Enable to verify GSTIN Status.
Fetch Vendor E-Invoiced Document: Helps in creating draft vendor bills using e-invoice data submitted by vendors on GST portal.
Belangrijk
Check the Production Environment checkbox to start using Indian services in the production environment. If you want to use the testing environment then keep the checkbox unchecked.
e-Invoice system¶
Odoo is compliant with the Indian Goods and Services Tax (GST) e-Invoice system requirements.
Instellingen¶
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.
Log in to the NIC e-Invoice portal by clicking Login and entering your Username and Password;
Notitie
If you are already registered on the NIC portal, you can use the same login credentials.
From the dashboard, go to
;After that, you should receive an OTP code on your registered mobile number. Enter the OTP code and click Verify OTP;
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.
Configuration in Odoo¶
To enable the e-Invoice service in Odoo, activate the E-Invoicing feature and enter the Username and Password previously set for the API.
Workflow¶
Generate e-Invoice¶
Once an invoice is confirmed, click the Send button to open the wizard. Select E-Invoicing, then click the Generate button. Odoo will upload the JSON-signed file of the invoice to the NIC e-Invoice portal.

Notitie
You can find the JSON-signed file and check the e-Invoicing status in the chatter.
Invoice PDF report¶
Once an invoice is validated and submitted, the invoice PDF report can be printed. The report includes the IRN, Acknowledgement (number and date) and QR code. These certify that the invoice is a valid fiscal document.

e-Invoice cancellation¶
To cancel an e-Invoice, click the Request Cancel button on the related invoice. In the Cancel E-Invoice window, fill out the Cancel Reason and Cancel Remarks.
Notitie
You can find the e-Invoicing status in the chatter.
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.
Download the JSON file from the attached files. It can be found in the chatter of the related invoice;
Open the NIC e-Invoice portal and go to ;
Select the JSON file and submit it;
If the file is signed, a confirmation message is displayed.
E-Way bill¶
Instellingen¶
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.
Log in to the NIC E-Way bill portal by clicking Login and entering your Username and Password;
From your dashboard, go to
;Click Send OTP. Once you have received the code on your registered mobile number, enter it and click Verify OTP;
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;
Select Add/New, select Tera Software Limited as your GSP Name, create a Username and a Password for your API, and click Add.
Configuration in Odoo¶
To enable the E-Way bill service in Odoo, activate the E-Way bill feature and enter the Username and Password.
Workflow¶
Generate E-Way bill¶
To generate an E-Way bill, confirm the customer invoice/vendor bill and click Create e-Waybill. Enter the necessary details and click Generate e-Waybill to proceed.
Notitie
You can find the JSON-signed file in the attached files in the chatter.
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.

E-Way bill cancellation¶
To cancel an E-Way bill, click e-Waybill on the related invoice/bill, then Cancel e-Waybill. In the Cancel Ewaybill window, fill out the Cancel Reason and Cancel Remarks.

Notitie
Once you request to cancel the E-Way bill, Odoo automatically submits the JSON-signed file to the government portal. You can check the JSON file in the chatter.
E-waybill creation from receipts and delivery orders¶
Notitie
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:
Go to
or and select an existing delivery order/receipt or create a new one.Click Create E-waybill/Challan.
Notitie
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.
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 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.

A notification is displayed to confirm the status update and the GSTIN status and verification date are logged in the contact’s chatter.
Indian GST Return filing¶
Enable API access¶
To file GST Returns in Odoo, you must first enable API access on the GST portal.
Log into the GST portal by entering your Username and Password, and go to My Profile on your profile menu;
Select Manage API Access, and click Yes to enable API access;
Notitie
It is recommended to set the Duration to 30 days to avoid the need for frequent token reauthentication.
Doing so enables a Duration drop-down menu. Select the Duration of your preference, and click Confirm.
Indian GST Service In Odoo¶
Once you have enabled the API access on the GST portal, activate the GST E-Filing & Matching Feature to start using GST Service. Then, in the Registered Under GST section, fill in the required GST Username.
File-in GST Return¶
When the GST E-Filing & Matching Feature is enabled, you can file your GST return. Go to and create a new GST Return Period if it does not exist. GST Return file-in is done in three steps in Odoo:
Notitie
Tax Return Periodicity can be configured according to the user’s needs.
Send GSTR-1¶
Click GSTR-1 Report to verify the GSTR-1 report before uploading it to the GST portal.
Notitie
The system performs basic validations to ensure compliance with the GST portal’s requirements. Possible issues include:
Incorrect Tax Application: The tax type does not match the Fiscal Position (CGST/SGST applied instead of IGST for interstate transactions, or IGST applied instead of CGST/SGST for intrastate transactions).
Missing HSN Code: No HSN Code is defined for the product.
Invalid HSN Code for Services: The HSN Code for a service does not start with “99” or is incorrect.
Non-compliant UQC: The Unit Quantity Code (UQC) does not meet Indian GST standards.
If any validation fails, the system alerts users with a warning, highlighting the discrepancies and providing a direct link to the affected lines.
Click Generate to view the report in Spreadsheet view.
If the GSTR-1 report is correct, then click Push to GSTN to send it to the GST portal. The status of the GSTR-1 report changes to Sending.
After a few seconds, the status of the GSTR-1 report changes to Waiting for Status. It means that the GSTR-1 report has been sent to the GST Portal and is being verified on the GST Portal;
Once more, after a few seconds, the status either changes to Sent or Error in Invoice. The status Error in Invoice indicates that some of the invoices are not correctly filled out to be validated by the GST portal;
If the state of the GSTR-1 is Sent, it means your GSTR-1 report is ready to be filed on the GST portal.
If the state of the GSTR-1 is Error in Invoice, invoices can be checked for errors in the chatter. Once issues have been resolved, the user can click Push to GSTN to submit the file again on the GST portal.
Click Mark as Filed after filing the GSTR-1 report on the GST portal. The status of the report changes to Filed in Odoo.
Receive GSTR-2B¶
Users can retrieve the GSTR-2B Report from the GST portal. This automatically reconciles the GSTR-2B report with your Odoo bills;
Click Fetch GSTR-2B Summary to retrieve the GSTR-2B summary. After a few seconds, the status of the report changes to Waiting for Reception. This means Odoo is trying to receive the GSTR-2B report from the GST portal;
Once more, after a few seconds, the status of the GSTR-2B changes to the Being Processed. It means Odoo is reconciling the GSTR-2B report with your Odoo bills;
Once it is done, the status of the GSTR-2B report changes to either Matched or Partially Matched;
If the status is Matched:
If the status is Partially Matched, you can review and modify the bills by clicking View Reconciled Bills. This will display categorized discrepancies, such as bills missing in Odoo or GSTR-2. After making the necessary corrections, click re-match to update the reconciliation and ensure accuracy before finalizing the report.
GSTR-3 report¶
The GSTR-3 report is a monthly summary of sales and purchases. This return is auto-generated by extracting information from GSTR-1 and GSTR-2.
Users can compare the GSTR-3 report with the GSTR-3 report available on the GST portal to verify if they match by clicking GSTR-3 Report;
Once the GSTR-3 report has been verified by the user and the tax amount on the GST portal has been paid. Once paid, the report can be closed by clicking Closing Entry;
In Closing Entry, add the tax amount paid on the GST portal using challan, and click POST to post the Closing Entry;
Once posted, the GSTR-3 report status changes to Filed.
Tax reports¶
GSTR-1 report¶
The GSTR-1 report is divided into sections. It displays the Base amount, CGST, SGST, IGST, and CESS for each section.
GSTR-3 report¶
The GSTR-3 report contains different sections:
Details of inward and outward supply subject to a reverse charge;
Eligible ITC;
Values of exempt, Nil-rated, and non-GST inward supply;
Details of inter-state supplies made to unregistered persons.
Profit and Loss (IN) report¶
This is a Profit and Loss report that displays the balances for Opening Stock and Closing Stock. It helps users using Continental accounting to accurately determine the cost of goods (i.e Opening Stock + purchases during the period - Closing Stock).
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.
Configuratie¶
Navigate to
In the Indian Integration section, enable the TDS or TCS feature as required.
Navigate to
.Click View on the desired account, and set the TDS/TCS Section field.
Notitie
The TDS/TCS sections are pre-configured with threshold limits. If you need to modify these limits, go to Advanced Options tab, click on the (internal link) icon of the Section field.
. In the
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.

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.

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 |
Factuur 1 |
₹50,000 |
ABCPX1234E |
IN - MH |
XYZ Enterprise - GJ |
Factuur 2 |
₹30,000 |
ABCPX1234E |
IN - MH |
XYZ Enterprise - MH |
Factuur 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.