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:
- Tally's monthly/quarterly statements close cleanly on the day before.
- VAT (Mushak 6.3) is monthly — easier to have all of one month in one system.
- Payroll runs on calendar months — avoids splitting a month's salary across two systems.
1.2 Reconcile Tally first
Don't migrate broken numbers. In Tally:
- Run Trial Balance as of the cut-over-minus-one-day. Make sure it balances.
- Reconcile every bank account against the latest bank statement.
- Confirm AR aging ties to your customer ledger sum.
- Confirm AP aging ties to your vendor ledger sum.
- Print out and PDF-export the Profit & Loss for the year-to-date and the Balance Sheet as at cut-over date. These are your "before" snapshots.
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):
- Chart of Accounts (called "Ledger Masters" in Tally — name, group, opening balance)
- Stock Items (name, unit, opening qty, opening rate)
- Sundry Debtors (customers — name, address, GSTIN/BIN, opening balance)
- Sundry Creditors (vendors — name, address, BIN, opening balance)
- Bank Ledgers with opening balances
- Cost Centres if you used them (these become Departments or Projects in Eden)
- Bill-Wise Outstanding — the open invoices/bills Tally tracks per party
- Fixed Asset list — typically maintained outside Tally in a separate Excel sheet because Tally Free does not have a dedicated FA Register. Capture: asset name, category, acquisition date, original cost, useful life, depreciation method, accumulated depreciation to date.
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
- Name: Use the exact registered legal name (matches BIN/TIN on invoices)
- Slug: A short URL-safe identifier (e.g.
acme-accessories) - Base Currency: BDT (the system supports multi-currency for LC payables)
- Fiscal Year Start Month: 7 (July) — this is the BD norm; January is also common
- Date Format: DD/MM/YYYY (BD convention)
- Accounting Method: check Accrual (mandatory for any export-licensed manufacturer)
The system automatically provisions:
- A default Chart of Accounts (110+ accounts, BD-aware: VAT Payable, TDS Payable, BIN/TIN-ready customer/vendor records)
- A "Main Ledger" — every routine JE rolls into this single ledger by default
- 6 root account groups: Assets / Liabilities / Equity / Income / COGS / Expense
- Document number sequences (INV-2026-000001, BILL-2026-000001 etc.)
2.2 Set Company Branding
Admin → Company Branding
- Upload your logo (PNG/JPG, max 500×500)
- Enter Legal Name, Trading Name, Tagline
- BIN (11-digit) — appears on every Mushak 6.3 invoice
- TIN (12-digit) — appears on Form 108 and salary certificates
- Head Office and Factory addresses (separate fields — both print on invoices)
- Phone, email, website
- Optional: signature image (auto-applied to printed payslips)
2.3 Configure HR Policy
HR & Payroll → HR Policy (PF/Gratuity) — set once, applies forever:
- Provident Fund enabled? (toggle Yes/No) — if Yes, default rates 10% self / 10% org
- Gratuity accrual enabled? (toggle Yes/No) — default 1 month per year of service
- Income Tax fiscal-year start (July for BD)
- Default working days per month (26 in BD garments — 6-day week)
2.4 Map Tally Cost Centres → Eden Projects/Departments
- Production cost centres (Cutting, Sewing, Finishing) → Departments (HR uses these)
- Customer-specific cost centres ("ABC Garments order #882") → Projects (allocates labour cost per order)
- Branch cost centres (Dhaka office, Chittagong factory) → Entity Units (a sub-entity for document numbering)
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:
- customerType: B2B for buying houses, garment factories
- customerType: B2B_export for direct LC-based foreign buyers
- Set openingBalance = the AR shown in Tally's customer ledger as on cut-over date
3.3 Vendors
Same pattern. Crucial for garments accessories vendors:
- Granule suppliers (Reliance, IOC, Sabic distributors in BD)
- Master batch / colorant houses
- Spare-part importers
- Subcontract printers / slitters
- Utility vendors (DESCO/DPDC, Titas Gas, WASA)
3.4 Items
CSV columns: sku, name, isProduct, isService, itemCategory, uom, defaultUnitCost, defaultSellPrice, openingQty, openingValue, reorderPoint, reorderQty
For garments accessory manufacturer, classify items as:
- Raw material: PE granules, master batches, inks, zippers, sliders, films
- Work-in-process: rolled film, printed sheets, cut bags
- Finished goods: specific bag SKUs by customer / size / print
- Service: printing job, slitting job, lab test
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:
- Personal details (NID, TIN if salary > taxable, address, phone)
- Joining date (preserves seniority for gratuity calc)
- Department, designation, grade, grade-step (Eden has BD-typical 8 grades × 3 steps)
- Salary: basic, gross, structure (links to salary components: HRA, Medical, Conveyance, PF, Gratuity)
- Bank account for BEFTN salary disbursement
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:
- 60 months × (1,000,000 ÷ 120) = BDT 500,000 should already be accumulated by Day 1.
Two ways to bring this across:
(Recommended) Backdate acquisition + run depreciation engine. Enter
acquisitionDate = 2021-01-15(the real date) andacquisitionCost = 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.(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) andDR 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:
- Create the invoice in Eden with original date, original number (in
xreffield), original amount, customer - Set status =
approved(NOT paid) - The system creates the JE: DR Accounts Receivable, CR Opening Equity
- This appears in AR Aging exactly like Tally showed
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:
- AR opening balance: Don't enter a single lump sum — see §3.8. Bill-wise.
- AP opening balance: Same.
- Inventory opening: Single line — DR
1300 Inventory<value>. Eden's stock movements re-derive per-item details from your item-master openingQty × openingValue. - Fixed Assets: Don't enter via this opening JE. Use the Fixed Asset Register (§3.7) which auto-posts the asset-side acquisition JE per asset and gives you the per-month depreciation trail.
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)
- Eden TB total DR = Eden TB total CR (system enforces, but verify)
- Eden TB total = Tally TB total (you tied)
- Per-account balances match Tally (spot-check 10-15 accounts)
- Eden AR Aging total = Tally Sundry Debtors total
- Eden AP Aging total = Tally Sundry Creditors total
- Eden Inventory Summary value = Tally Stock-in-Hand value
- Eden Bank-Reconciliation opening balance per bank = Tally bank ledger closing
- Eden Fixed Asset Register total cost = your Excel FA-Register total
- Eden Fixed Asset Register total Acc Depr = your Excel FA-Register total Acc Depr
- Save a PDF of Eden's opening TB and store it next to Tally's closing TB
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:
- Raw Material Store
- WIP Floor
- Finished Goods Store
- Customer-bonded warehouses (for export consignments)
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:
- Trade Finance → Letters of Credit → New LC
- LC number, opening date, expiry, beneficiary (vendor abroad), amount in foreign currency
- Status:
opened,shipment_received,accepted,paid, etc. — match the actual stage 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
- Last salary in Tally must be paid before cut-over date.
- First payroll in Eden = the next month after cut-over.
- For mid-month cut-overs (avoid if possible), pro-rate the salary in Eden for the partial month.
- Carry-over: any unpaid salary → bring as opening AP balance against the employee's bank-payable account.
- PF balance per employee: load the per-employee PF opening into a JE: DR PF Opening (memo), CR PF Liability per employee. This way when an employee resigns, Final Settlement correctly returns their full PF.
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.
- Inventory → Gate Passes: record inward raw material (link the Bill/PO; tick Bonded with Bill of Entry / Bond Register / UD / Container for bonded imports against an LC), outward finished goods/exports (link Invoice / Challan / LC), returnable tools or printing cylinders sent for job-work (RGP — tracked until returned), and scrap sales. Each pass can carry a vehicle/goods photo and prints a signable gate slip.
- Inventory → Weighbridge & Scales: the truck weighbridge (two-weighment → Gross / Tare / Net) for granule trucks and export containers, or platform/floor scales for internal weighing. A photo of the scale reading gives an anti-malpractice trail. Date-ranged registers and a Pending-Returns report are under Reports.
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:
- Loan number (your bank's reference)
- Lender name (e.g. "Brac Bank Ltd — Gulshan Br")
- Type:
term_loan,working_capital,lc_advance, oroverdraft - Principal amount (the original disbursement)
- Interest rate (annual %)
- Tenure (months)
- Disbursement date (real, in the past)
- First EMI date
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:
- Eden P&L for month should be reasonable (no orphan entries, no negative balances on receivables)
- Loan EMIs → for each active loan, open Loan Management → click each due-this-month installment → Pay. Auto-posts:
DR Loan Payable + DR Interest Expense / CR Cash. Skip this and your Loan Payable GL drifts away from the bank's outstanding balance. - Run Depreciation → Fixed Asset Register → green button. Idempotent — only posts months not yet recorded.
- Bank Reconciliation per bank → import bank CSV, match against entries
- AR Aging — any zero-day-old balance is a current-month invoice, not migration noise
- File first VAT return (Mushak 6.3) from Eden's VAT Register
6.3 Lock the migration
After month-end and the first VAT filing succeed:
- Mark Tally as read-only / archive
- Move Tally to a separate machine/folder with no write access
- Eden becomes the system of record
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:
- All Income accounts: zero
- All COGS / Expense accounts: zero
- Retained Earnings: increases by net profit (or decreases by net loss)
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:
- #3 Negative cash: missing capital injection JE, or unrecorded loan disbursement, or duplicate vendor payment
- #6 Loan drift: monthly EMI payments not being posted (use Loan Management → Pay button each month)
- #7 Receipt gap: finance team marking invoices "paid" without entering the corresponding receipt — break the bad habit
- #8/9 FA mismatch: depreciation engine wasn't run for past months, OR a fixed asset was deleted from the register without the offsetting GL JE
- #10 Inventory gap: Manufacturing Orders' BOMs have wrong material quantities (typo in seed), or stock-out movements not being created when invoices ship
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:
- Day-to-day: in-app Notifications for system alerts.
- Cut-over weekend: have a dedicated implementation engineer on standby.
- After Day 5: periodic check-ins for the first 30 days.
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).