# New Company Onboarding — Eden Resources ERP

**Audience:** A newly-incorporated (or recently-formalized) company in Bangladesh — the books to date have lived in spreadsheets, paper registers, the owner's notebook, and WhatsApp threads. There is no prior accounting system to migrate *from*; this is greenfield setup.

**Goal of this document:** Walk a new client through the right sequence to stand up Eden ERP correctly the first time, without painting themselves into a corner. The order matters: get foundations wrong and every report afterwards is wrong.

> **Plain-English summary:** The dangerous part isn't entering data — it's deciding what counts as Day 1. We'll define that day, freeze the past as "history" (kept on file but not in the system), seed the system with opening balances as of that day, and start operating. Excel becomes a one-shot input source, not an ongoing parallel system.

---

## 0. Your package, trial & seats (decide first)

Before any books are set up, your account is created on a **subscription package**. This is arranged with Eden — you don't configure billing inside the app — but it determines two things you'll feel immediately, so settle it up front.

### 0.1 Package = which modules you get

A package licenses a set of **modules**. The **Core** package covers Accounting, HR, Inventory, Admin and the Employee Portal — enough to run a services or trading business. The **Manufacturing** package adds Manufacturing (BOM / Manufacturing Orders / routings / QC) and Trade Finance (Letters of Credit / sales contracts) on top. Industry-specific switches (e.g. `tv_broadcast` for a broadcaster) are enabled per entity.

> The sidebar only shows modules your package licenses. If a menu you expect is missing, it's a package question, not a setup mistake — a module outside your package answers **"Module not licensed"** rather than opening. Pick the package that matches what you actually do before Day 1, so you're not mid-onboarding when a needed module is dark.

### 0.2 User seats

Each package bundles a number of **user seats** (Core bundles 5: one company admin, three accounting users, one all-access user). When you reach **§2.4 Add users**, those bundled seats are already paid for. Extra users beyond the bundle are billed as **add-on seats** — a *per-module user* (limited modules, cheaper) or an *all-access user*. Staff who only need to see their own payslip/leave use a low-cost **employee-portal** seat instead of a full user seat. Plan your seat count alongside your role split (see §9) so you license what you'll actually use.

### 0.3 If you're on a trial

If Eden has put you on a **trial**, the system behaves exactly like a paid plan for the trial window. Do the full onboarding below as normal — your data is real and is retained. Just convert to a paid plan before the trial end date; if a trial lapses, access is **paused** (modules stop opening) until it's converted, but nothing you entered is lost.

---

## 1. Before You Touch the System (Week −1)

### 1.1 Pick your "Eden Day 1"
This is the date Eden becomes your books of record. Conventions:

| Choice | Why | When to use |
|---|---|---|
| **First day of next FY** (1 July in BD) | Cleanest — matches Income Tax & VAT cycles | If you're starting setup in May–June |
| **First day of next calendar quarter** | Aligns with Mushak 6.3 (monthly) and quarterly reviews | If next FY is far away and you don't want to wait |
| **First day of next month** | Acceptable last-resort | If audit is breathing down your neck |

**Never** start mid-month. VAT, salary, and bank reconciliation are all monthly cycles — splitting them across two systems creates ledger mismatches that take days to unwind.

### 1.2 Inventory what data you have
List the spreadsheets / registers / paperwork you currently use. Typical for a new BD garments-accessories company:

- A **Cash Book** in Excel (one row per transaction, daily)
- A **Bank Book** for each bank account
- A **Sales Register** — date, customer, amount, paid/pending
- A **Purchase Register** — same for vendors
- A handful of **received bills** in a folder
- An **employee list** — names, salaries, NID numbers, joining dates
- A **stock register** if you've been counting (often missing — you may need to do a physical count)
- **Bank statements** — past 3 months
- **BIN/TIN/Trade License** docs

This is your "raw material" for the import.

### 1.3 Do a physical stock count BEFORE Day 1
Critical for any business holding inventory. Without an accurate stock-count number, the inventory module starts wrong forever (and so does COGS).
- Pick a Saturday/Friday — non-working day or pre-opening
- Two-person count: one counts, one writes
- For each item: SKU, qty, condition, last-known unit cost
- Sign and date the count sheet
- File it — this is your audit-evidence for the opening inventory JE

### 1.4 Reconcile your bank balances
- Get the most recent bank statement for each account
- Match every line in your bank-book Excel against the statement
- The reconciled bank balance on the cut-over date is what you'll enter as Eden's opening cash
- Save the reconciliation worksheet — it's the audit support for the opening JE

### 1.5 List your open AR and AP
For each customer who **owes you money** as of Day 1:
- Customer name
- Invoice number / date / amount
- Days outstanding

Same for vendors **you owe**:
- Vendor name, bill number / date / amount

This becomes your bill-wise opening AR and AP — entered as individual records in Eden so that AR/AP Aging works from Day 1.

---

## 2. Eden Setup (Week 0, Day 1)

### 2.1 Create the Entity
**Companies / Entities → New Entity**

Settings to get right the first time:

| Field | Recommended | Notes |
|---|---|---|
| Name | Exact registered legal name | Appears on every invoice — must match BIN |
| Slug | short-lower-case-with-dashes | URL identifier; cannot be changed easily later |
| Base Currency | BDT | Multi-currency works for FX invoices, but base must be BDT |
| FY Start Month | 7 (July) | Bangladesh standard |
| Date Format | DD/MM/YYYY | BD convention |
| Accrual Method | ✅ Yes | Always for any registered company |
| Timezone | Asia/Dhaka | |

Eden auto-provisions:
- 100+ default Chart of Accounts entries (BD-aware)
- A "Main Ledger" (you don't need to create more)
- 6 root account groups
- Document numbering sequences

### 2.2 Set Company Branding
**Admin → Company Branding** — fill once, prints on every document:
- Logo (PNG, ≤500×500px)
- Legal Name, Trading Name, Tagline
- BIN (11 digits) + TIN (12 digits)
- Head Office address, Factory address (if different — both print)
- Phone, email, website
- Optional signature image (auto-applied on payslips)

### 2.3 Set HR Policy (only if you have employees)
**HR & Payroll → HR Policy (PF/Gratuity)**
- Provident Fund Yes/No (default 10% / 10% if Yes)
- Gratuity Yes/No (1 month basic / year of service)
- Income tax FY start: July
- Working days/month: 26 (BD garments default)

### 2.4 Add users
**Admin → User Management → Add User**
- Owner: role = `admin` (sees everything)
- Accountant: role = `admin`
- Operations manager: role = `user` (can be restricted via Roles & Permissions later)
- Each employee that needs the self-service portal: role = `user`, then link them to an employee record under **HR → Employees → Tax tab → Linked User ID**

> **Don't share login credentials.** Every user must have their own login — this is what makes the Audit Log meaningful.

> **Mind your seat count (see §0.2).** The first users fill your package's bundled seats; users beyond that are add-on seats. Put staff who only need their own payslip/leave on an **employee-portal** seat (link them to an employee record as above) rather than a full user seat.

---

## 3. Master Data (Week 0, Days 2-3)

Use **Admin → Bulk Import (CSV)**. The system supports CSV uploads for: Customers, Vendors, Items, Employees, Bank Accounts, Chart of Accounts (additions only).

### 3.1 Chart of Accounts — only add what's missing
Don't recreate everything. Eden ships with sensible defaults. Look through the list — if you have a specific account that doesn't exist (e.g. "Industrial AC payable", "Machine #3 depreciation"), add it under the right root.

**Common additions for BD accessories manufacturers:**
- Sub-accounts of `1010 Cash` per branch (1011 Brac Bank Gulshan, 1012 EBL Motijheel, 1013 Cash USD)
- Sub-accounts of `1300 Inventory` per warehouse (1310 RM Store, 1320 WIP Floor, 1330 FG Store)
- Sub-accounts of `1600 PPE` per asset class (1610 Plant, 1620 Machinery, 1630 Building)
- VAT-receivable / VAT-payable per VAT rate (1450 VAT Refundable @ 15%, 2050 VAT Payable @ 15%)
- Customer-deposit liability (2070 Customer Advance)
- LC-margin asset (1480 LC Margin)
- Loan-payable per facility (2110 Brac Bank Term Loan, 2120 EBL OD)

### 3.2 Customers
CSV columns and what each one is for:

| Column | Required? | Notes |
|---|---|---|
| `name` | Yes | Customer's billing name |
| `customerType` | No | `B2B`, `B2B_export`, `B2C`, etc. — affects industry-variant labels |
| `address`, `phone`, `email` | No | Print on invoices |
| `BIN`, `TIN` | Yes for BD B2B | Required on Mushak 6.3 |
| `creditLimit` | No | Used for over-limit warnings |
| `paymentTerms` | No | `net_30`, `net_60`, `due_on_receipt` |
| `currencyCode` | No | Default from entity |
| `openingBalance` | Conditional | **Leave blank** — bring opening AR via per-invoice records (§4) |

### 3.3 Vendors
Same pattern. Required for any vendor whose bill you'll book as VAT-creditable.

### 3.4 Items
Most-skipped step that comes back to bite people. Set up items now, not later.

For garments accessories manufacturer, three categories:

**Raw materials:**
```
sku,name,isProduct,isService,uom,defaultUnitCost,reorderPoint
RM-HDPE-001,HDPE Granules - Reliance Grade A,true,false,kg,105,500
RM-LDPE-001,LDPE Granules,true,false,kg,108,300
RM-MB-WHT,Master Batch White,true,false,kg,380,50
RM-INK-CMY,Flexo Ink CMYK Set,true,false,litre,680,20
```

**Finished goods:**
```
PB-EXP-5KG,Export Polybag 5kg load,true,false,pcs,2.5,5000
PB-PRINT-001,Printed Polybag Customer A logo,true,false,pcs,3.8,3000
ZIP-LK-A4,Zipper-Lock Pouch A4,true,false,pcs,8,2000
```

**Services:**
```
SVC-PRINT,Flexographic Printing - per 1000 pcs,false,true,1000pcs,800,
SVC-SLIT,Slitting Service - per kg,false,true,kg,12,
```

> **`isProduct=true, isService=false`** — physical good with stock tracking
> **`isProduct=false, isService=true`** — labour/service item; no stock; appears on service invoices
> Both can be on an invoice — Eden treats them as line items either way.

### 3.5 Employees
**The single most important record for HR module to work.** Cannot be loaded incrementally — you must enter at least:
- First name, last name (English + Bangla optional)
- Joining date (gratuity depends on this!)
- Department, designation, grade, grade-step
- Salary structure (links to a pre-built BD-typical structure with Basic / HRA / Medical / Conveyance / PF / Gratuity components)
- Basic salary
- Bank: bank name, branch, account number, BEFTN routing — for salary disbursement

Optional but important:
- NID, TIN (TIN required if salary > taxable threshold)
- Personal phone, emergency contact
- Tax category (general / female-or-senior / disabled / freedom_fighter / parent_of_disabled — affects tax slab)

### 3.6 Bank accounts
For each account: name, link-to-CoA-account, routing number, account number, opening balance, currency.

Banks are also where Eden tracks LC margin accounts, OD facilities, FX accounts.

---

## 4. Opening Balances (Week 0, Day 4)

This is the moment you turn data into accounting reality. Get this wrong and the Trial Balance lies forever.

### 4.1 The Opening JE — overall structure
Create one large Journal Entry dated **Eden Day 1** (e.g. 1 July 2026):

```
DR  All asset accounts at their Day-1 balance
CR  All liability accounts at their Day-1 balance
CR  Equity (Capital) — the balancing figure
```

### 4.2 Bill-wise opening AR
For each open customer invoice, instead of one summary AR debit:

1. **Invoices → New Invoice**
2. Pick the customer
3. Set date = original invoice date (NOT Day 1)
4. Set xref = original invoice number you used in Excel
5. Enter the original line items (or one summary line if you don't have details)
6. Set status = `approved` (NOT `paid`)
7. Eden auto-creates the JE: DR AR, CR Opening Equity (use a temporary "Opening Balance" income account if you prefer)

After all open invoices are loaded, sum of AR per customer = your Excel's outstanding-customer balance, and AR Aging works.

### 4.3 Bill-wise opening AP
Same pattern with **Bills → New Bill** for each unpaid vendor bill.

### 4.4 Opening Inventory
- Items already have `openingQty` and `openingValue` from §3.4
- For each warehouse × item with qty > 0, post an opening Stock Movement: `movementType=stock_in, reference=OPENING, qty=<count>, unitCost=<rate>`
- This creates one DR `1300 Inventory` line per movement, balanced by a single big CR Opening Equity at the bottom — OR by configuring the movement to use an opening offset account

Eden's Inventory Summary report should equal your physical-count value × cost.

### 4.5 Opening Cash & Bank
- For each bank account: enter `openingBalance` in the bank account form
- Eden creates the JE: DR Bank, CR Opening Equity
- For physical cash on hand: similar entry against `1010 Cash`

### 4.6 Opening Loans
For each existing loan: Loans → New Loan
- Loan number (your bank's reference)
- Principal disbursed, interest rate, tenure
- Disbursement date (real, in the past)
- First EMI date
- Eden auto-calculates EMI and amortization

Then post one opening JE: DR Bank (to recognise the cash already received in a prior period), CR Loan Payable. For loans where you've already paid some EMIs, the Loan record's `totalPaid` field stores cumulative principal repaid; the balance sheet shows only outstanding.

### 4.7 Opening Fixed Assets — use the Fixed Asset Register

Open *Accounting → Fixed Asset Register*. For every piece of plant, machinery, vehicle, computer, building, or furniture you own:

1. Click **New Asset**
2. Fill in: name, **category** (land / building / plant_machinery / vehicles / computers / furniture / office_equipment), acquisition date (real, can be past), acquisition cost, useful life, salvage value, **funding source**:
   - `cash` — when the company actually paid out cash for it (drains your cash balance)
   - `loan` — when funded by a bank loan (creates Loan Payable liability)
   - `capital` — when the founder contributed it as part of equity (most common for opening setup of legacy assets, since cash hasn't actually moved on Day 1)
3. Save → Eden auto-posts: `DR 16xx Asset Account / CR Cash | Loan | Capital`
4. After all assets are entered, click the green **Run Depreciation** button at the top → engine posts month-by-month depreciation JEs from each asset's acquisition date up to last month-end.

**Worked example (1,500,000 BDT extruder bought 4 years ago, 10-year life):**

```text
On Save:
  DR  1620 Plant & Machinery     1,500,000
  CR  3010 Capital Account 1     1,500,000

After Run Depreciation:
  Each month for the past 48 months posts:
    DR  6090 Depreciation Expense       12,500
    CR  1690 Accumulated Depreciation   12,500
  Cumulative effect on balance sheet:
    Plant & Machinery (cost):          1,500,000
    less: Accumulated Depreciation       (600,000)
    Net Book Value:                       900,000
```

> **Why a dedicated module matters:** Without per-asset records, "Depreciation Expense" in your P&L is a single number you trust the accountant to compute correctly each month. With Eden's register, every monthly depreciation JE has the asset code in its description, so any auditor can trace the BDT 12,500 charge straight back to the specific extruder.

**Important: don't migrate fixed assets as a single lump opening JE.** Use the register. Otherwise:
- Per-asset depreciation never recomputes
- You can't print a fixed-asset schedule for the auditor
- When you sell or scrap an asset, you have no per-item book-value to derecognize against

### 4.8 Opening Trial Balance check
After all opening JEs:
- Run **Financial Reports → Trial Balance**
- Total DR = Total CR (system enforces)
- Cross-check against your Excel summary:
  - Sum of bank balances per Eden = sum per your bank statements
  - AR total per Eden = sum of unpaid customer invoices in Excel
  - AP total per Eden = sum of unpaid vendor bills in Excel
  - Inventory value per Eden = your physical-count × cost
  - Capital = the balancing figure (this is what your owner has invested + retained earnings to date)

If these tie, the opening is locked. If not — fix before any Day-1 transaction.

---

## 5. Operational Modules (Week 0, Days 5-7)

Now make the *operational* modules ready for daily transactions.

### 5.1 Warehouses
**Inventory → Warehouses**: one per physical location (RM Store / WIP / FG / each customer-specific bonded warehouse).

### 5.2 Manufacturing setup (if applicable)
For each production line, set up:
- **Work Centers** (machine = work center; capture hourly cost = electricity + labour + machine depreciation)
- **Routings** — sequence of operations to make a finished good
- **BOMs** — recipe per finished good (raw material qty per output unit)

Once these exist, Manufacturing Orders capture real per-order cost.

### 5.3 Trade Finance setup (if you import on LC)
- **Letters of Credit → New LC** for each open LC with the bank
- Eden tracks LC stages (opened → shipment → payment → closed) and FX revaluation

### 5.4 HR-adjacent setup
- **Shifts** — even single-shift companies need at least one shift defined for attendance tracking
- **Holiday Calendar** — 30+ BD national holidays seeded by default; verify and add company-specific holidays
- **Leave Types** — 6 BD-standard types seeded (CL/SL/AL/ML/PL/LWP); adjust quotas if your policy differs
- **Salary Structures** — Eden ships 8 typical BD structures; verify the percentages match your salary slips

### 5.5 Approvals workflow (if multi-person org)
**HR & Payroll → Approval Workflows** — set who approves what:
- Leave > 3 days → manager
- Salary increment → owner
- Payroll posting > ৳1,00,000 → owner
- Bill payments > ৳50,000 → owner
- LC opening → finance director

---

### 5.6 Gate Pass & Weighbridge (if goods/vehicles cross a gate)
**Inventory → Gate Passes** and **Inventory → Weighbridge & Scales** — optional operational controls, no GL impact.
- **Gate Pass** documents anything entering/leaving the gate, classified by Direction (In/Out) × Return type (Returnable RGP / Non-Returnable NRGP) × Category. Link it to the Bill / Invoice / PO / Fixed Asset. Tick **Bonded** for export-oriented units (Bill of Entry, Bond Register, UD/UP, Container, LC). Returnable items are tracked until returned; overdue ones are flagged, and a **Pending Returns** register lists them.
- **Weighbridge & Scales** records truck weighments (two-weighment → Gross / Tare / Net) or small **platform/floor-scale** readings (single weight + package count, e.g. weighing material issued internally). Both can store a **photo of the reading** as proof.
- **Print** a Gate Pass slip / Weighment slip; pull date-ranged registers under **Reports**.

### 5.7 Procurement, banking & language
- **Purchase Orders** (Inventory → Purchase Orders) use a **2-step wizard** (header → add items). An approved PO tracks **Received** and **Billed** as two independent badges — receive and bill in any order; the system blocks duplicates. A PO posts nothing to the GL (the bill it creates does, on approval).
- **Bank Accounts:** when you add one, its **Cash Account** picker lists **only cash/bank GL accounts** — pick the matching line so postings land correctly.
- **Language:** the **🌐** button in the top bar switches the entire UI between **English** and **বাংলা** for each user, any time.

### 5.8 Documents & Compliance Calendar (set up on day one)
Two registers under **Admin** — no GL impact, but the cheapest way to never miss a statutory deadline. Best done while you still have all the certificates on the desk during onboarding.
- **Admin → Documents:** upload every statutory paper — Trade Licence, VAT (Mushak 2.3) / TIN / RJSC registrations, Fire Licence, and the industry-specific ones (Bonded Warehouse / Factory / ERC-IRC for an export unit; BTRC downlink + transponder lease for a broadcaster). Set the **Expiry date** on each renewable licence; the list then sorts soonest-first and flags lapsed ones.
- **Admin → Compliance Calendar:** add the recurring filings/renewals — monthly **VAT return (Mushak 9.1)** and **VDS** deposit, quarterly items (e.g. **Bond Utilization — Mushak 18.6** for export units), and the annual cycle (RJSC return + AGM, income-tax return, trade/fire/factory licence renewals). Set the **Frequency**; when you **Mark Done** the next occurrence is created automatically. Link each item to its governing **Document** so the renewal and the certificate sit together.
- **Employee photos:** while entering staff, attach a **Photo** and **Specimen Signature** on the Employee *Personal* tab (the phone camera works directly).

> The demo entities ship pre-loaded with this register (10–12 documents + compliance items each) — copy that pattern for the real company.

### 5.9 Project & Budget Accounting (for contractors, developers & project-driven orgs)
Two licensed modules under **Accounting** for organisations that run jobs, contracts or departmental budgets — skip if you don't.
- **Projects** (`project_accounting`): create a project, then under it build a **Cost-code** structure (WBS, e.g. `03-300 Cast-in-place Concrete`) and **Budget** lines by cost code × cost type (labour/material/equipment/subcontract/other). Day-to-day, tag Bills/POs/Subcontracts to a cost code to populate the **Job Cost** report (Budget / Committed / Actual / Forecast / Variance). For construction: record **Change orders** (variations adjust the *revised* contract value once approved), raise **IPCs** (interim payment certificates — gross less retention, mobilization recovery, **AIT 6% + VDS** at source → net payable), track **WIP / % complete**, and run the **Schedule (WBS + Gantt + EVM)** and **Risks & Issues** registers. Attach contracts/permits/drawings on the **Documents** tab.
- **Budget Management** (`budget_management`): create a **budget version** per fiscal year, gather departmental **requisitions + lines**, then **consolidate**. Route the version through the **4-stage approval** (Finance → Compliance → Management → CEO); only a fully-approved version becomes *active*. Mid-year changes go through an **RBRF** (re-budget request). Actuals refresh from the GL by account, the **variance dashboard** shows budget-vs-actual with 80%/overspend **alerts**, and `POST /api/budget-enforcement` lets PR/PO/expense flows check spend against the remaining budget.

> Both modules are licensed add-ons — the operator enables them per entity under **/platform → Subscriptions**. A full acceptance-test script lives in `docs/UAT_PROJECT_BUDGET_ACCOUNTING.md`.

---

### 5.4 CRM & Sales / Distribution (`crm`)

If you sell to customers (most businesses do), enable the **CRM** module (operator: **/platform → Subscriptions**). Recommended setup order:
1. **Items + Customers** — already loaded in Master Data (§3).
2. **Pricing** (CRM → Pricing) — create a **default** price list; optionally per-customer lists with discounts/slabs, assigned to specific customers. These auto-fill quote/order lines.
3. **Credit** (CRM → Credit) — set each major customer's **limit / terms**; confirming an over-limit or on-hold order is then blocked.
4. **Pipeline** — define your deal stages and start logging leads → deals → **quote → sales order → invoice** (the order's `→ Invoice` creates a draft AR invoice you approve in Accounting).
5. **Field force (optional, FMCG)** — build **Dealers**, **Territory → Route → Beat**, assign **Sales Reps**, and have reps do GPS **check-in/out** visits; set **Commission** plans (flat or tiered) that accrue on won deals and paid invoices.

Acceptance scripts: `docs/UAT_CRM.md` and `docs/UAT_SALES_DISTRIBUTION.md`.

### 5.5 AI assistant & Open Platform (optional)

- **AI** (Admin → AI Providers): add an AI provider key for the CRM copilot + **Ask AI** (RAG). Choose **BYO** (your key) or **Managed** (Eden's pool, metered to credits). Semantic search needs an embeddings key — see `docs/AI_SEMANTIC_RAG.md`. Email sending uses your own SMTP (Admin → Email / SMTP).
- **Tax mode** (Admin → Tax Rates): leave **BD VAT** (default) for Bangladeshi entities. Switch an entity to the **international engine** only if it bills foreign customers; then set each customer's country/region/B2B/VAT-id tax profile on the same page.
- **Migration Studio / Export** (Admin): import from QuickBooks/Xero/Zoho/Tally/HubSpot/Salesforce with column mapping; export everything anytime (no lock-in).

---

## 6. First Month Live (Month 1)

### 6.1 Daily routine
1. **Cash Book / Bank Book entries** → enter as Receipts (in) or Petty Cash / Bills (out)
2. **Sales** → Invoices module → mark approved when sent → mark paid when payment arrives
3. **Purchases** → Bills module → approve → pay
4. **Stock-in from vendor** → Stock Movements (linked to PO or bill)
5. **Stock-out to customer** → Delivery Challan → invoice
6. **Production** → Manufacturing Order → consume RM → record output → close MO

### 6.2 Weekly routine
- Reconcile petty cash counter against Petty Cash module
- Run AR Aging — chase 30+ days
- Run AP Aging — confirm payment schedule for upcoming dues
- Check Notifications — LC expiries, low-stock, overdue invoices

### 6.3 Monthly routine (calendar end)
- Run all attendance for the month (manual or biometric CSV import)
- Approve all leave applications for the month
- Run Payroll → Calculate → Approve → Post to GL → Pay via BEFTN
- File Mushak 6.3 (VAT return) using Eden's VAT Register
- Bank Reconciliation → import bank CSV → match → flag mismatches
- **Loan EMI payments** → Loan Management → for each active loan, click each due-this-month installment → Pay. Auto-posts: `DR Loan Payable + DR Interest Expense / CR Cash`. *Skip this and your Loan Payable balance drifts away from what the bank says you owe.*
- **Fixed Asset Register → Run Depreciation** — accrues last month's depreciation across all active assets in one click (idempotent — won't double-post)
- Run **Financial Reports** for the month: Trial Balance, P&L, Balance Sheet, Cash Flow
- **Run the Audit Sanity Checklist** (§6.5) before locking the month
- Lock the closed month under **Closing & FY** to prevent backdated entries

### 6.4 Quarterly / Yearly

**Quarterly:**
- Review AR Aging — write off bad debts via formal JE: `DR Bad Debt Expense / CR Accounts Receivable`
- Run the **Audit Sanity Checklist** (see §6.5) before closing the quarter
- Reconcile Loan Register vs Loan Payable GL — should match to the rupee

**Annually (June 30 — fiscal year-end):**

- Run **Closing & FY → Year End**. This auto-posts the **closing entries** that move all P&L into Retained Earnings:

  ```text
  DR  4xxx All Income accounts             <YTD balance>
  CR  5xxx COGS                            <YTD balance>
  CR  6xxx All Expense accounts            <YTD balance>
  CR  3100 Retained Earnings               <net profit (or DR if loss)>
  ```

  **What this does:** zeros out every income/expense account so they start fresh on July 1. The cumulative effect of all P&L moves into Retained Earnings — your equity reflects accumulated profits-to-date.

- **If you skip this step**, your "Operating Expenses" line in next year's P&L will include this year's depreciation PLUS last year's PLUS the year before, etc. By Year 3 your Net Income looks like a catastrophic loss when actually you're profitable. Audit will fail.

- Print **Form 108** per employee (annual income tax, salary cert)
- **Payroll tax slab refresh** under **Tax Brackets** (NBR publishes new slabs each FY)
- Refresh depreciation policy if asset useful lives have changed
- Take a backup snapshot of the database (your accountant should request this)

### 6.5 Audit Sanity Checklist (the "is my system telling the truth?" test)

Run this **monthly** for the first 6 months, **quarterly** thereafter. Every line should match — if not, investigate before period-close.

| # | Check | Where to look |
|---|---|---|
| 1 | Trial Balance balances (DR = CR) | Financial Reports → Trial Balance |
| 2 | Balance Sheet equation (A = L + E) | Financial Reports → Balance Sheet — look for "Balanced ✓" indicator |
| 3 | Cash positive (or within OD limit) | TB account 1010 |
| 4 | AR balance = sum of approved-not-paid invoices | TB 1100 vs AR by Customer report |
| 5 | AP balance ≈ sum of approved-not-paid bills (allow for payroll deductions) | TB 2010 vs AP by Vendor report |
| 6 | Loan Payable GL = sum of Loan Register `outstandingPrincipal` | TB 2110 vs Loan Management page |
| 7 | Receipt count = Paid invoice count | Receipts page vs Invoices filtered by paid |
| 8 | Fixed Asset Register cost total = sum of PPE asset accounts (1610, 1620, 1630, …) | FA Register summary vs Balance Sheet PPE section |
| 9 | FA Register accumulated depreciation = Acc Depr account credit balance | FA Register summary vs TB account (1611 / 1690) |
| 10 | Sales Income ≈ sum of subtotals on approved/paid invoices for the period | Sales by Product CSV vs TB |
| 11 | VAT Payable ≈ 15% × Sales Income for the period | VAT Register vs TB 2032 |
| 12 | No gaps in document numbering (INV-, BILL-, PR-, MO-) | Each module's list view sorted by number |
| 13 | All accounts on normal balance side (no asset with credit balance, no liability with debit balance) | TB scan |

**The most common red flags:**

- **Negative cash** → missing capital injection JE, or unrecorded loan disbursement, or duplicate vendor payment posted by mistake
- **Loan GL drifting from register** → monthly EMI payments not being posted (use Loan Management → click installment → Pay)
- **Fewer receipts than paid invoices** → finance team marking invoices "paid" without recording the receipt — train them out of this habit
- **FA Register doesn't tie to GL** → "Run Depreciation" button not clicked at month-end, OR an asset was deleted from the register without offsetting JE
- **Balance Sheet won't balance** → contra-asset account misclassified, OR closing entries not posted at year-end

> **Senior accountant tip:** print this checklist and tape it to your monitor. Run it on the first business day of every new month. 10 minutes of checking saves a 10-day audit fire-drill at year-end.

---

## 7. Common Greenfield Pitfalls

| Pitfall | Symptom | Fix |
|---|---|---|
| Skipping the physical stock count | Inventory wildly wrong; COGS misstated | Stop. Count. Enter via opening movements. Re-run reports. |
| Loading employees without joining dates | Gratuity wrong; service-year reports wrong | Update each employee's joining date — recalc is automatic |
| Sharing one user login | Audit Log meaningless ("admin did everything") | Issue per-user logins immediately |
| Loading items without cost | Inventory value = 0; COGS = 0 | Enter `defaultUnitCost` on every item |
| Skipping the Fixed Asset Register at setup | Balance sheet under-states assets; depreciation expense never appears in P&L; auditor flags it | Enter every asset (even old ones) on Day 1 with real acquisition date, then click Run Depreciation |
| Wrong useful life on a fixed asset | Monthly depreciation is too low or too high | Edit the asset, fix the useful life, re-run Run Depreciation — engine recomputes from scratch the next month onward |
| Not setting BIN/TIN on entity branding | Mushak 6.3 prints empty | Admin → Company Branding before first invoice |
| Posting transactions with date earlier than Day 1 | Books include pre-migration noise | Closing & FY → lock all dates before Day 1 |
| Approving without reviewing | Invoice/bill posted with wrong amount | Set approval workflows; require manager sign-off above a threshold |
| Re-using customer names with typos | Same customer appears 3 times in AR Aging | Standardize customer master before loading; merge-tool is in Customers screen |
| Forgetting to set salary structure | Payroll calc fails for that employee | Every active employee must have a Salary Assignment |
| Mid-month payroll switch | Half-month split across two systems | Pay last full month in old system; first full month in Eden |
| No backup plan for Excel files | Lose source-of-truth before Eden ties out | Archive every Excel sheet to a frozen folder, named with cut-over date |

---

## 8. The "Trust Build" — First 90 Days

In the first three months, the goal is **proving the system tells the truth**.

| Week | Validation |
|---|---|
| 1-2 | Daily cash close: Eden's cash balance = physical cash count |
| 3-4 | First month-end: P&L reasonable, Balance Sheet balances |
| 5-8 | First Mushak 6.3 filed from Eden — accepted by NBR |
| 9-12 | First payroll fully through Eden — BEFTN file accepted by bank, employees confirm payslips |

After 90 days of clean closes, the team trusts the system. Excel becomes archive-only.

---

## 9. Recommended User Roles & Workflows

### 9.1 Suggested role split for a 20-50 person accessories manufacturer

| Role | Primary modules | Examples of who |
|---|---|---|
| **Owner / MD** | All — read; approve high-value | Owner / MD |
| **Finance Manager** | Accounting, Reports, Closing, Payroll posting | CA / accountant |
| **Sales Manager** | Customers, Invoices, Estimates, Receipts | Sales lead |
| **Procurement** | Vendors, Purchase Orders, Bills | Procurement officer |
| **Production Manager** | Manufacturing (BOM, MO, Job Cards), QC | Plant manager |
| **HR / Admin** | Employees, Payroll, Leave, Attendance | HR officer |
| **Floor Supervisor** | MO progress, Job Card time entry, Stock movement | Sewing/cutting supervisor |
| **Cashier / Accounts Clerk** | Petty Cash, Receipts, Bills entry, Bank Recon | Junior accountant |
| **Self-Service Employee** | Employee Portal only (My Profile / Payslips / Leaves / Attendance / PF) | All employees |

### 9.2 Suggested approval thresholds (configure under Approval Workflows)

| Action | Approver |
|---|---|
| Fixed asset acquisition > ৳1,00,000 | Owner |
| Fixed asset disposal | Owner (always) |
| Leave > 3 days | Department head |
| Leave > 7 days OR overlapping multiple people | HR + Department head |
| Bill payment > ৳50,000 | Finance Manager |
| Bill payment > ৳5,00,000 | Owner |
| Salary increment | Owner |
| Posting payroll to GL | Finance Manager → Owner (2-step) |
| LC opening | Finance Manager → Owner |
| Bad debt write-off | Owner |
| Backdated journal entry (closed period) | Owner only |

---

## 10. Migration Cheat Sheet (TL;DR)

```
WEEK -1
- Pick Day 1 (1st of next month or quarter)
- Reconcile all bank accounts
- Physical stock count
- List open AR, open AP per customer/vendor
- Save Tally/Excel "before" PDFs

WEEK 0 — DAY 1
- Create Entity (BIN, TIN, FY July, base currency BDT)
- Set Branding
- Set HR Policy (PF, Gratuity)

WEEK 0 — DAY 2-3
- Bulk-import Customers
- Bulk-import Vendors
- Bulk-import Items (with opening qty + cost)
- Bulk-import Employees
- Add Bank Accounts with opening balances

WEEK 0 — DAY 4
- Post one big Opening JE (Cash, Bank, current liabilities, Capital)
- Bill-wise enter every open AR invoice
- Bill-wise enter every open AP bill
- Post opening Stock Movements per warehouse × item
- Fixed Asset Register: enter every asset (real acquisition dates), then Run Depreciation
- Verify Trial Balance ties to your Excel summary

WEEK 0 — DAY 5-7
- Set up Warehouses, Work Centers, Routings, BOMs
- Set up open Letters of Credit
- Configure Shifts, Holidays, Leave Types
- Configure Approval Workflows
- Issue per-user logins

MONTH 1
- Daily transactions in Eden
- End of month: payroll, VAT return, bank rec, **Loan EMI payments**, **Run Depreciation**
- Run the Audit Sanity Checklist (§6.5) — every line should match
- Lock the month

MONTH 2-3
- Continue. Validate. Build trust.
- Quarterly: review aging, write off bad debts, re-run sanity checklist

MONTH 4+
- System of record. Archive the Excel.

JUNE 30 (every year)
- Closing & FY → Year End — auto-posts the closing entries
  (DR all Income / CR all COGS+Expenses / CR-or-DR Retained Earnings for net P&L)
- Print Form 108 per employee
- Refresh tax brackets if NBR published new slabs
- Database snapshot for the auditor
```

---

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