Most Odoo accounting content lists features without answering the questions that decide whether an Indian business can file cleanly. Odoo Accounting for Indian Compliance depends far less on the software than on how it is configured, so this guide explains how Odoo handles GST, TDS, and electronic invoicing in practice, and what to validate before you file your first return.
📋 Key Takeaways
- Odoo applies CGST plus SGST within a state and IGST across states automatically, driven by fiscal positions that read the customer and company state.
- TDS is defined per vendor category and deducted at payment, posting to the payable ledger without a manual journal entry.
- Electronic invoicing returns an IRN and QR code from the NIC portal on confirmation, if the GSTIN, HSN codes, and provider credentials are correct.
- The most common failure is a wrong customer state field, which produces incorrect GST on every invoice to that customer until fixed.
📑 Table of Contents
- Why Generic Reviews Miss Indian Compliance
- GST Setup, HSN, and Place of Supply
- GST Returns and Report Mapping
- TDS Handling and Ledgers
- Electronic Invoicing and IRN
- Electronic Way Bill Considerations
- What the Localisation Package Provides
- Where Misconfiguration Creates Filing Errors
- Reconciliation and Audit Trail
- A Pre Go Live Compliance Checklist
- FAQs
Why Generic Reviews Miss Odoo Accounting for Indian Compliance
The features praised in a general Odoo accounting review are usually measured against standards such as GAAP and VAT. Those reviews rarely test GST with place of supply logic, TDS with section specific rates, or electronic invoicing against the NIC portal, which is what an Indian business needs.
- Indian compliance is configuration dependent. Fiscal positions, HSN codes, TDS sections per vendor, and provider credentials all have to be present.
- If any piece is missing, the system still produces invoices that are not compliant, and the gap surfaces only when you file.
GST Setup, HSN, and Place of Supply
Before the first invoice it helps to follow an accounting configuration checklist so nothing on the statutory side is missed. The pieces below decide whether GST comes out right.
What Indian compliance configuration requires
- Company GSTIN and state. Set on the company record, this decides whether a transaction is within a state or across states.
- Customer GSTIN and state. Every business customer needs a valid GSTIN and correct state, which fiscal positions read to pick the right tax.
- Fiscal positions. One for sales within a state applies CGST plus SGST and one across states applies IGST, selected automatically from the two state values.
- Tax rates. GST rates configured per product category, each with CGST, SGST, and IGST variants that products inherit.
- HSN and SAC codes. Assigned at product or category level so every invoice line carries the code, which invoicing and GSTR filing both require.
- Place of supply. For services this can differ from the billing address, so Odoo uses the customer state by default and lets you override per invoice.
GST Returns and How Odoo Maps the Data
Teams often ask how Odoo compares with the best accounting ERP software on returns. Odoo does not file for you, but it assembles the source data in the shape the portal expects.
- GSTR-1 data. Odoo builds the B2B and B2C registers, credit and debit notes, and the advance summary from posted sales invoices, grouped by GSTIN and rate.
- GSTR-3B data. Outward supply, input credit, and tax liability summaries from posted invoices and bills.
- Export format. The data exports as Excel or JSON for upload to the portal or a provider. Odoo supplies the source, not the filing itself.
- Reconciliation. After filing, match the GSTR-2A and GSTR-2B data from the portal against the vendor bill register, where a mismatch flags a missing invoice.
TDS Handling and Ledgers
How TDS works inside Odoo
- Section configuration. Each section such as 194C, 194J, or 194H is set up as a withholding tax with the correct rate and threshold.
- Vendor category. Every vendor is tagged with its section, so a bill from that vendor triggers TDS automatically.
- Deduction at payment. Odoo splits the payment into the net to the vendor and the TDS to the payable ledger, with no manual journal entry.
- Threshold tracking. For sections with annual limits, Odoo tracks payments per vendor per year and applies TDS once the limit is crossed.
Electronic Invoicing and IRN Generation
How electronic invoicing flows through Odoo
- Invoice confirmed. Odoo packages the GSTINs, HSN codes, values, and taxes into the JSON format the NIC portal expects.
- Submission. The data goes to the portal through a provider API, using credentials that are configured once during setup.
- IRN returned. The portal validates the data and returns the Invoice Reference Number and a QR code.
- Stored on the record. Odoo saves the IRN on the invoice and embeds the QR code in the PDF.
- Cancellation. An electronic invoice can be cancelled within 24 hours through the same API. After that window you issue a credit note instead.
Electronic Way Bill Considerations
- An electronic way bill is required for goods movement above 50,000 rupees, generated from the delivery order rather than the invoice.
- Odoo can generate these through the same provider API, pulling transporter, vehicle, and distance details from the delivery order.
What the India Localisation Package Provides
- Base localisation. The India fiscal localisation gives you the Indian chart of accounts, GST tax structure, fiscal positions, and HSN fields at initial setup.
- What it includes. Accounts mapped to Indian standards, GST rates with all variants, fiscal position rules, and HSN and SAC fields on products.
- What it does not include. TDS setup per vendor, provider credentials, return filing, and industry specific rules for sectors such as pharma.
- The practical read. The package gives you the structure, and partner configuration turns it into a setup that files cleanly.
Where Misconfiguration Creates Filing Errors
Configuration errors that produce wrong GST returns
- Customer state empty or wrong. The fiscal position cannot tell within state from across state, so wrong tax lands on every invoice to that customer.
- HSN code missing. The invoice posts internally but fails invoicing validation, and the GSTR-1 data shows blank HSN columns.
- Fiscal position not mapped. The position exists but does not swap the tax types, so both can land on one invoice.
- TDS section not assigned. The payment goes out with no deduction, and the quarterly return comes up short.
- Provider credentials expired. Invoicing calls fail and invoices save without an IRN, leaving the business non compliant until resent.
Reconciliation and Audit Trail
- GST reconciliation. Compare the sales register against the filed GSTR-1 and the purchase register against GSTR-2A and GSTR-2B from the portal to flag a missing invoice.
- TDS reconciliation. Match the TDS deducted in Odoo against Form 26AS so every deduction has a matching entry in both systems.
- Audit trail. Odoo records who created and posted each invoice and when, and a posted entry cannot be deleted, only reversed through a credit note.
- Monthly close. Post all invoices, reconcile the bank, validate GST, verify TDS, and lock the period.
A Pre Go Live Compliance Checklist
If you are moving from another system, plan the Odoo data migration so opening balances land clean, then work through the checklist below before posting in production.
Validate every item before the first invoice
- ☐ Company GSTIN and state are correctly set.
- ☐ All business customers have a valid GSTIN and correct state.
- ☐ Fiscal positions exist for within state and across state sales.
- ☐ Tax rates are created with all three variants.
- ☐ HSN and SAC codes are assigned to all products and categories.
- ☐ TDS sections are configured with correct rates and thresholds, and vendors tagged with their category.
- ☐ Provider credentials are obtained, configured, and tested.
- ☐ A test invoice returns an IRN and QR code from the portal.
- ☐ The chart of accounts is reviewed and approved by your CA, and a sample GSTR-1 report matches expectations.
Need Odoo Accounting Configured for Indian GST, TDS, and Electronic Invoicing?
Tatvamasi Labs configures Odoo accounting with in house finance expertise, validating fiscal positions, TDS sections, HSN mapping, and NIC portal integration before your first invoice.
Talk to Our Odoo TeamFrequently Asked Questions
Prefer a quick chat? Message Tatvamasi Labs on WhatsApp for a fast Odoo answer.
CHAT ON WHATSAPP
