Tally is unlike every other system xMatix connects to: it is a desktop application inside the customer's own network, not a cloud API. The Tally integration is therefore push-based — an xMatix add-on loaded into TallyPrime runs on a timer, asks the xMatix service what is needed, and sends the changes. Nothing dials into the customer's network, and Tally's local port is never exposed. In sync profile terms Tally is a provider like any other; the transport difference shows up mainly in how health is monitored.
What syncs
The current Tally sync is inbound master data: Tally → xMatix.
| Tally object | Notes |
|---|---|
| Groups | The chart-of-accounts hierarchy |
| Ledgers | See the note below — one Tally object, several xMatix entities |
| Stock groups and stock items | Including units of measure |
| Units | Simple and compound |
| Godowns | Tally's warehouse master, mapping to storage locations |
| Cost centres and cost categories | |
| Currencies |
Vouchers (Tally's transactions — every entry from a sales invoice to a journal) are not synced by the current version, and neither is any outbound direction: xMatix does not write into Tally's books.
The ledger note. A Tally ledger under Sundry Debtors is a customer, under Sundry Creditors a vendor, and elsewhere a general-ledger account. The sync models this as separate entity declarations sharing the Ledger object, split by a filter on the ledger's parent group — so customers, vendors and GL accounts land in the right xMatix entities.
How change detection works
Tally maintains its own alteration sequence: an integer that increases on every create or edit of a master. The sync uses it as the watermark, which has two pleasant consequences: there is no clock-skew problem (the number is assigned by Tally itself, not read from a desktop clock), and "what changed since last time" is an exact question. Records are keyed on Tally's internal GUID, which survives renames — renaming a ledger updates the paired xMatix record rather than creating a duplicate.
Routine Tally housekeeping — rewriting a company, restoring from backup, splitting by financial year — resets that sequence. The connection handshake detects the reset and forces a fresh baseline pass rather than silently syncing nothing from a stale position.
Tally deletions leave no trace in the change sequence, so a record deleted in Tally is not detected by the current version; the xMatix record simply stops receiving updates.
Sites: monitoring a push connection
Each Tally installation that reports in is registered as a site with its own credential token (rotatable, like any credential). Sites are the reason the Sync Monitor health board has a Sites column: with a push connection, a stopped client produces no run and no error — every conventional signal reads healthy while nothing has synced for a week. The Sites column shows how many sites are reporting and flags any that have gone silent.
A silent site nearly always means one of two things: Tally is not running on that machine, or the add-on is not loaded in it. Both are fixed at the Tally end, not in xMatix.
Requirements
- TallyPrime, with the xMatix add-on loaded on each installation that should report.
- Tally must be running for data to flow — the add-on lives inside it. Data catches up automatically when Tally reopens, because the sequence watermark marks exactly where it left off.
- Site registration and add-on deployment are performed with your implementation team during setup.
Common questions
Does xMatix write into Tally?
No. The current integration is one-way, Tally → xMatix, and the outbound direction is refused by design rather than merely absent — so a misconfigured profile cannot accidentally post into a customer's books.
Why is there no schedule on a Tally profile?
Because xMatix is not the side that initiates. The add-on inside Tally reports on its own timer; the profile receives. That is also why health for Tally profiles is read from the Sites column rather than from a last-scheduled-run time.
We restored a Tally backup — is the sync broken now?
No, but expect a re-baseline. Restoring (like rewriting or splitting a company) resets Tally's change sequence; the handshake notices and the affected entities re-read from the start. Thanks to the record pairing on Tally GUIDs, the re-read updates existing xMatix records rather than duplicating them.
Can vouchers or invoices sync from Tally?
Not in the current version — masters only. Voucher sync is a different problem (a Tally voucher is a full double-entry document, not a flat record) and is not yet available.
