Every Indian vet clinic I've spoken to has the same arrangement: the doctor uses whatever software runs the counter, and the accountant lives in Tally. Neither person touches the other's system. At the end of the month, someone — usually the clinic manager — sits in the middle trying to reconcile two sets of numbers that were never designed to talk to each other.
This is not a technology failure. It's a division-of-labour problem that nobody drew clearly. Once you draw it, the reconciliation gets boring — which is exactly what you want.
The core principle: each system does what it's built for
Tally is a ledger. It is brilliant at statutory compliance — GST returns, P&L, balance sheet, TDS, audit trails. It was not built to track which batch of metronidazole expires in March, or to record that a vaccine was administered during a consult but never billed. Asking it to do those things is like asking your pharmacist to file your ITR.
A practice management system (PMS) is a transaction engine. It's built to capture what happened in the clinic — which patient, which doctor, which drugs dispensed, which services rendered — and turn that into a GST-compliant invoice at the counter. It is not a ledger. It doesn't know about your depreciation schedule or your loan repayments.
The moment you accept that these are two different tools with two different jobs, the integration question becomes simple: what data moves from the PMS into Tally, when, and in what form?
What stays in Tally
- Statutory books of accounts — the official record for GST returns, income tax, and audit.
- Bank reconciliation — your accountant matches every bank credit to a receipt entry.
- Expenses that don't originate at the counter: rent, salaries, electricity, loan EMIs, equipment purchases.
- TDS deducted on vendor payments.
- Depreciation on assets.
- Journal entries for adjustments, write-offs, and provisions.
None of this belongs in your PMS. Your PMS doesn't know your landlord's PAN number, and it shouldn't need to.
What lives in the PMS
- Patient records and clinical notes — every consult, every finding, every prescription.
- Invoicing at the counter — services, drugs, and consumables, with SGST/CGST applied per item.
- Pharmacy stock — quantities on hand, batch numbers, expiry dates, FEFO dispensing order.
- Payments collected — cash, UPI, card — recorded against each invoice.
- Vaccination records and reminders.
- Drug interaction and vitals alerts at the point of care.
The PMS is the system of record for everything that happens inside the clinic walls. Tally is the system of record for everything that happens in the books.
The export/import handshake — honestly described
There is no live, automatic sync between a PMS and Tally in most small-clinic setups. What actually happens — and what should happen — is a periodic export from the PMS and an import into Tally. Daily or weekly is fine; monthly is the minimum.
The export is a structured file — typically a Tally XML or a formatted CSV — that your accountant (or a Tally operator) imports into the ledger. The file carries summarised billing data: total revenue by GST rate, total tax collected (SGST and CGST separately), payment-mode breakdowns (cash vs UPI vs card), and any credit notes raised. It does not carry individual patient names or clinical details — those stay in the PMS.
Your accountant maps each line in the export to a ledger head in Tally — 'Veterinary Services Revenue', 'Pharmacy Sales', 'SGST Payable', and so on. This mapping is done once, carefully, and then reused every month. The first time you do this, sit with your accountant for an hour and walk through the mapping together. Every mismatch you catch in that session is one you won't fight about at quarter-end.
The monthly reconciliation — what you're actually checking
Reconciliation is not a mystery. There are three numbers to match, and if all three match, you're done.
- Revenue: Total invoiced in the PMS for the month equals total sales posted in Tally for the same period.
- Tax: Total SGST and CGST on PMS invoices equals the liability posted in Tally — which should also match what you'll file in GSTR-1.
- Collections: Total payments recorded in the PMS (cash + UPI + card) equals total receipts posted in Tally, which should reconcile to your bank statement and cash register.
If any of these three don't match, the gap is almost always one of three things: an invoice raised in the PMS that wasn't included in the export, a payment recorded in the wrong period, or a GST rate applied differently in the two systems.
The three reconciliation gaps that come up most often
GST rates set inconsistently between systems. Veterinary drugs and veterinary services can attract different GST rates, and if the rate in your PMS item master doesn't match what your accountant has set up in Tally, the tax figures will never reconcile. Fix this in the item master once; don't try to adjust it manually each month.
Credit notes and refunds. A client returns an unopened product. The PMS raises a credit note. If the export doesn't include credit notes — or your accountant doesn't know to look for them — the revenue figure in Tally will be overstated. Make sure your export explicitly includes credit notes as negative lines.
Cash collected but not invoiced. This is the uncomfortable one. A consultation happens, payment is collected, but no invoice is raised in the PMS — often because the front desk was rushed. The cash shows up in the bank or the till, but there's no corresponding invoice in the PMS export. This is both a reconciliation problem and a revenue integrity problem. A regular end-of-day reconciliation routine catches most of these before they compound.
What your accountant actually needs from you each month
Keep it to a short, predictable package. The post on what your accountant needs from the clinic every month covers this in detail, but the PMS-to-Tally piece specifically is: one export file covering the full month, a summary sheet showing total invoices, total collections, and total credit notes, and a note on any unusual items (a large refund, a bulk purchase that was expensed differently). That's it. If your accountant is asking for more than this from the PMS, something in the workflow is broken.
A note on stock purchases
Drug and consumable purchases from your distributor go into Tally as purchase entries, with the GST paid recorded so your accountant can work out how much input credit is claimable (credit on purchases used for exempt clinical work is restricted). They also need to go into your PMS as stock receipts — so the PMS knows what's available to dispense and can track batches and expiry dates. These are two separate entries made in two separate systems from the same supplier invoice. This is not duplication; it's each system doing its job. The PMS tracks what you have; Tally tracks what you paid and what ITC you can claim.
The reconciliation check here is simpler: the total cost of goods sold in your PMS (drugs dispensed × cost price) should be directionally consistent with the purchase entries in Tally minus the closing stock value. It won't be exact to the rupee — cost-price accounting methods differ — but a large divergence is worth investigating.
Making the handshake less painful over time
The clinics that find this easiest are the ones that treat the export as a routine, not an event. Export weekly, even if your accountant only imports monthly — it means smaller files, faster imports, and errors caught closer to when they happened. Set a fixed date for the monthly reconciliation meeting: the fifth of the following month works well for most clinics, after bank statements have cleared.
If your PMS supports a Tally-formatted export natively, use it — it removes the manual formatting step that introduces errors. CliniCore's GST-aware invoicing includes a Tally export built around the SGST/CGST breakdown your accountant needs, so the mapping conversation happens once rather than every month.
The deeper issue, though, is making sure the PMS data is clean before it reaches Tally. Unbilled services, missing invoices, and unrecorded payments are accounting problems before they're reconciliation problems. A PMS that flags visits where charges appear to be missing means fewer surprises when the export lands on your accountant's desk. Revenue you've already earned shouldn't disappear in the gap between the consultation room and the ledger.
If you want to see where your current billing data has gaps before the next month-end, the free 60-second audit is a reasonable place to start — no commitment, just a clearer picture of what's making it from the counter into the books.