Odoo Tally Connector
A production-grade, bidirectional bridge between TallyPrime and Odoo 19, talking directly to Tally's own XML-over-HTTP gateway. 20 entity types synced both ways, through one per-record isolated import/export pipeline — with every raw request and response kept for review.
One Gateway. Both Directions.
Nothing Guessed Silently.
Odoo Tally Connector talks directly to TallyPrime's own XML-over-HTTP gateway — no middleware, no relay agent, no third-party API. Every master (Ledgers, Stock Groups, Stock Items, Godowns, Cost Centres, Currencies, Units of Measure, Account Groups, GST Tax Ledgers) and every voucher type (Sales, Purchase, Credit/Debit Note, Payment, Receipt, Journal, Contra, Stock Journal) is imported and, for 7 of 9 master entities and all 9 voucher types, exported back — over the same connection.
Every entity runs the same seven-stage pipeline (Extract → Validate → DTO → Domain → Resolve → Map → Commit), with each record's own outcome tracked independently — so one malformed Tally record never blocks the rest of a batch, and every substitution, drop, or guess is logged as a visible Warning instead of silently "just working."
Import from Tally, Export Back to Tally —
Same Pipeline Shape, Both Ways
A fixed per-entity Stage 0–6 shape, not a single monolithic dispatcher — so every entity is testable, and traceable, in isolation.
- Cron-driven or on-demand, per resource
- Incremental via Tally's own $AlterID watermark
- Auto Commit off by default — review before it lands
- Per-field "Fields Tally May Update" toggles on every update
- GUID identity, with a name-based fallback for hand-linked records
- Sales, Purchase, Credit/Debit Note, Payment, Receipt, Journal, Contra, Stock Journal
- Payment/Receipt allocate against Odoo's own reconciliation
- Durable export queue — pending → sent → acked/failed
- Direct Push (live HTTP) or Manual File, per instance
- A record must be linked to an instance first — automatic or by hand
What Syncs, At a Glance
All 20 entity types, live-tested end to end on a real TallyPrime instance and reviewed by hand in the Odoo UI.
Who Is This Module For?
Any business running Tally today that's moving finance, inventory, or CRM operations onto Odoo — without a risky big-bang cutover.
Keep Tally for statutory books while Odoo runs sales, inventory, and CRM — ledgers, stock, and vouchers stay in sync both ways.
Godown-to-godown Stock Journal transfers, Stock Group GST rates, and Cost Centre hierarchy all mirror Tally's own structure.
Serving multiple Tally clients from one Odoo instance — one connector instance per Tally company, cleanly separated.
Migrating off Tally in phases — import full history once, then run both systems live with Auto Commit gating every change.
"Imported Something Wrong" Is Worse
Than "Imported Nothing"
Every mechanism in this connector exists to turn a silent discrepancy into a visible one — a mismatched invoice total fails loudly rather than posting short or long, an unmatched unit of measure logs a Warning rather than guessing a conversion factor, and nothing reaches your books at all until Auto Commit says it can.
See It in Action — Book Your Demo
Talk to our Odoo integration experts and see a live Tally ⇄ Odoo sync walkthrough.
Complete Feature Set
Everything a real Tally ⇄ Odoo sync demands — masters, vouchers, safety, and tools, in one module.
Nine Master Entities, Both Directions
One Ledger fetch serves both Account and Partner — Tally doesn't distinguish a Chart-of-Accounts ledger from a customer/supplier ledger, only its Group does, and this connector classifies it automatically. Seven of nine master entities export back to Tally once linked.
Account type looked up against an editable, 26-group-seeded mapping table; an unrecognized group falls back to a configured default instead of guessing silently.
One fetch covers Odoo's category hierarchy and CGST/SGST/IGST rates together — Tally carries both on the same element. Intra-state pair becomes a product's default taxes; IGST is created for fiscal positions to pick.
Unit of measure matched by name, never created blind — a wrong conversion factor would silently corrupt every quantity downstream. Category and default taxes inherited from the item's own Stock Group.
Becomes an internal stock.location under a dedicated "Tally Locations" parent — kept visibly separate from a warehouse's own operational tree.
Cost Centre mirrors Tally's own hierarchy into analytic accounts. Currency matches an existing Odoo currency by ISO/name/symbol, never invents one. UoM and Account Group each get their own dedicated pipeline.
A dedicated third fan-out branch alongside Account/Partner — a real GST duty-head ledger converges on the same shared account.tax records Stock Group's own rates create.
Nine Voucher Types, Both Directions
Every voucher type Tally supports, mapped to the correct Odoo document — and exported back the same way, including reconciliation-aware Payment/Receipt allocation.
Payload Log & Safety Guards
- Every raw response archived — success, warning, or failed
- Numeric parsing: empty means zero, malformed raises — never a plausible wrong number
- Invoice total-mismatch guard fails loud instead of posting short or long
- Per-record isolation — one bad record never blocks the rest of a batch
Manual Linking & Duplicate Avoidance
Any existing Odoo record can be hand-linked to a Tally instance from its own form, making it export-eligible without waiting for an import.
Only where a field is a real identity guarantee — Partner by Email/Phone. Everything else is GUID + manual link + create, never a risky name guess.
A base record can be linked from more than one Tally instance's own layer row — but never twice under the same instance.
A committed link can't be silently repointed by editing it — delete and relink instead, so history stays honest.
Why Choose Ksolves?
India's most trusted Odoo development partner — building modules that enterprises rely on.
(Dashboard Ninja)
Odoo Tally Connector vs. Alternatives
| Capability | Odoo Tally Connector | Typical Tally Connectors | Custom Developments |
|---|---|---|---|
| Bidirectional Sync | ✓ 20/20 entity types, both ways | ⚠ Import-only, or partial export | ⚠ Depends on developer |
| Per-Record Isolation | ✓ One bad record never blocks a batch | ✗ Often one failure aborts the run | ⚠ Variable |
| Live Debugging Tool | ✓ Playground — raw request/response, both directions | ✗ "Test connection" only, no raw access | ✗ Rarely built |
| Auto Commit Review Gate | ✓ Off by default, per resource | ✗ Usually writes immediately | ⚠ Depends on developer |
| Transport | ✓ Direct HTTP to your own gateway | ⚠ Some require a relay/agent process | ⚠ Variable |
| Automated Test Coverage | ✓ 503 tests, 31 files, real fixture data | ✗ Rarely published | ✗ Rarely covered |
| Ongoing Cost | ✓ One-time licence | ⚠ Often subscription-based | ⚠ High ongoing dev cost |
We install the module in your Odoo environment at no additional charge.
90 days of post-purchase support included. Any issue resolved by our Odoo-certified team.
Round-the-clock support via email, phone, and WhatsApp for enterprise clients.
Frequently Asked Questions
Everything you need to know before you install.
Release History
Built entity by entity, each one verified against a live TallyPrime gateway before shipping.
- Nine master entities imported — Ledgers (Account/Partner), Stock Group + GST rates, Stock Item, Godown, Cost Centre, Currency, Unit of Measure, Account Group, GST Tax Ledger
- Nine voucher types imported — Sales, Purchase, Credit Note, Debit Note, Payment, Receipt, Journal, Contra, Stock Journal
- Export queue and Direct Push/Manual File delivery for all 9 voucher types and 7 of 9 master entities
- Manual linking & duplicate avoidance — match-by-field where it's a real identity guarantee, GUID + manual link everywhere else
- Payload Log with success/warning/failed status on every raw response
- Per-record isolated Stage 0–6 pipeline for every entity, shared queue job and payload-retention infrastructure
- Auto Commit and per-field "Fields Tally May Update" review gates, off by default
- Per-instance opening balance posting for Account and Partner into one balanced journal entry
- Multi-Tally-company support — one connector instance per Tally company, safely sharing Odoo's own multi-company records
© 2026 Ksolves India Ltd. • Odoo Tally Connector • v19.0.1.0.0 • OPL-1 • Odoo 19
www.ksolves.com
•
[email protected]
•
1800-121-0218
Free 120 Days Support
Get 120 days of FREE support (doubt, queries,
& bug fixing)
on Odoo
applications from the date of purchase. Enhance the functionality of
your business with the Ksolves Odoo experts.