The Real Problem Nobody Talks About
Here is what is actually breaking.
When you sell through an e-commerce operator (Amazon, Flipkart, Meesho or an ONDC seller app), the operator must collect TCS under Section 52 of the CGST Act on the net value of taxable supplies made through its platform. Notification 15/2024–Central Tax cut the rate from 1% to 0.5%: 0.25% CGST + 0.25% SGST/UTGST for intra-state supplies, or 0.5% IGST for inter-state supplies.
The operator deposits that TCS and reports it in GSTR-8. It then shows up on your side in the TDS and TCS Credit Received statement. You accept or reject each record and file the statement, and only then is the accepted amount credited to your electronic cash ledger. Here is where it breaks:
The marketplace deducts TCS in one month but files GSTR-8 (their TCS return) in the next.
The credit only appears in your TDS and TCS Credit Received statement after the operator files GSTR-8. Until you accept it and file, it is not in your cash ledger, and nobody owns the gap.
You are operating on 3-5 active marketplace channels simultaneously. Each has a different settlement cycle. None of these figures are talking to your ERP.
Why Your Current Setup Is Failing You
Here is the controversial opinion nobody at your Big 4 consulting firm will say out loud: a manually managed GST reconciliation process doesn't fail because your team is bad at their jobs. It fails because the data volume has outgrown the tool.
Spreadsheets work with one channel and one GSTIN. Every extra marketplace adds its own settlement format and cycle, and every extra GSTIN adds its own set of returns. That is when manual matching starts to slip.
The "Get a GST Tool" Advice Is Wrong
Most CA firms will point you toward Tally Prime with a GST add-on or ClearTax. Both are fine for a single-entity, single-channel business. The moment you have multi-state operations, multiple GSTINs, B2B + B2C orders, RCM entries, and 4+ marketplace channels, you are stitching together 6 disconnected systems and praying they agree.
They won't.
TCS reconciliation needs three things in one place: your sales invoices, the marketplace settlement (gross sale, commission, TCS, payout) and the TCS credit you accepted on the portal. When the first two live in your ERP, the third becomes a short monthly comparison.
How GST TCS Reconciliation Works in Odoo
The Odoo 19 India localization covers GST taxes and fiscal positions, e-invoicing and e-way bills through the NIC portal, GSTR-1 filing, GSTR-2B retrieval for vendor-bill reconciliation, and GSTR-1/2B/3B reports. Its “TDS/TCS” setting is the income-tax threshold alert, not GST TCS. So GST TCS from marketplaces is handled with standard accounting: a receivable account, settlement entries and reconciliation.
Here is the workflow we set up for marketplace sellers:
Step 1 — Orders become GST invoices
Orders reach Odoo through Odoo’s own Amazon connector, or through a third-party connector or API bridge for Flipkart, Meesho and Shopify (Odoo S.A. does not ship those; third-party modules need the Custom plan). Each invoice carries the right CGST/SGST or IGST from the place of supply.
Step 2 — Settlements are split, not just received
Each payout is imported and split into its parts: the sales it settles, the marketplace commission and fees (a vendor bill with GST), and the GST TCS line, which goes to a GST TCS receivable account you create, one per GSTIN if you have several.
Step 3 — Match the portal credit (manual)
Each month, compare the TCS receivable balance by marketplace and month with the records in the TDS and TCS Credit Received statement. Accept the records that match, reject the wrong ones (they go back to the operator to amend GSTR-8), and file the statement.
Step 4 — Clear the receivable
When the cash ledger is credited, post the transfer from TCS receivable to your GST cash ledger account and reconcile it in Odoo. Whatever stays open is TCS you were charged but have not yet received as credit. The commission bills follow the separate GSTR-2B match Odoo documents for input tax credit.
A Worked Example (Hypothetical)
Figures below are invented to show the arithmetic, not results from a client.
| Line | Amount |
|---|---|
| Net taxable value of intra-state sales through one marketplace in a month | ₹20,00,000 |
| TCS collected at 0.5% (₹5,000 CGST + ₹5,000 SGST) | ₹10,000 |
| Odoo entry at payout: Dr GST TCS receivable | ₹10,000 |
| Operator reports in GSTR-8; one record of ₹400 is under-reported | ₹9,600 shown |
| You accept ₹9,600, file the statement; cash ledger credited | ₹9,600 |
| Open on the TCS receivable: raise with the marketplace | ₹400 |
The open ₹400 is the whole point of the exercise. Without a receivable account it disappears into the payout, and nobody notices that the credit never arrived.
Multi-GSTIN and Multi-Channel: Where Odoo Actually Earns Its Cost
If you operate from three states with three GSTINs and sell across several channels, each GSTIN has its own returns and each marketplace reports TCS separately for each registration. The number of things to match grows quickly.
Each GSTIN has its own GSTR-1, GSTR-3B, and GSTR-2B. Each marketplace files a separate GSTR-8 for TCS per state. Every interstate order generates IGST that splits differently than intrastate CGST+SGST. One wrong state-of-supply mapping on a single invoice creates a domino of mismatches across 3 filing periods.
In Odoo, each GSTIN is usually set up as its own company so that GST reports stay separate, with one TCS receivable account per company; multi-company needs the Custom plan (see Odoo pricing). Group reports then show the open TCS across all registrations in one view.
What Implementation Actually Looks Like
A typical plan for a brand with 2–3 marketplaces and 1–2 GSTINs, as part of an Odoo implementation in India, looks like the template below. It is our planning template, not a promise; the real timeline depends on how clean your product, tax and settlement data are.
Days 1-4: Tax Foundation
Chart of Accounts setup, GSTIN configuration, HSN/SAC code mapping for all SKUs.
Days 5-9: Marketplace Integration
Amazon SP-API, Flipkart Seller Hub, settlement import mapping. Every marketplace settlement line mapped to the correct TCS receivable account.
Days 10-14: Reconciliation Engine
TCS receivable accounts per GSTIN, settlement import mapping, GSTR-2B retrieval for commission bills, and a test reconciliation on three months of past settlements.
Days 15-21: Parallel Run & Go-Live
Parallel run (Odoo vs old process), team training, GSTR-1/3B live filing dry run. Your accountant stops chasing settlement PDFs and starts working from a reconciliation dashboard.
What to Check This Month
- Open the TDS and TCS Credit Received statement and look for records still waiting for an action.
- Compare each marketplace’s TCS for the month with 0.5% of the net taxable value in its settlement reports.
- Check that each operator reported against the right GSTIN and state.
- Confirm that accepted credits appear in your electronic cash ledger, and use that balance when you pay GSTR-3B.
None of this needs special software. It needs settlement data in the same ledger as your invoices, and one person who owns the monthly match.
If you sell through two or more marketplaces and your TCS lives in a spreadsheet, see what an Odoo implementation for Indian sellers covers, or estimate your scope with our guide to Odoo cost in India.
FAQ
Does Odoo automatically reconcile GST TCS from marketplaces?
No. Odoo 19's India localization retrieves GSTR-2B for vendor bills and files GSTR-1, but it does not download GSTR-8 or accept TCS credits. You book TCS from each settlement to a receivable account in Odoo, accept the credit on the GST portal, then reconcile the receivable against the cash ledger credit.
What is the current TCS rate under GST Section 52 for e-commerce operators?
0.5% of the net value of taxable supplies, after Notification 15/2024-Central Tax: 0.25% CGST plus 0.25% SGST or UTGST for intra-state supplies, or 0.5% IGST for inter-state supplies. It was 1% before.
Where does GST TCS credit appear for the seller?
In the TDS and TCS Credit Received statement on the GST portal, populated from the operator's GSTR-8. After you accept the records and file the statement, the accepted amount is credited to your electronic cash ledger. It is not input tax credit and does not appear in GSTR-2B.
Can Odoo handle TCS for several GSTINs?
Yes, with one company per GSTIN and a TCS receivable account in each, so GST reports stay separate. Multi-company needs Odoo's Custom plan.
Which marketplaces connect to Odoo directly?
Odoo S.A. ships an Amazon connector. Flipkart, Meesho and Shopify need a third-party connector or an API bridge, and third-party modules need the Custom plan.
Selling on two or more marketplaces?
Send us your channels and GSTINs. We will show you how settlements, commissions and TCS would sit in Odoo, in a free 30-minute call.
Talk to an expert