Auto-intercept every customer invoice missing a GSTIN — enter it on the spot or log a reason, stored for a complete audit trail. Zero bypass, full India GST compliance.
$8 USD
Odoo 16.0
LGPL-3
OdooBuilders
India l10n_in
100%
Invoice Coverage
2
Invoice Flows
0
Silent Bypasses
GST
India Compliant
Audit
Full Trail
What is GSTIN Validator for Invoices & Sale Orders?
Under India's GST law, B2B invoices issued to registered customers must carry the customer's GSTIN. Missing it creates non-compliant invoices, GSTR-1 mismatches, and reconciliation headaches for your buyer's input tax credit. Yet Odoo's default accounting flow does not stop you from confirming an invoice when the customer's GSTIN is blank.
GSTIN Validator for Invoices & Sale Orders fixes this gap. The moment you try to confirm a customer invoice — whether from Accounting → Invoices or via Sales → Create Invoice — the module checks whether the customer's GSTIN is on file. If it is missing, a smart popup wizard appears. You either type the GSTIN right there (saved to the customer permanently) or record a written reason. The reason is stored in the invoice's Other Info tab for a permanent, reviewable audit trail.
Without This Module
✗ Invoices confirmed silently with blank GSTIN
✗ GSTR-1 filings contain errors & mismatches
✗ Buyer loses Input Tax Credit due to your error
✗ Accountant manually chases GSTIN after posting
✗ No audit trail for why GSTIN is missing
✗ Compliance risk during GST audits
With This Module
✓ Auto-check triggers on every invoice confirmation
✓ Popup wizard stops the flow when GSTIN is missing
✓ Enter GSTIN on-the-spot — saved to customer permanently
✓ Log a reason if unregistered — stored in invoice
✓ Full audit trail in invoice's Other Info tab
✓ Zero bypass — cannot confirm without action
Key Features
Everything you need for GSTIN compliance on every invoice in Odoo 16
🔍
Auto GSTIN Intercept
Hooks into Odoo's action_post on every out_invoice. If the customer GSTIN (VAT) field is empty, the confirmation is intercepted and the wizard appears — automatically, every time.
💬
Smart Verification Wizard
A clean popup dialog shows the customer name and lets your accountant enter the GSTIN or type a reason — right at the moment of invoice confirmation, without navigating away.
💾
GSTIN Saved to Customer
When a GSTIN is entered in the wizard, it is saved directly to the customer's VAT field. Future invoices for the same customer pass automatically — no repeat prompts.
📋
Reason Stored in Invoice
If the customer is unregistered, the reason text is stored in the invoice's Other Info tab as Reason for No GSTIN — visible, searchable, and permanent.
🛒
Sale Order Flow Covered
Intercepts the Create Invoice button on Sale Orders too — via the sale.advance.payment.inv wizard. Both regular and advance-payment invoices are fully covered.
🚫
Zero Silent Bypass
The invoice cannot be confirmed without either a valid GSTIN or a written reason. Clicking Cancel keeps the invoice in Draft. No accidental confirmations possible.
🔎
Full Audit Trail
Accountants and auditors can filter invoices by the Reason for No GSTIN field. Every compliance decision is documented directly inside Odoo — no spreadsheets needed.
⚡
Lightweight & Non-Invasive
Extends native account.move without replacing core logic. Install cleanly, uninstall cleanly — zero risk to your existing data.
🌎
India GST Ready
Built specifically for the l10n_in India localization. Works alongside Odoo's built-in GST tax configuration, GSTR reports, and India-specific accounting setup.
How It Works
Automatic GSTIN enforcement in 4 simple steps
1
Confirm Invoice
Click Confirm on any Customer Invoice — from Accounting or from a Sale Order's Create Invoice.
2
GSTIN Check Fires
The module checks the customer's VAT field. If GSTIN is present, the invoice confirms normally. If blank, the wizard opens.
3
Enter GSTIN or Reason
Your accountant types the GSTIN (saved to customer) OR types a reason for no GSTIN (saved to invoice Other Info).
4
Invoice Confirmed
Click Create Invoice in the wizard. The invoice is posted immediately with full compliance data on record.
Screenshots
See the GSTIN Validator in action inside Odoo 16
Odoo Apps — GSTIN Validator Module
Screenshot 1 — Module Overview — GSTIN Validator for Invoices & Sale Orders installed on Odoo 16. Listed under Accounting / Localizations, fully compatible with the India l10n_in localization.
Accounting → Customer Invoice → Confirm
Screenshot 2 — GSTIN Verification Wizard — The automatic popup wizard that appears when you try to confirm a Customer Invoice with no GSTIN on file. Shows the customer name, a GSTIN entry field, and a reason field for unregistered customers.
Sales → Sale Order → Create Invoice
Screenshot 3 — Sale Order Invoice Flow — GSTIN check intercepting the Create Invoice action from a Sale Order. The same verification wizard appears whether invoicing from Sales or directly from Accounting — no gap in coverage.
Invoice → Other Info Tab — Reason for No GSTIN
Screenshot 4 — Audit Trail in Invoice — The confirmed invoice's Other Info tab showing the Reason for No GSTIN field. This creates a permanent, searchable record directly on the invoice — no external notes or spreadsheets needed.
Customer Record — GSTIN / VAT Field Updated
Screenshot 5 — GSTIN Saved to Customer — When a GSTIN is entered in the wizard, it is permanently saved to the customer's VAT field. All future invoices for this customer pass the GSTIN check automatically — no repeat prompts.
Who Is This For?
Any Indian business on Odoo that must comply with GST invoicing rules
🏭
Manufacturing & Trading
Companies with large B2B customer bases where missing GSTINs on outward supplies create GSTR-1 filing errors.
🛍
Wholesale & Distribution
Distributors invoicing registered dealers who need their GSTIN on each tax invoice for input tax credit claims.
💼
IT & Service Companies
Service providers managing a mix of B2B and B2C clients — the wizard handles both by capturing GSTIN or recording a reason.
📦
E-Commerce & Retail
Businesses handling both wholesale and retail orders through Sale Orders, needing GSTIN enforced on B2B invoices only.
Does this work for B2C invoices (customers with no GST registration)?
Yes. For unregistered customers, simply enter a reason like "B2C customer, not GST registered" in the wizard. The reason is stored in the invoice's Other Info tab and the invoice is confirmed normally.
Will I be prompted every time for the same customer?
No. When you enter a GSTIN in the wizard, it is saved permanently to the customer's VAT field. All future invoices for that customer pass the check automatically without showing the wizard again.
Does it affect Vendor Bills or only Customer Invoices?
Only Customer Invoices (move_type = out_invoice) are checked. Vendor Bills, Credit Notes, and other move types are not affected.
Is this compatible with Odoo Community and Enterprise?
Yes. The module depends only on account, sale, and l10n_in — all available in both Odoo 16 Community and Enterprise editions.
What happens if the accountant clicks Cancel in the wizard?
The wizard closes and the invoice stays in Draft status. The invoice is never confirmed silently — the accountant must address the GSTIN status before the invoice can be posted.
Stop Issuing Non-Compliant Invoices
Every customer invoice with a missing GSTIN is a compliance risk. For just $8, protect every invoice in Odoo 16 — both from Accounting and from Sale Orders — with zero configuration required after install.
$8
One-time purchase
16.0
Odoo version
India
GST Compliant
LGPL-3
Open license
By OdooBuilders · Compatible with Odoo 16 Community & Enterprise · Requires l10n_in
The author can leave a single reply to each comment.
This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Please log in to comment on this module