Losing ₹15.8L on GST Fines? Setup India Accounting in Odoo 18
Indian company uses Odoo Accounting—generic international setup. First GST invoice: Tax shows "VAT 18%" (wrong for India—should be CGST 9% + SGST 9%). Customer complains: "Invoice format incorrect, can't claim input credit." Accountant tries manual fix—changes tax name to "GST 18%". Second invoice: Still wrong (should show CGST/SGST split for intra-state). Tax department audit: 23 invoices non-compliant. Fine: ₹2,47,000. Developer quote: "₹5,80,000 for custom GST module." CFO thinks: "Why isn't this built-in?"
Your India compliance disaster: Using generic Odoo (no localization). GST invoices non-compliant (wrong tax format = customer can't claim input credit). Chart of accounts doesn't match Indian standards (accountant manually maps every transaction). Tax calculations wrong (CGST/SGST/IGST logic missing). No e-invoicing (mandatory since Oct 2020 for ≥₹50 crore turnover). No e-waybill integration. GSTR reports manual (accountant exports data to Excel, formats for 8 hours monthly). TDS not configured. Statutory audit nightmare (₹4.7 lakhs spent on compliance consultants).
Cost: Non-compliant invoices = 23 per month × 12 × ₹10,700 avg fine = ₹2,95,000/year. Tax department penalties (wrong GST format) = ₹2,47,000. Manual GSTR filing = 8 hours monthly × 12 × ₹2,500/hr = ₹2,40,000. Compliance consultants = ₹4.7 lakhs/year. Customer disputes (input credit issues) = 12 cases × ₹18,400 avg loss = ₹2,20,800. Accountant overtime fixing manual tax entries = 140 hours yearly × ₹2,200/hr = ₹3,08,000. Custom development quotes rejected = ₹5.8 lakhs (can't afford).
Odoo 18 India Localization fixes this: Pre-configured for Indian regulations. GST-ready Chart of Accounts (CGST Payable, SGST Receivable, IGST accounts built-in). Automatic tax calculations (CGST+SGST for intra-state, IGST for inter-state). E-invoicing with IRN generation (API integration included). E-waybill support. GSTR-ready reports (export directly, no Excel manipulation). TDS configured. Fiscal positions for India. Compliance-ready from Day 1. Here's how to configure India localization so you stop losing ₹15.8 lakhs annually to non-compliance.
You're Losing Money If:
What India Accounting Localization Does
Localization = Country-specific accounting setup. For India: GST structure, Chart of Accounts compliant with Companies Act, TDS configuration, e-invoicing, e-waybill, statutory reports.
| Without India Localization | With India Localization |
|---|---|
| Generic "Tax 18%" (non-compliant) | CGST 9% + SGST 9% or IGST 18% (compliant) |
| Manual Chart of Accounts mapping (daily pain) | Pre-configured Indian COA (ready to use) |
| 8 hours monthly GSTR filing (₹2,40K/year) | One-click GSTR export (15 minutes) |
| No e-invoicing (audit failure risk) | Built-in IRN generation (compliant) |
| Tax fines ₹2,95K + consultant ₹4.7L | Zero fines, zero consultant (automated) |
💡 GST Tax Calculation Example:
Scenario: Mumbai company sells to Pune customer (both Maharashtra = intra-state)
- Product: Laptop @ ₹50,000
- GST Rate: 18%
- Odoo calculates: CGST 9% (₹4,500) + SGST 9% (₹4,500) = Total ₹9,000
- Invoice shows: Line items with CGST/SGST split (customer can claim input credit)
- If inter-state (Mumbai → Delhi): IGST 18% (₹9,000) instead
What's Included in India Localization
India Localization Package Contains:
📊 Chart of Accounts (Indian Standard)
- GST-specific accounts: CGST Payable, SGST Receivable, IGST Payable, Input/Output Tax
- Compliant with Companies Act 2013
- TDS accounts pre-configured
💰 Tax Configurations
- GST rates: 0%, 5%, 12%, 18%, 28% (CGST+SGST or IGST)
- Reverse charge mechanism
- Cess on luxury goods
- Exempted categories
🌍 Fiscal Positions
- Intra-state (CGST+SGST)
- Inter-state (IGST)
- Export (zero-rated)
- SEZ (Special Economic Zone)
📝 E-Invoicing
- IRN (Invoice Reference Number) generation
- QR code on invoices
- API integration with GST portal
- Digital signature support
🚚 E-Waybill
- Auto-generation for shipments >₹50,000
- Part A & Part B forms
- Validity calculation
📈 GSTR Reports
- GSTR-1 (Outward supplies)
- GSTR-3B (Summary return)
- Export-ready format
Step 1: Enable India Localization
During Database Setup (New Installation)
- Create new Odoo database
- Database setup wizard appears
- Company Country: Select "India"
- Currency: Auto-set to INR (Indian Rupee)
- Click Create Database
- Odoo automatically installs India localization package
✓ Auto-Installed:
- Indian Chart of Accounts
- GST tax configurations (5%, 12%, 18%, 28%)
- Fiscal positions (Intra-state, Inter-state, Export)
- Default journals (Sales, Purchase, Bank, Cash)
For Existing Database
- Go to Accounting app
- Navigate to Configuration → Settings
- Find Fiscal Localization section
- Fiscal Localization Package: Select "India - Accounting"
- Click Save
- System installs India-specific configurations
- Restart server if prompted
Step 2: Install Additional India Modules
Access specialized India compliance modules from Apps menu.
- Go to Apps (top menu)
- Remove "Apps" filter, search: "India"
- Available modules:
- Indian - Accounting: Base localization (auto-installed)
- Indian - GST: GST compliance features
- Indian - E-Invoice: IRN generation, QR codes
- Indian - E-Waybill: Electronic waybill generation
- Indian - Accounting Reports: P&L, Balance Sheet (Indian format)
- Indian - Payroll: PF, ESI, TDS on salary
- Click Install for required modules
⚠️ E-Invoicing Mandatory:
If your turnover ≥ ₹50 crore (FY 2023-24), e-invoicing is mandatory. Install "Indian - E-Invoice" module. Requires GSTIN and API credentials from GST portal.
Step 3: Configure Company Details
- Go to Settings → General Settings → Companies
- Click Update Info
- Fill mandatory details:
- Company Name: Legal entity name
- Address: Full registered address
- State: Select Indian state (e.g., Maharashtra)
- PIN Code: 6-digit postal code
- Country: India
- Tax ID (GSTIN): 15-character GST number (format: 27AAAAA0000A1Z5)
- PAN: 10-character PAN number
- CIN: Corporate Identification Number (if applicable)
- Click Save
GSTIN Format Explanation:
27AAAAA0000A1Z5
- 27: State code (Maharashtra = 27, Delhi = 07, Karnataka = 29)
- AAAAA0000A: PAN of business entity
- 1: Entity number (same PAN, different registrations)
- Z: Default alphabet
- 5: Check digit
Step 4: Review Chart of Accounts
- Go to Accounting → Configuration → Chart of Accounts
- Review pre-configured Indian COA
- Key accounts included:
- Assets: Current Assets, Fixed Assets, Investments
- Liabilities: Current Liabilities, Long-term Liabilities
- Equity: Share Capital, Reserves & Surplus
- Income: Sales Revenue, Other Income
- Expenses: COGS, Operating Expenses, Depreciation
- GST Accounts:
- CGST Payable, SGST Payable, IGST Payable (Output tax)
- CGST Receivable, SGST Receivable, IGST Receivable (Input tax)
- TDS Accounts: TDS Payable (various sections)
- Add custom accounts if needed (follow numbering convention)
Step 5: Configure GST Taxes
Review Pre-Configured Taxes
- Go to Accounting → Configuration → Taxes
- Pre-configured GST rates available:
- GST 0%: Exempted goods
- GST 5%: Essential goods (CGST 2.5% + SGST 2.5%)
- GST 12%: Standard goods (CGST 6% + SGST 6%)
- GST 18%: Most services (CGST 9% + SGST 9%)
- GST 28%: Luxury goods (CGST 14% + SGST 14%)
- Each rate has 3 versions:
- Sales (Intra-state): CGST + SGST
- Sales (Inter-state): IGST
- Purchase: Input tax credit
Set Default Taxes
- Go to Accounting → Configuration → Settings
- Find Taxes section
- Default Sales Tax: Select most common rate (e.g., GST 18%)
- Default Purchase Tax: Select corresponding purchase tax
- Click Save
Step 6: Configure Fiscal Positions
Fiscal positions automatically apply correct tax based on customer/supplier location.
- Go to Accounting → Configuration → Fiscal Positions
- Pre-configured positions:
- Intra-state: Same state = CGST+SGST
- Inter-state: Different state = IGST
- Export: International = Zero-rated
- SEZ (Special Economic Zone): Special rules
- How it works:
- Customer in same state → Intra-state position → CGST+SGST applied
- Customer in different state → Inter-state position → IGST applied
- Customer country ≠ India → Export position → 0% tax
- Odoo auto-selects position based on partner address
💡 Automatic Tax Switching:
Create invoice for Mumbai customer (your company in Mumbai) → Odoo applies CGST+SGST. Same invoice for Delhi customer → Odoo automatically switches to IGST. No manual intervention.
Step 7: Configure Journals
- Go to Accounting → Configuration → Journals
- Pre-configured journals:
- Customer Invoices: Sales transactions
- Vendor Bills: Purchase transactions
- Bank: Bank account transactions
- Cash: Cash transactions
- Miscellaneous: Adjustments, depreciation
- Configure bank journal:
- Click bank journal → Edit
- Bank Account Number: Enter account number
- Bank: Select or create bank
- Currency: INR
- Save
Step 8: Create First GST Invoice
Create Customer
- Go to Accounting → Customers → Customers
- Click Create
- Fill details:
- Name: Customer company name
- Address: Complete address with state
- GSTIN: Customer's 15-digit GST number
- Is a Company: ☑ Check (for B2B)
- Click Save
Create Invoice
- Go to Accounting → Customers → Invoices
- Click Create
- Customer: Select customer
- Odoo auto-fills Fiscal Position based on customer state
- Add invoice lines:
- Product: Select product
- Quantity: Enter quantity
- Price: Unit price
- Taxes: Auto-applied based on fiscal position
- Verify tax calculation:
- Same state → Shows CGST + SGST
- Different state → Shows IGST
- Click Confirm
- Invoice generated with GST-compliant format
E-Invoicing Configuration (For ≥₹50 Crore Turnover)
Step 1: Obtain API Credentials
- Login to GST Portal (https://www.gst.gov.in/)
- Navigate to e-Invoice → API Registration
- Register your ERP system (Odoo)
- Note credentials:
- Username (GSTIN)
- API Key
- API Secret
Step 2: Configure in Odoo
- Install Indian - E-Invoice module
- Go to Accounting → Configuration → Settings
- Find E-Invoice section
- Enter API credentials:
- GSTIN: Your GST number
- API Username: From GST portal
- API Key: From GST portal
- API Secret: From GST portal
- Click Test Connection
- If successful, click Save
Step 3: Generate IRN for Invoice
- Create and confirm customer invoice
- Click Generate IRN button
- Odoo sends invoice data to GST portal via API
- GST portal validates and returns:
- IRN (Invoice Reference Number) - 64-character hash
- Ack No (Acknowledgement Number)
- Ack Date
- QR Code
- IRN and QR code printed on invoice PDF
- Invoice now e-invoice compliant
✓ E-Invoice Benefits:
- Auto-populated in GSTR-1 (no manual entry)
- Real-time invoice verification by GST portal
- Reduced invoice disputes (tamper-proof)
- Faster input tax credit for customers
- Audit trail maintained by government
Generate GSTR Reports
- Go to Accounting → Reporting → India → GSTR Reports
- Select report type:
- GSTR-1: Outward supplies (sales invoices)
- GSTR-3B: Monthly summary return
- Select Date Range (monthly period)
- Click Generate Report
- Review data (invoices, taxes, totals)
- Click Export to Excel or Export to JSON
- Upload exported file to GST portal
GSTR-1 Report Includes:
- B2B Invoices: Invoice-wise details with GSTIN
- B2C Large: Invoices >₹2.5 lakhs (state-wise summary)
- B2C Small: Invoices ≤₹2.5 lakhs (aggregated)
- Credit/Debit Notes: Post-sale adjustments
- Exports: Zero-rated supplies
- HSN Summary: HSN code-wise totals
Real-World Impact
Electronics Retailer Example:
Before India Localization:
- Using generic Odoo (no localization)
- Tax showing as "VAT 18%" on invoices
- Customers couldn't claim input credit (format wrong)
- 43 customer complaints in 6 months
- GST audit: 127 invoices non-compliant
- Fine: ₹3,42,000
- Accountant manually creating GSTR-1: 11 hours monthly
- Compliance consultant: ₹5.2 lakhs/year
- Lost 8 B2B customers (non-compliant invoices)
After Implementing India Localization:
- Installed India - Accounting + E-Invoice modules
- Configured GSTIN, fiscal positions
- Invoices now show proper CGST/SGST or IGST format
- Customer complaints: Zero (compliant invoices)
- GSTR-1 generation: 15 minutes (one-click export)
- E-invoicing: IRN auto-generated for all invoices
- No compliance consultant needed (saved ₹5.2L)
- Zero audit findings (100% compliant)
- Won back 6 lost customers + gained 14 new B2B customers
Financial Impact:
- Avoided fines: ₹3,42,000
- Consultant savings: ₹5,20,000/year
- Accountant time saved: 129 hours/year = ₹3,22,500
- Customer retention: 6 customers × ₹2.8L avg = ₹16,80,000 revenue saved
- New customers: 14 × ₹2.8L = ₹39,20,000 additional revenue
- Total impact: ₹67,84,500 in Year 1
- Implementation cost: ₹0 (included in Odoo)
Best Practices
- Always Enter GSTIN for B2B Customers
- Required for input tax credit claim
- Validated by Odoo (15-character format check)
- Missing GSTIN = customer can't use invoice for ITC
- Verify Fiscal Position on Each Invoice
- Odoo auto-selects, but always double-check
- Wrong position = wrong tax type = non-compliance
- Especially important for first few invoices
- Reconcile GST Accounts Monthly
- CGST/SGST/IGST Payable should match GSTR-3B
- Input credit receivable should match purchase records
- Discrepancies = audit red flags
- Generate GSTR Reports Before Deadline
- GSTR-1 due: 11th of next month
- GSTR-3B due: 20th of next month
- Generate reports by 8th and 17th (buffer for review)
- Keep E-Invoice API Credentials Secure
- Store in Odoo settings (encrypted)
- Don't share API secret with anyone
- Rotate credentials if compromised
Pro Tip: GST compliance isn't optional—it's expensive if you get it wrong. One audit found 127 non-compliant invoices = ₹3.42 lakh fine. India localization in Odoo is free (included), takes 30 minutes to setup. ROI on Day 1: Avoid first fine. Don't wait for audit to discover your invoices are wrong. Configure localization today, sleep better tonight.
Losing ₹15.8 Lakhs Annually to GST Non-Compliance?
We configure Odoo 18 India Accounting Localization: GSTIN setup, fiscal positions, e-invoicing integration, GSTR automation, Chart of Accounts compliance. Turn audit nightmares into zero-effort compliance.
Would rather have the India localization, GST and Tally migration set up for you? See our Odoo implementation services in Surat, with on-site process mapping for Gujarat businesses.
If your accountant still works in TallyPrime, an Odoo Tally integration can push the GST invoices you configure here into Tally automatically, so the two sets of books stay reconciled.
Configuring localization on a live database with real ledgers is where most errors happen. If you want it done with you, see our Odoo implementation partner for Indian companies.
About the author
Founder & CEO, Braincuber Technologies
Founder and CEO of Braincuber. Scopes Odoo, AI, and cloud projects for growing brands in India and abroad. Takes every founder call personally — no SDR layer between buyers and the people building the system.
