RetailPOS.AI
Migration

Migrating from Tally to RetailPOS (India-specific playbook)

Last reviewed 2026-05-27 · by the RetailPOS team

Tally is woven into the fabric of Indian small-and-mid-market business accounting. Tally Solutions (now Tally.ERP 9 / Tally Prime) is an Indian company headquartered in Bangalore; estimates suggest 85%+ of Indian mid-market businesses use Tally as their primary accounting system. Most Indian retailers run Tally for the books + a separate cash register or basic POS for retail operations + Excel for catalog + manual reconciliation across the three. Moving to RetailPOS as the retail source-of-truth while keeping Tally as the financial archive is the typical migration path.

This guide is the India-specific version of the broader Tally migration playbook (see also the Pakistan-specific /guides/migrating-from-tally-or-manual-register-to-retailpos for the Pakistan context). India-specific aspects: GST registration + state-specific tax handling on opening balances, GST e-invoicing switchover for above-threshold retailers, integration with the Indian Tally ecosystem (Tally.ERP 9 / Tally Prime export formats), the typical Indian retail accountant's working pattern with Tally.

The Tally + retail-operations divide

Most Indian retailers have an established division of labour between Tally and retail operations:

  • Tally — accountant-driven; tracks the general ledger, GST returns, bank reconciliation, supplier-receivables, customer-payables, financial close. Updated weekly or monthly from till data + bills.
  • Retail operations — shop-floor-driven; tracks daily sales, stock movement, cashier shifts, daily reconciliation. Today often runs on manual register + Excel + occasional basic POS.

The migration to RetailPOS doesn't replace Tally — it replaces the retail-operations layer. After migration:

  • RetailPOS becomes the source of truth for daily retail (sales, stock, customers, suppliers from a purchase-receiving perspective)
  • Tally remains the source of truth for accounting (general ledger, GST returns, financial close)
  • Period-end export from RetailPOS to Tally bridges the two — weekly or monthly CSV export feeds Tally for the books

This division of labour fits the Indian retail accountant's working pattern. The accountant continues to use Tally; the shop owner uses RetailPOS; the period-end export keeps them aligned.

Before you start — what to migrate, what to leave

Indian retailers running Tally typically have years of historical transaction data. The instinct is to migrate everything; the reality is most of it shouldn't move.

What to move into RetailPOS:

  • Current item catalog (active SKUs only) with HSN codes + GST tax classes
  • Current customer master with outstanding balances + GSTINs where captured
  • Current supplier master with outstanding balances + GSTINs
  • Opening stock as of cutover date with cost values + per-state allocation if multi-state
  • Loyalty point balances if you've been tracking them informally

What to keep in Tally (or archive):

  • Historical sales data older than current FY
  • Closed-out customer + supplier balances
  • Inactive SKUs
  • General-ledger entries (accounting stays in Tally for ongoing financial work)

Exporting items from Tally (Stock Summary path)

Tally's stock-item export is the cleanest source for catalog migration. From Tally Prime:

  • Gateway of Tally → Display More Reports → Inventory Books → Stock Summary
  • F12 Configure: show all detail columns (Cost Price, Selling Price, HSN/SAC, GST Rate, Stock Group, Unit), set period to current FY
  • Alt+E to export → Format: Excel or CSV
  • Export the file to a known location

The exported file typically has columns: Stock Item Name, Group, Sub Group, Unit, Opening Quantity, Closing Quantity, Cost Rate, Selling Rate (MRP), HSN/SAC Code, GST Rate. Some shops add Barcode + Brand + Category as custom fields.

Clean the file in Excel before importing to RetailPOS:

  • Remove inactive items (zero closing stock + no recent sales)
  • Standardise the unit column (PCS, KG, LTR, MTR, BOX, etc. — RetailPOS needs consistent values)
  • Verify the HSN/SAC + GST Rate columns align with current GST schedules
  • Add a barcode column if your shop scans items
  • Add a category column if Tally Stock Group doesn't map cleanly
  • For multi-state operations, ensure the per-state opening-stock allocation is clear (if Tally tracks per-godown, that maps to per-location in RetailPOS)

Aim for 85-90% accuracy at import time; correct remaining 10-15% after migration as you see them in daily operation.

Importing the catalog into RetailPOS

RetailPOS' CSV import accepts: name, sku, barcode, category, unit, cost_minor, price_minor, tax_class (mapped to HSN+GST rate), opening_stock, opening_stock_value. Map the Tally export columns to these via the import preview screen; the import validates row by row and reports errors before committing.

For prices, RetailPOS stores money as integer minor units (paise); the import converts your Tally rupee+paise values automatically. Verify the preview shows your prices correctly (₹199.50 imports as 19950 paise not 1995 or 199500).

HSN/SAC + GST rate mapping is the part that needs care. India's GST has 6 main rate slabs (0%, 5%, 12%, 18%, 28%) plus special rates on gold (3%), making charges (5%), stones (0.25%); each item maps to its correct HSN code + applicable rate. The wrong rate flows through to GST returns later — a mistake here is harder to fix once invoices have been issued.

For multi-shop / multi-state operations, import once into the master catalog; per-location stock + per-state-GSTIN routing set up after the master import. This avoids duplicating the catalog for each shop.

Customers + suppliers + opening balances

From Tally: export customer + supplier masters with outstanding balances.

Customers: Gateway of Tally → Display More Reports → Statements of Accounts → Outstandings → Receivables; Alt+E export to Excel. The file has: Customer Name, GSTIN, State, Outstanding Balance, Phone, Email if captured.

Suppliers: Gateway of Tally → Display More Reports → Statements of Accounts → Outstandings → Payables; same export flow.

Clean both files: remove closed-out parties (zero balance + no recent activity), standardise phone format (10-digit + 91 prefix), verify GSTIN where captured (the 15-character format), ensure state names match Indian state codes for the IGST routing calculation.

Import customers + suppliers via the RetailPOS import flow with the outstanding-balance column populated. This creates the records with opening balances pre-set; future sales / purchases accrue on top.

Opening stock + the physical-count reconciliation

Your Tally closing-stock value as of cutover date is the opening stock for RetailPOS. The catalog import covers per-SKU opening stock; what's usually missing is the location-level allocation if you operate multiple shops or multi-state.

Physical stock count on cutover day, compared against Tally closing stock + any movements since. Variances are normal (2-5% typical for shops with manual register + Tally not perfectly synchronised). Adjust opening stock to match the physical count rather than Tally — RetailPOS' stock from this point forward should reflect floor reality, not Tally's historical drift.

Variance journal: post the variance to Tally as a stock-adjustment entry for the books; the financial impact lives in Tally, the operational truth lives in RetailPOS going forward.

GST e-invoicing switchover for above-threshold retailers

If you're a covered retailer (above the ₹5 crore IRP threshold), e-invoicing was already running via your existing POS or GSP/ASP combination. The switchover:

  • Pause e-invoicing submissions on the old POS the night before cutover.
  • RetailPOS' onboarding pre-registers your GSTIN(s) with the GSTN API endpoint (1-3 business days lead time).
  • On cutover day, the first B2B sale on RetailPOS generates the first IRN via the new integration; the receipt prints with IRN + QR.
  • Verify the first 5-10 invoices appear correctly in the GSTN portal; if so, the cutover is clean.

Common mistake: forgetting to terminate the old GSP relationship after cutover. The old GSP may continue to bill you for API access until explicitly cancelled. Cancel within the first week post-cutover.

For below-threshold retailers (most single-shop kirana / mobile / salon operations), no e-invoicing switchover needed — operate without IRP integration until you cross the threshold, then activate it without re-onboarding.

The cutover — parallel-run vs hard cutover

Two strategies:

Hard cutover — pick a date (typically Sunday or after close on a low-volume day), final Tally closing balance, import to RetailPOS, start fresh on RetailPOS the next morning. Tally stops accepting new retail entries from that date. Cleanest; fastest; most common for single-shop or small operations.

Parallel run — operate both systems simultaneously for 1-2 weeks; ring sales on RetailPOS, also record summary in Tally (or import from RetailPOS into Tally daily); verify the two reconcile each evening. Switch off Tally for retail entries at end of parallel period. Slower; more operational overhead; safer for larger operations or shops with complex setups.

Recommendation: hard cutover for single-shop or 2-3 shops; parallel-run for 4+ shops or multi-state operations with complex tax/pricing setups.

Period-end export to Tally — the ongoing bridge

After cutover, RetailPOS is the retail source of truth; Tally remains the accounting source of truth. The period-end export bridges them.

Frequency: most accountants prefer weekly export for active shops, monthly for slower operations. The RetailPOS export produces:

  • Sales register CSV — all sale transactions with date, customer (GSTIN if captured), HSN+GST split, total. Maps directly to Tally Sales Vouchers.
  • Purchase register CSV — all purchase-receipt transactions with supplier (GSTIN), HSN+GST split, total. Maps to Tally Purchase Vouchers.
  • Inventory adjustment CSV — stock movements that aren't sales or purchases (transfers, write-offs, opening adjustments). Maps to Tally Inventory Vouchers.
  • Cash + UPI + card settlement summary — bank-reconciliation-ready format. Maps to Tally Bank Statements / Receipt Vouchers.

Your accountant imports these into Tally via Tally's standard data-import flows; the GSTR-1 and GSTR-3B preparation flows in Tally use the imported data. The format is designed to align cleanly with Tally Prime's import schema.

For covered retailers running RetailPOS e-invoicing, the e-invoicing data also auto-populates GSTN's GSTR-1 auto-draft independently of Tally; the Tally export is then a parallel reconciliation check rather than the primary GSTN data source.

First-week operational adjustments

The first week post-cutover is the calibration window. Expect:

  • Catalog gaps: items missed, mis-categorised, prices off by paise. Fix as you find them; bulk edit + CSV update flow handles fast correction.
  • Cashier confusion: new till UI takes a week to feel natural. Quick-reference card next to each till for the first week; RetailPOS' cashier training videos available.
  • HSN+GST corrections: a few items turn out on the wrong rate; GST returns can accommodate corrected reporting on the next cycle.
  • Stock variance: physical count after 1-2 weeks confirms opening stock + sales decrements + supplier-receipts are flowing correctly.
  • Customer-balance questions: regulars asking about their outstanding; customer search on till surfaces it quickly.

Most shops run cleanly within 10-14 days. Past 14 days, the daily workflow is faster than Tally + manual register, e-invoicing (if applicable) is invisible, multi-shop visibility (if applicable) replaces the evening-call-to-each-branch routine.

Frequently asked

Will RetailPOS replace Tally entirely?
For retail operations — yes. For full general-ledger accounting — most Indian shops keep Tally for the books and integrate via period-end exports. RetailPOS handles retail end-to-end; the accountant continues in Tally for the financial close.
How long does the migration take end to end?
Typical small-to-mid shop: 1-2 weeks total. Day 1-3 catalog + customer/supplier export and cleanup; day 4-7 import + validation; day 8 cutover; day 9-14 calibration. Larger operations or multi-shop: 3-4 weeks with parallel-run.
Do I lose my historical sales data?
No — Tally retains historical data; RetailPOS becomes the source of truth going forward. Pre-cutover historical reports run from Tally; post-cutover reports run from RetailPOS. Two periods don't need to merge for most operational purposes.
My catalog has 20,000+ SKUs — is import feasible?
Yes. RetailPOS' CSV import handles tens of thousands of rows per file; validation runs row by row with error reporting before commit. Larger catalogs (50,000+) work; staging in smaller batches by category often makes troubleshooting easier.
What about GST e-invoicing during the transition?
Pre-register GSTIN(s) with the GSTN API 1-3 business days before cutover. On cutover day, e-invoicing is live from the first sale on RetailPOS. Pause submissions on the old POS the night before; verify first invoices in GSTN portal post-cutover.
Period-end export to Tally — what does it look like?
Sales register CSV + Purchase register CSV + Inventory adjustment CSV + Cash/UPI/card settlement summary. Maps directly to Tally Prime's import schemas. Weekly or monthly cadence; your accountant runs the Tally side.
Want the product side? See the retail pack →

Open your shop in 30 seconds.

No card. Free until your first 100 sales. Bring your own Stripe; keep your hardware.