Losing ₹15.8L on GST Fines? Setup India Accounting in Odoo 18
By Braincuber Team
Published on December 22, 2025
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.
