All docs
Back to appDownload .md

Migrating from Tally to Eden Resources ERP

Audience: A Bangladesh garments-accessories manufacturer that has been operating on Tally Free Edition for ~5 years and now needs to move its bookkeeping, inventory, manufacturing, payroll and trade-finance into Eden Resources ERP.

Goal of this document: A practical, week-by-week cut-over playbook that preserves opening balances, all master data, and historical references — so on Day 1 of the new system the books tie back to Tally to the rupee, and Day-2 transactions flow through the new modules end-to-end.

Plain-English summary: Tally only captures the accounting side of your business. Eden ERP also runs your factory, your warehouse, your payroll, your LCs and your sales pipeline. The migration therefore has two halves: (1) carry forward your accounting balances exactly, and (2) re-enter the operational state — open POs, open MOs, current stock-on-hand — so the new modules have somewhere to start.


1. Pre-Migration Audit (Week −2)

Before touching the new system, finalize what you are bringing over from Tally.

1.1 Lock the Tally cut-over date

Pick a calendar date for the switch. Recommended: the first day of a new month or quarter (e.g. 1 July, 1 October). Reasons:

1.2 Reconcile Tally first

Don't migrate broken numbers. In Tally:

1.3 Decide what historical depth to bring over

You have three realistic choices:

Option What you migrate Effort When to choose
A. Opening balances only One opening JE per account on Day 1 1 day You don't need to query past years inside the ERP. Tally remains read-only for history.
B. Last full FY in detail All JEs of the most recent fiscal year as historical entries 2-3 weeks You want this year's P&L visible in ERP for budget tracking.
C. Everything (5 yrs) Every JE from inception 4-8 weeks + cleanup Required only for legal-archive purposes. Most clients keep Tally as the archive instead.

Recommendation for most clients: Option A. Keep Tally on a backup machine, marked read-only. Use Eden going forward. Detailed history lives in Tally. This is a 1-day migration of the opening trial balance plus a clean start.

1.4 Export master data from Tally

Use Tally's Export → Excel (or the XML export):

Save these in a single workbook. Each tab becomes a CSV upload in Eden.


2. Eden ERP Setup (Week −1)

First, the package. Unlike Tally's one-time licence, Eden is a subscription: your account is provisioned on a package that licenses a set of modules and bundles a number of user seats. The Core package covers Accounting / HR / Inventory / Admin / Employee Portal; the Manufacturing package adds Manufacturing and Trade Finance (LC). The sidebar shows only the modules your package licenses — if an expected menu is missing it's a package question, not a setup error. Settle the package (and how many user seats you'll need beyond the bundle, billed as add-on seats) with Eden before Day 1. If you start on a trial, everything below works identically and your data is retained — just convert before the trial ends or access pauses until you do.

2.1 Create the Entity

Companies / Entities → New Entity

The system automatically provisions:

2.2 Set Company Branding

Admin → Company Branding

2.3 Configure HR Policy

HR & Payroll → HR Policy (PF/Gratuity) — set once, applies forever:

2.4 Map Tally Cost Centres → Eden Projects/Departments


3. Master Data Import (Week 0, Days 1-3)

Preferred path — Migration Studio (Admin → Migration Studio). Rather than hand-formatting CSVs to exact headers, use the Migration Studio: pick a source preset (QuickBooks / Xero / Zoho / Tally / HubSpot / Salesforce / Wave or generic CSV), upload the file, map columns in the wizard (it auto-detects common names), then preview-before-commit (it validates required fields, numeric values, CoA role resolvability, and that an opening Trial Balance balances). Datasets supported: items, customers, vendors, Chart of Accounts, opening Trial Balance (commits as one balanced opening JE), and CRM leads/contacts/deals. The legacy fixed-header Bulk Import (CSV) screen below still works and is the commit layer underneath.

Whichever screen you use, upload in this order — each subsequent file may reference UUIDs from the previous one.

3.1 Chart of Accounts mapping

Tally's account groups don't map 1:1 to Eden's 6 root groups. Use this translation table:

Tally Group Eden Root Eden Account Role
Bank Accounts Asset asset_ca_cash
Cash-in-Hand Asset asset_ca_cash
Sundry Debtors Asset asset_ca_recv
Stock-in-Hand Asset asset_ca_inv
Fixed Assets Asset asset_ppe_* (sub: Buildings, Equipment, Plant)
Sundry Creditors Liability lia_cl_acc_payable
Duties & Taxes (VAT/AIT) Liability lia_cl_taxes_payable
Loans (Liability) Liability lia_ltl_*
Capital Account Equity eq_capital
Sales Accounts Income in_operational
Purchase Accounts COGS cogs_regular
Direct Expenses COGS cogs_regular (or ex_regular if not directly attributable)
Indirect Expenses Expense ex_regular
Depreciation Expense ex_depreciation

Eden ships with default sub-accounts under each root. Don't recreate accounts that already exist — map your Tally ledger to the existing Eden code (e.g. Tally's "Cash on Hand" → Eden 1010 "Cash"). Add new accounts only where Tally has something Eden doesn't (e.g. a specific bank, "Industrial AC payable").

3.2 Customers

CSV columns: name, customerType, address, phone, email, BIN, TIN, openingBalance, contactPerson

For garments accessories:

3.3 Vendors

Same pattern. Crucial for garments accessories vendors:

3.4 Items

CSV columns: sku, name, isProduct, isService, itemCategory, uom, defaultUnitCost, defaultSellPrice, openingQty, openingValue, reorderPoint, reorderQty

For garments accessory manufacturer, classify items as:

Bring opening qty and opening value for everything in your warehouse on cut-over date — these become the inventory opening JE.

3.5 Employees

The HR module needs all of:

Critical: Bring the joining date exactly. Gratuity accrual depends on years of service (1 month basic per year). A wrong joining date = under/over-stated gratuity liability on the balance sheet.

3.6 Bank accounts

CSV columns: name, accountModelId (link to a CoA cash account), routingNumber, accountNumber, openingBalance, currencyCode

For each bank, link to its specific CoA account (you may have one per bank: 1011 Brac Bank, 1012 EBL, 1013 Cash USD).

3.7 Fixed Assets (PPE)

Eden has a Fixed Asset Register under Accounting → Fixed Asset Register. Tally Free does not have a dedicated FA module, so most accessories businesses keep this in a separate Excel sheet ("FA Register.xlsx"). Now is the time to bring it into the system.

For each asset held on cut-over date, capture:

Field Notes
Asset name "PE Extruder Line #1 — Reifenhauser"
Category land, building, plant_machinery, vehicles, computers, furniture, office_equipment
Acquisition date The original purchase date (can be 5+ years in the past)
Acquisition cost Original landed cost (purchase + import duty + freight + installation)
Useful life (years) Eden defaults: Land=999 (no depr), Building=40, Plant & Machinery=10, Vehicles=5, Computers=4, Office Eqpt=5, Furniture=8 — adjust to your policy
Depreciation method straight_line (default), reducing_balance, or none (for land)
Salvage value Estimated residual at end of useful life (often 0 or 5% of cost)
Funding source cash / loan / capital — drives the credit side of the acquisition JE
Vendor "Reifenhauser GmbH" — for traceability
Location "Production Floor A", "Vehicle Parking" — for physical verification

Key migration decision — accumulated depreciation: For an asset purchased 5 years ago with 10-year useful life and BDT 1,000,000 cost:

Two ways to bring this across:

  1. (Recommended) Backdate acquisition + run depreciation engine. Enter acquisitionDate = 2021-01-15 (the real date) and acquisitionCost = 1,000,000. Then click Run Depreciation — Eden's engine posts month-by-month depreciation JEs from acquisition date up to last month-end. Result: Acc Depr = ~500,000, current book value = ~500,000. This is the cleanest because every monthly JE exists in the ledger as audit evidence.

  2. (Faster but less audit-friendly) Single-line opening adjustment. Enter the asset with today's date and a reduced opening cost. Then post one manual JE: DR Asset 1,000,000 / CR Capital 1,000,000 (acquisition snapshot) and DR Capital 500,000 / CR Acc Depreciation 500,000 (snapshot of acc depr). Less granular but works for legacy assets where you don't care about the monthly trail.

Acquisition JE posted automatically by Eden when you create the asset:

DR  16xx Asset Account (per category)        BDT 1,000,000
CR  3010 Capital Account / 1010 Cash / 2110 Long Term Notes Payable    BDT 1,000,000

Monthly depreciation JE (auto-posted by Run Depreciation):

DR  6090 Depreciation Expense                BDT 8,333.33
CR  1690 Accumulated Depreciation            BDT 8,333.33

Common pitfall: People skip the FA Register at migration ("we'll add it later"). Then the balance sheet under-states assets and depreciation expense never appears in the P&L. Fix it on Day 1.

3.8 Open AR / AP (Bill-Wise from Tally)

Tally tracks per-invoice outstanding. Eden also does — but only if you bring each open invoice/bill across as a separate record.

For each open AR invoice on cut-over date:

Same pattern for open AP bills against vendors.

Why not just one summary "AR opening balance" JE per customer? Because then AR Aging won't tell you which specific invoice is overdue 30/60/90/120+ days. Bill-wise integrity = invoice-by-invoice.


4. Opening Trial Balance (Week 0, Day 4)

This is the single most important migration step. Get it wrong and every report is wrong forever.

4.1 Strategy

Create one master Opening JE dated cut-over date (1 July 2026 in our example) that takes Tally's closing trial balance and posts it as Eden's opening.

Eden's Journal Entries → New Journal Entry → many lines.

4.2 The opening JE structure

For every line in Tally's closing TB:

Side Account Amount Notes
DR All current asset accounts (Cash, Bank, Inventory) Asset balance one line each. AR & Fixed Assets handled separately — see Special Handling below
CR All liability accounts (AP, Loans, VAT Payable, TDS Payable) Liability balance one line each
CR Equity (Capital, Retained Earnings) Equity balance one line each

Special handling:

Once posted, Eden's Trial Balance equals Tally's. If they differ by even ৳1, find the offending line before any Day-1 transaction.

4.3 Reconciliation checklist (run all of these on cut-over morning)

If all 9 tick, you can switch off Tally for new transactions.


5. Operational Module Setup (Week 0, Days 5-7)

Tally never modelled these. You're entering them fresh.

5.1 Inventory & Warehouses

Inventory → Warehouses: Create one warehouse per physical location:

Inventory → Stock Movements: post ONE opening movement per item × warehouse using movementType=stock_in, reference=OPENING. This rebuilds Eden's stock ledger to match Tally's stock-in-hand.

5.2 Manufacturing — only set up if you do in-house production

Manufacturing → Work Centers: Each machine line (Extruder #1, Printing #1, Sealer A, Sealer B, Slitter, etc.) Set hourly cost (electricity + labour + depreciation per hour).

Manufacturing → Routings: The standard sequence of operations to produce one item. Example for a printed polybag:

Op 10  Extrude  → Work Center "Extruder #1"   45 min/1000m
Op 20  Print    → Work Center "Flexo Press"   25 min/1000m
Op 30  Cut+Seal → Work Center "Sealer A"      30 min/1000pcs
Op 40  QC+Pack  → Work Center "Pack Station"  10 min/1000pcs

Manufacturing → BOMs: Recipe per finished good. For 1000 polybags:

HDPE granules    8.5 kg
LDPE granules    1.5 kg
White master     0.3 kg
Carton           1 pc
Tape             0.05 roll

Open Manufacturing Orders: If on cut-over date you have orders in progress, create them in in_progress state with the actual completed-so-far quantities. The cost-of-WIP from Tally's Stock-in-Hand "WIP" sub-account becomes the JE counter-party.

5.3 Trade Finance — Letters of Credit

Garments-accessories importers run on LCs. For each LC currently open with the bank:

This populates the LC dashboard and triggers expiry-reminder notifications 7 / 3 / 1 days before LC expiry.

5.4 Payroll cut-over


5.5 Gate Pass & Weighbridge (optional operational controls)

If you control goods at the gate or weigh trucks (common for poly/granule importers), set these up — neither posts to the GL.

Also new since you may have last seen Eden: Purchase Orders use a 2-step wizard and track Received and Billed as independent flags (receive and bill in any order, no double-counting); posted manual journal entries can be Voided (the system posts a reversing entry and preserves the audit trail); the New Bank Account form's Cash-Account picker lists only cash/bank GL accounts; and the entire UI is bilingual (English / বাংলা) via the 🌐 switcher in the top bar.


5b. Loan Migration

For each existing bank loan (term loan, working capital, LC advance, OD facility), use Accounting → Loan Management → New Loan:

Disbursement JE auto-posts when you save: DR Cash / CR Long Term Notes Payable (full principal at original disbursement date).

For loans where you've already paid some EMIs before migration, post one consolidated migration adjustment JE to bring the GL into line with current outstanding:

DR  2110 Long Term Notes Payable   <principal repaid to date>
DR  6300 Interest Expense          <total interest paid>
CR  3010 Capital Account 1         <sum>      ← (the cash already left in pre-migration period)

The credit goes to Capital because the cash exit happened pre-migration, not from your Day-1 cash balance. Verify: GL Loan Payable balance = current outstanding shown by your bank statement.

Don't skip this step. Otherwise GL will show the original disbursement (e.g. BDT 5M) while the bank says you actually owe BDT 3M today. Auditor will flag that immediately.

Going forward, monthly: Loan Management page → click the unpaid installment → record payment. Eden auto-posts: DR Loan Payable + DR Interest Expense / CR Cash. See §6.

6. First Month Live (Month 1)

Run Tally and Eden in parallel for the first month as a safety check.

6.1 Daily routine

Process every transaction in Eden first. Mirror it in Tally only if your accountant insists — most teams cut Tally off Day 1.

6.2 End-of-month reconciliation

After the first month-end, run this checklist every month going forward:

6.3 Lock the migration

After month-end and the first VAT filing succeed:


6c. Year-End Closing Procedures (every June 30)

Bangladesh fiscal year ends June 30. On that date, post closing entries to move all accumulated income, COGS, and expenses into Retained Earnings, leaving a clean slate for the new FY.

Why this matters: Without closing entries, your P&L accounts (Sales, COGS, Salaries, Depreciation, Interest, etc.) keep accumulating year after year. By Year 5, your "Operating Expenses" line shows 5 years of cumulative depreciation instead of just this year's. Net Income becomes meaningless.

The closing JE structure (Eden auto-posts at year-end via Closing & FY → Year End — but you can also post manually):

DR  4010 Sales Income                <YTD balance>
DR  4020 Other Income                <YTD balance>
CR  5010 Cost of Goods Sold          <YTD balance>
CR  6010 Salaries                    <YTD balance>
CR  6090 Depreciation Expense        <YTD balance>
CR  6300 Interest Expense            <YTD balance>
CR  ... (all other expense accounts) <YTD balance>
CR  3100 Retained Earnings           <net profit (DR if loss)>

After the JE posts:

One-time backfill if migrating multi-year history: if you migrated 5 years of detailed transactions into Eden (option C in §1.3), post one closing JE per FY. If you only brought opening balances (option A), you don't need to backfill — your P&L starts clean from Day 1.

Practical tip: Don't backdate closing entries during the year — only post them on the actual June 30 (or whenever you officially close the books). The system locks the closed period under Closing & FY, preventing accidental backdated entries.


6d. Periodic Sanity Checks (the "auditor's checklist")

Run this checklist monthly in the first 6 months, quarterly thereafter. Each line should match — if not, investigate before the period closes.

# Check Expected Where to find
1 Trial Balance balances Total DR = Total CR Financial Reports → Trial Balance
2 Balance Sheet equation Total Assets = Total Liab + Total Equity Financial Reports → Balance Sheet
3 Cash positive Cash > 0 (unless you have an OD facility) Trial Balance, account 1010
4 AR ↔ Open invoices AR balance (1100) = sum of approved-not-paid invoices Compare TB to AR by Customer report
5 AP ↔ Open bills AP balance (2010) ≈ sum of approved-not-paid bills (allow for payroll deductions in AP) Compare TB to AP by Vendor report
6 Loan GL ↔ Register Loan Payable (2110) = sum of Loan Register outstandingPrincipal Loan Management page vs TB
7 Receipts ↔ Paid invoices Count of receipts = count of paid invoices Receipts page total vs paid-invoice count
8 FA Register ↔ PPE GL FA Register total cost = sum of asset-account balances (1610, 1620, 1630, etc.) Fixed Asset Register summary card vs Balance Sheet PPE section
9 Acc Depreciation ↔ Register Acc Depr account (1611, 1690, etc.) credit balance = sum of FA Register accumulatedDepreciation Same
10 Inventory GL ≈ Stock value Inventory (1200) ≈ sum of stock movements × cost (allow for std-cost vs purchase-cost variance) Inventory Summary report vs TB
11 Sales Income ≈ Invoice approved+paid totals 4010 ≈ sum of (subtotalAmount) of approved+paid invoices, period-filtered Sales by Product CSV vs TB
12 VAT Payable reasonable 2032 ≈ 15% × Sales Income for current period (less any input VAT credits) VAT Register vs TB
13 Document numbering continuous No gaps in INV-/BILL-/PR-/MO- sequences Each module's list view, sort by number
14 All accounts on normal sign No asset with credit balance, no liability with debit balance Trial Balance — flag any negative number
15 Bank Reconciliation flagged items All "unmatched" lines aged < 30 days Bank Reconciliation page

Most common red flags from this checklist:


7. Common Migration Pitfalls (and how to avoid them)

Pitfall Symptom Fix
Bringing AR as one lump opening JE AR Aging shows 0-30 day balance for old invoices Reload as bill-wise opening invoices
Wrong inventory opening value COGS misstated forever Recompute item-master openingValue (qty × actual cost), re-post inventory opening JE
Fixed Assets migrated as a single lump JE Per-asset depreciation never recomputes; balance sheet under/over-states; year-end audit fails Use the Fixed Asset Register (§3.7) — enter each asset, then click Run Depreciation to backfill the monthly trail
Wrong useful-life on asset Acc depr on Day-1 doesn't tie to your Excel Edit the asset, change useful life, re-run depreciation — engine reapplies the correct monthly amount
Wrong employee joining date Gratuity over/understated; eligibility wrong Fix the employee record's joiningDate field — recalc happens automatically
Cut-over date mid-month VAT return spans two systems Always cut over on first of month
Skipping the parallel month Errors found 3 months later, hard to backtrack Run both for at least 30 days
Not exporting Tally PDFs first No "before" snapshot if reconciliation fails Always PDF the closing TB and BS before migrating
Forgetting to set BIN/TIN on entity Mushak 6.3 prints blank fields Enter under Admin → Company Branding before first invoice
Two users entering same opening JE Double-count, books unbalanced Single dedicated migrator; lock the entity from other users on Day 0

8. What Eden Gives You That Tally Doesn't

After migration, expect the following Eden modules to start carrying weight that Tally never could:

Eden Module Why it matters for accessories
Fixed Asset Register Asset-by-asset record with category, acquisition date, useful life, depreciation method, accumulated depreciation, current book value. Built-in monthly straight-line depreciation engine — one click posts the correct DR Depreciation Expense / CR Accumulated Depreciation JE for every asset, every month. Tally Free has none of this — it lives in Excel today.
Manufacturing Orders + Cost Sheet Per-order true cost (material + labour + machine + scrap). Tally only knew the total purchase cost.
LC Module Tracks foreign LCs end-to-end with FX revaluation. Tally needs manual JEs for each LC step.
Mushak 6.3 print + VAT Register NBR-compliant tax invoice with auto-calculated VAT. Tally can't print Mushak natively.
HR + Payroll + Form 108 Statutory salary, tax, PF, gratuity processing. Tally has no HR module.
Bulk-import + CSV exports Bring/take any data in/out. Tally export is restricted.
AR / AP Aging dashboards Live aged-balance buckets on the home screen.
Audit Log + Roles & Permissions Per-user trace of every change. Tally has minimal audit.
Self-service Employee Portal Employees view payslips, apply for leave themselves.
Bank Reconciliation with CSV import Auto-suggests matches between bank statement and Eden entries.
Per-customer pricing, coupons, multi-currency invoicing Tally can't model these naturally.
Document vault + Compliance Calendar A single register for every statutory paper (trade/fire/bonded/factory licences, VAT-TIN-RJSC registrations) with expiry alerts, plus a deadline tracker for VAT returns (Mushak 9.1), VDS, Mushak 18.6 bond reports, RJSC and licence renewals — recurring items roll forward automatically when marked done. In Tally this lives in a wall calendar and a folder of photocopies. Admin → Documents / Compliance Calendar.
Project & Budget Accounting (licensed add-on) Construction/contractor-grade job costing Tally simply can't do: cost-code WBS, a Budget/Committed/Actual/Forecast/Variance Job Cost report, change orders that revise the contract value, WIP / % complete revenue recognition, IPC progress billing with retention + AIT/VDS deducted at source, WBS schedule/Gantt with EVM (SPI/CPI), and risk/issue registers. Plus a first-class Budget Management module — versioned departmental budgets, a 4-stage approval workflow, RBRF re-budgeting, GL-driven variance with 80%/overspend alerts, and transaction-level budget enforcement. Accounting → Projects / Budget Management.

Migration tip: during the Week-0 setup (§5), spend an hour loading your live licences into Admin → Documents (with expiry dates) and the next 12 months of filing deadlines into Admin → Compliance Calendar. It is the fastest-to-show-value module and stops the first "we missed the VAT deadline" surprise.


9. Post-Migration Roadmap (Months 2-6)

Month Focus
2 Fully replace Tally bank-recon with Eden's. Train accountant on Mushak 6.3 from Eden.
3 Roll out Manufacturing module to factory floor (work centers, MOs, job cards).
4 Move payroll fully to Eden (already ran since Month 1; confirm BEFTN file accepted by bank).
5 Activate Self-Service Portal — employees log in, apply leave, download payslips.
6 Year-end / fiscal-year close in Eden's Closing & FY screen. Export Form 108 (annual income-tax returns) for all employees.

10. Support & Escalation

For migration questions:

Backup plan: Tally archive remains accessible on a separate machine for the first 12 months. If Eden cannot answer a query about pre-migration data, fall back to the Tally archive.


Document version 1.1 — for use with Eden Resources ERP Accounting Module. Maintained by the implementation team. Last revised: 2026-05-20 (added Gate Pass / Weighbridge, 2-step PO with independent Received/Billed, JE Void, bilingual UI).