E
Tenant Back-Office
User Manual
Product: Eches POS v1
Audience: Tenant Administrators, Store Managers
Date: June 2026
Confidential — for authorised users only
to manage the catalog, inventory, purchasing, reports, settings, and staff for their outlet(s).
For day-to-day POS operation see the F&B POS Manual or Retail POS Manual.
Table of Contents
- Signing In to the Back-Office
- Dashboard — Business Overview
- Sales Analytics and Product Analytics
- Catalog — Items, Categories, Brands
- F&B Menus and Modifier Library
- Inventory
- Purchasing — Suppliers and Purchase Orders
- Purchase Bills and Goods Receipts
- Production Orders (Advanced Inventory)
- Sales Entry — Back-Office Manual Sales
- Reports
- End of Day
- Customers
- Accounting — Receivables and Payables
- Tables and Floor Layout (F&B)
- Settings
- Users and Roles
- Terminals
- Billing and Subscription
- Module Gating and Upgrades
1. Signing In to the Back-Office
- Go to
https://echespos.vercel.app/tenant.
- Sign in with your TenantAdmin credentials.
- You land on the Dashboard.
POS staff (cashiers, KOT) cannot reach /tenant — it is restricted to Manager, TenantAdmin, and GlobalAdmin.
Navigation groups
The left sidebar groups features by area:
| Group | What's inside |
| Catalog | Items, Categories, Brands, Menus, Modifiers, Variant groups |
| Purchasing 🔒 | Suppliers, Purchase Orders |
| Inventory 🔒 | Stock Levels, Transfers, Production |
| Sales | Dashboard, Sales Entry, Sales Analytics, Product Analytics |
| Accounting 🔒 | Receivables (A/R), Payables (A/P) |
| Reports | Z-Report, Sales, GST Return, Bag Levy, Shifts, Transactions, Kitchen Cancellations |
| Setup | Stores, Settings, Tax, Tables, Users, Terminals, Billing |
Locked groups (🔒) are modules your plan does not include — they are shown with a lock and their monthly price. Click them to see an activation screen.
2. Dashboard — Business Overview
The dashboard gives you a roll-up view of trading for one store or all stores over a selected date range.
Date range
Use the presets at the top: Today · Yesterday · Last 7 days · Last 30 days · This month, or set a custom From / To date. All figures update immediately.
KPI cards (top row)
| Card | What it means |
| Net sales | Revenue after returns and discounts |
| Gross profit | Net sales minus cost of goods sold (COGS) |
| Transactions | Number of completed sales |
| Avg ticket | Net sales ÷ transactions |
Each card shows a delta vs the equal-length prior period (e.g. "Last 7 days" compares against the 7 days before that).
Secondary strip
Gross sales, margin %, returns, discounts, and tax — all vs the prior period.
Charts and tiles
- Sales trend — net sales or transaction count, toggled, over the selected period.
- Top items — best-selling products by revenue.
- Tender mix — how customers paid (cash / card / transfer / credit / split).
- Open shifts — shifts that are still open (not yet closed). You must close these before running End of Day.
- Low-stock alerts (requires Inventory module) — items at or below their reorder point.
- A/R outstanding (requires Credit Sales module) — total unpaid credit balances.
3. Sales Analytics and Product Analytics
Sales Analytics (Sales → Sales Analytics)
A deeper drill into the same date range:
- KPI strip with vs-prior comparisons for net/gross sales, transactions, avg ticket, units sold, and items per transaction.
- This period vs previous period trend line.
- Busy-hours heatmap — weekday × hour grid; darker cells = higher volume. Use this to schedule staff.
- Category mix, order-type mix, tender mix — bar/pie charts.
- Top items and per-cashier performance tables (CSV export on each table).
Product Analytics (Sales → Product Analytics)
How individual products and categories perform:
- Product table — sorted by any column: units sold, net sales, gross profit, margin %, share. Click a column header to sort. Export to CSV.
- Category roll-up — total sales and margin per category.
- Brand roll-up — total sales and margin per brand.
- Slow movers — sellable items with zero sales in the period. Use this to decide what to discount or discontinue.
Profit and margin require item costs to be set. Items without a cost show "—".
4. Catalog — Items, Categories, Brands
4.1 Items (Catalog → Items)
The item list shows all products. Use the search box to filter by name, code, or category.
Creating an item
- Tap + New item.
- Fill in the name, code (SKU), category, and base price.
- Set capability flags:
- Sellable — appears on the POS.
- Purchasable — appears on purchase orders.
- Tracked in inventory — stock is managed.
- Has variants — (e.g. sizes / colours); enables the Variants tab.
- Has modifiers — (e.g. add-ons); enables the Modifiers tab.
- Is composite / recipe — built from components; enables the Recipe tab 🔒
advanced-inventory. - Serial tracked — each unit carries a unique serial number 🔒
advanced-inventory. - Requires preparation — routes to the kitchen (KDS) when sold. Enter the prep station name.
- Choose the tax category (Standard / Zero-rated / Exempt / Non-taxable).
- Tap Save.
Editing an item
Click the item row. Use the tabs to edit different aspects:
| Tab | What you can set |
| Details | Name, code, category, brand, base price, cost, tax class, capability flags |
| Variants | Define size/colour/flavour axes; each variant can have its own barcode and price delta |
| Units | Multiple selling units (e.g. Bag / Box / Case with conversions and individual prices) |
| Modifiers | Link shared modifier groups (add-ons) to this item |
| Recipe | Bill of materials — component items and quantities 🔒advanced-inventory |
| Images | Up to 4 images (first = cover image); 1 image per variant |
86 / out-of-stock
Items with zero (or negative) on-hand that have inventory tracking enabled appear as "86'd" on the POS automatically. Manually disable an item by setting it as not sellable.
Bulk price change
To update many prices at once: tick the items (or filter by category), tap Bulk price change, choose Percent / Amount / Set to, enter the value, and confirm.
4.2 Categories (Catalog → Categories)
Categories organise your menu. They can be nested (parent → sub-category).
- Create — tap + New category, enter a name, and optionally choose a parent.
- Edit — click the category to rename or re-parent it.
- Delete — only allowed when no items are linked to that category.
4.3 Brands (Catalog → Brands)
Brands represent manufacturers or labels. Used primarily in product analytics.
- Create, edit, or delete brands from this screen.
- Deleting a brand that has items removes the brand reference from those items (it does not delete the items).
5. F&B Menus and Modifier Library
Menu management is available with the 🔒fnb module.
5.1 Menus (Catalog → Menus)
Menus group items for the F&B POS. A menu contains sections, and each section contains items.
Creating a menu
- Tap + New menu, enter a name (e.g. "Breakfast").
- Set availability: Always or Scheduled (pick weekdays + a start and end time).
- Save. The menu now appears in the Menus list.
Adding sections and items
- Click the menu to open the builder.
- Tap Add section — choose an existing shared section or create a new one.
- Sections can be reordered (move up / move down arrows).
- Each section card has three icons:
- Eye — toggle the section visible/hidden on the live POS (without deleting it).
- Pencil — edit the section name, availability schedule, or active days/times.
- Grid (preview) — open the item picker to add/remove/reorder items within the section.
Section scheduling
A section can be Always shown, or Scheduled to specific weekdays and a time window (e.g. Breakfast section 08:00–11:00 Mon–Fri). The POS automatically hides sections outside their window. The builder shows a clock badge and the window summary.
5.2 Modifier Library (Catalog → Modifiers)
Modifier groups (e.g. "Add-ons", "Sauce") are shared across items.
- Tap + New modifier group.
- Set a name, minimum and maximum selection, and whether it is required.
- Add options with names and price deltas (e.g. "Extra shot +MVR 10").
- Go to each item that needs this group and link it on the item's Modifiers tab.
5.3 Variant Groups (Catalog → Variant groups)
Shared variant groups (e.g. "Cup or Cone", "Hot or Iced") work like modifiers but represent mutually exclusive choices — exactly one option is picked per group.
6. Inventory
Inventory features require the 🔒basic-inventory module.
6.1 Stock Levels (Inventory → Stock)
The stock levels table shows every tracked item's on-hand quantity and reorder point.
- Use the store selector to filter by store or warehouse.
- Items below their reorder point appear in the Low stock tab.
Adjusting stock (breakage, found stock, corrections)
- Click the item row → Adjust.
- Enter a signed delta (positive to add, negative to remove).
- Choose a reason (Receive / Damage / Loss / Correction / Transfer / Count / Return / Sale).
- Set an effective date (can be backdated).
- Save.
Receiving stock without a PO
- Click Receive stock → Standalone receive.
- Add lines: item, quantity, unit, unit cost.
- Set the received date and save. Stock is added and the moving-average cost is updated.
Stock count (stocktake)
- Click Stock count → New count.
- Choose Full store or Cycle count (by category).
- For each line, enter the counted quantity. The variance (counted − expected) is shown.
- Set the effective date and Submit. The on-hand is overwritten to the counted figure as at that date.
6.2 Stock Transfers (Inventory → Transfers)
Move stock from one store or warehouse to another.
- Tap + New transfer.
- Select source store/warehouse and destination store/warehouse.
- Add lines: choose the item (source on-hand shown), quantity, and unit.
- Add an optional note.
- Tap Submit. Stock is deducted from source and added to destination as at the current time. You can set a back-date if needed.
Transfer history with a per-transfer line drill-down is shown below the form.
7. Purchasing — Suppliers and Purchase Orders
Purchasing features require the 🔒purchasing module.
7.1 Suppliers (Purchasing → Suppliers)
Creating a supplier
- Tap + New supplier.
- Fill in: company/legal name, contact person, phone, email, address.
- Optional: payment terms (e.g. 30 days net), business registration number.
- If the supplier is GST-registered, tick that checkbox and enter their TIN. This determines whether input tax on their bills is claimable on your GST return.
- Save.
Edit a supplier at any time by clicking their row.
7.2 Purchase Orders (Purchasing → Orders)
Creating a PO
- Tap + New PO.
- Select the supplier.
- Add lines: item, quantity, unit (the unit-per-item picker changes the price automatically if multiple units are configured), and unit cost.
- Save as Draft to review later, or change status to Sent when the PO is dispatched to the supplier.
Receiving against a PO (partial or full)
- Open the PO.
- Tap Receive.
- For each line, enter the quantity actually received (may be less than ordered for a partial delivery).
- Set the received date.
- Confirm. Stock is added and a purchase bill is auto-created for the received lines.
A PO can be received multiple times (partial receipts) until all lines are fulfilled.
8. Purchase Bills and Goods Receipts
Bills record goods received and create an accounts payable entry.
Creating a bill (standalone, without a PO)
- Go to Purchasing → Bills → + New bill.
- Choose: Goods receipt (supplier optional, no invoice yet) or Invoiced bill (supplier required, enter their invoice number).
- Add lines: item, quantity, unit cost.
- Enter the bill date (supplier's invoice date) and received date.
- Choose tax mode: line-level (tax per line) or bill-level (one tax amount on the whole bill).
- Save.
Landed costing 🔒basic-accounting
To allocate freight or handling fees into item cost:
- On the bill, tap Add fee (Freight / Insurance / Handling / Other).
- Enter the fee amount and choose the allocation basis:
- By cost — proportional to each line's cost.
- By quantity — proportional to each line's quantity.
- By weight — proportional to each item's weight (you'll be prompted to set weights for items that are missing one).
- Equally — split evenly across all lines.
- The allocated cost is capitalised into item cost (increases the unit cost) when the bill is saved.
Recording supplier payments
- Open the bill.
- Tap Record payment.
- Enter the amount paid and the payment date.
- The bill status moves from Unpaid → Partial → Paid as payments are recorded.
9. Production Orders (Advanced Inventory)
Requires the 🔒advanced-inventory module. Items must have a recipe (BOM) configured.
A production order builds finished goods from their components. Use this for "build-to-stock" items — things you make in advance and then sell from stock.
- Go to Inventory → Production → + New build.
- Select the finished item (must have a recipe set to "build to stock").
- Enter the quantity to build and the build date.
- The component list shows what will be consumed (quantities auto-calculated from the recipe).
- Tap Build. Components are deducted from stock; the finished good is added at its rolled-up recipe cost.
Build history with per-build component breakdown is shown below.
10. Sales Entry — Back-Office Manual Sales
Use Sales Entry to record sales that were not rung up through the POS (e.g. phone orders, legacy data entry).
- Go to Sales → Sales entry.
- Add items (same item grid as the POS).
- Optionally assign a customer.
- Choose the channel (DineIn, Takeaway, Delivery, InStore, Online, Pickup).
- Apply discounts if needed.
- Choose the tender (cash, card, transfer, credit).
- Set the sale date. You can backdate sales, but:
- A backdated sale is rejected if it falls on or before a closed business day (End of Day lock).
- Backdated sales deduct stock as at that day (the inventory self-heals automatically).
- Tap Save.
Each line records a COGS snapshot at the time of entry — profit reports will be accurate even if costs change later.
11. Reports
Go to Reports in the left sidebar. Use the tabs to switch between report types. All reports have a date range picker and most offer CSV export.
Z-Report
Daily trading summary for a selected store and date:
- Gross sales, returns, discounts, tax, net sales, transaction count, avg ticket.
- Payment breakdown by tender type (amounts and counts).
- Useful for the daily close and reconciliation.
Sales Report
Group sales by: Item / Category / Period / Employee / Payment type.
- Qty and net sales per group.
- Export to CSV for spreadsheet analysis.
GST Return (MIRA)
Combined output/input tax summary for a filing period (date range):
| Section | What's included |
| Output | Tax on your sales — standard rated, zero-rated, and exempt |
| Input (claimable) | Tax on bills from GST-registered suppliers |
| Input (non-claimable) | Tax on bills from non-registered suppliers |
| Net payable | Output − claimable input |
Important: Figures are the actual GST as recorded on each sale and bill — never recalculated. What was charged is what's reported.
Each section exports to CSV separately.
Bag Levy Report
Statutory plastic bag levy (MIRA compliance):
- Total bags sold, bags charged, bags exempt, total fee in MVR.
- Used for the quarterly MIRA levy filing.
Shift History
All closed shifts for a store and date range:
- Cashier, terminal, opened/closed time, float, cash sales, expected, counted, variance.
- Click a shift to see: cash movements, denomination breakdown, and sales-by-tender.
Transaction History
All sales, returns, voids, and comps for a date range:
- Lookup by bill number or scroll through the list.
- Actions per bill: Reprint receipt, Void bill, Void & recreate.
- Voided bills are listed (for audit) and clearly marked.
Kitchen Cancellations (F&B)
Items removed from fired orders during an edit:
- Bill number, item name, qty, prep status at cancellation, reason, who cancelled it, timestamp.
- Date-range filter; CSV export.
- Useful for investigating waste, portion theft, or training issues.
12. End of Day
End of Day (EOD) closes a business date and produces the final Z-style report.
- Go to Reports → End of day (or Setup → End of day).
- Select the store and business date to close.
- The preview shows:
- Sales snapshot (gross, net, returns, discounts, tax, transactions).
- Cash reconciliation (opening float, cash sales, pay-ins/outs, expected, counted, variance).
- Per-tender breakdown.
- Open shifts warning — you cannot close the day while any shift is still open. Go to the POS and close each open shift first.
- When everything looks correct, tap Close day.
After closing
- Tap Detailed report to open the full printable EOD report — includes sales by category, top items, by cashier, hourly breakdown, tax by class, and service charge.
- The day close is visible in the EOD history.
Close policies (configured in Settings)
| Policy | Behaviour |
| Reconcile | The close can be re-done (useful if there was an error). |
| Lock | Immutable — the close can't be undone. |
| Lock strict | Immutable and any further sales or refunds backdated to that closed day are blocked at the server. |
13. Customers
Go to Sales → Customers (or search from the POS customer list).
Customer list
Search by phone, name, email, or loyalty card code. The list shows each customer's credit status and balance.
Creating a customer
- Tap + New customer.
- Phone is required and unique — it is the customer's identity across all stores in your outlet.
- Fill in: name, email, card code (optional barcode for quick lookup), loyalty card code.
- Tap Save.
Editing a customer
Click any customer to edit their profile:
| Section | Fields |
| Profile | Name, email, alt phone, address, city, country, notes |
| Business | Company/legal name, business reg. no., contact person |
| GST | GST-registered flag, TIN (required for tax invoices to B2B customers) |
| Credit | Enable/disable credit, set credit limit |
| Loyalty | View and adjust loyalty points balance |
Loyalty points
If loyalty is enabled in your store settings, customers earn points on every sale. The balance is shown on their profile. You can manually adjust the balance from the customer edit screen (e.g. to migrate a balance from a legacy system).
14. Accounting — Receivables and Payables
Requires the 🔒basic-accounting module.
Accounts Receivable (Accounting → Receivables)
Shows all customers with outstanding credit balances.
- Outstanding overview — total A/R balance across customers.
- Click a customer to see their open invoices.
- Tap Collect payment to record a payment:
1. Enter the amount. 2. Payments are allocated oldest-first (FIFO) by default. Toggle to manual to allocate across specific invoices. 3. Choose tender (cash, card, transfer). 4. Save.
Accounts Payable (Accounting → Payables)
Shows all outstanding bills to suppliers.
- Overview of total unpaid and partially paid bills.
- Click a supplier to see their open bills.
- Tap Record payment to settle a bill (one payment can cover multiple bills).
- Bill status: Unpaid → Partial → Paid.
15. Tables and Floor Layout (F&B)
Requires the 🔒fnb module.
Managing tables (Setup → Tables)
- Tap + New table.
- Set: table number/name, area (e.g. "Ground floor"), seat count, and shape (square/round/rectangle).
- Save. The table is now available in the POS table picker.
Tick Active / Inactive to show or hide a table without deleting it.
Floor layout editor
- On the Tables screen, tap Floor layout.
- Tap Upload background to set a floor plan image.
- Drag table icons to their physical positions on the plan. Positions save automatically.
- Tap a table icon to edit its properties.
The floor view is available to cashiers in the POS table picker.
16. Settings
Go to Setup → Settings.
Store settings
| Setting | Notes |
| Store name and address | Appears on receipts |
| System currency | MVR by default. Locked after the first transaction |
| Home currency | Optional secondary currency with exchange rate (for dual-currency sales, e.g. USD resorts) |
| Tax code | GST / TGST / No tax. Null = no tax charged |
| GST registered | When unticked, zero output GST is charged on all sales regardless of the tax code. Recommended for businesses not yet registered. |
| Receipt header/footer | Custom text on printed receipts |
| Receipt logo | Upload your logo for receipts |
| Receipt show customer | Show the customer name block on ordinary receipts (not just tax invoices) |
Service charge (F&B)
| Setting | Notes |
| Service charge enabled | Adds a service charge automatically on Dine-in orders |
| Service charge rate | e.g. 0.10 = 10%. Applied on the discounted subtotal |
Kitchen (F&B)
| Setting | Notes |
| Auto-fire on payment | When ON (default): if a cashier charges a bill without firing first, kitchen items fire automatically on payment. Turn OFF only if cashiers always fire before charging. |
Loyalty
| Setting | Notes |
| Loyalty enabled | Must be on for points to accrue on sales at this store |
| Earn rate | Points earned per MVR of bill total. e.g. 0.01 = 1 point per MVR 100 |
End of Day policy
Choose Reconcile / Lock / Lock strict (see §12 for the difference).
Tax catalog (Setup → Tax)
- View the system tax codes (GST 8% / TGST 16% / No-tax) with their date-effective rates.
- Tax categories: Standard, Zero-rated, Exempt, Non-taxable. Each item is assigned a category.
- Rates are date-effective — a rate entered as effective from a past date will be used for historical reports.
Stores and warehouses (Setup → Stores)
- Create store — enter name, phone, address, and type (Store or Warehouse). Stores have a POS; warehouses are inventory locations only.
- Edit or deactivate stores from this screen.
- Deleting a store is blocked if it has transactions.
17. Users and Roles
Go to Setup → Users.
Roles
| Role | Access |
| Cashier | POS only — sell, hold/recall, customer lookup |
| KOT | Kitchen Display only — view tickets, mark items ready |
| Manager | POS + approve restricted actions (discount, void, refund) |
| TenantAdmin | Full access — all POS + entire back-office |
Creating a user
- Tap + New user.
- Enter their name, email, and password (they can change it after first login).
- Assign a role.
- Save. The user can now sign in to the POS or back-office (depending on role).
PINs
Staff who use the POS identify themselves at the till using a 5-digit PIN (separate from their password). Set or reset the PIN on the user's edit screen.
Manager PIN for overrides
When a cashier tries a restricted action (discount, refund, void), a PIN prompt appears. A manager enters their PIN to approve it for that single action.
18. Terminals
Go to Setup → Terminals.
A terminal is a licensed POS device (till). Your plan includes a fixed number of terminals — the counter at the top of the screen shows used / licensed.
Registering a terminal
- Tap + New terminal.
- Enter a name (e.g. "Till 1"), code, and the store it belongs to.
- Save. The terminal is now available in shift and reporting data.
Note: Deactivating a terminal keeps the seat (still counts against your limit). Delete it to free the seat.
Every new store automatically gets one "Till 1" terminal (unless you're at your licensed cap).
19. Billing and Subscription
Go to Setup → Billing.
This screen shows your current plan and subscription status:
- Monthly breakdown — which modules are enabled, how many stores, how many terminals.
- Outstanding balance — any unpaid invoices.
- Invoice history — all past invoices with status (open / paid).
- Due dates — when the next payment is due.
If your account is suspended (overdue past the grace period), sales on the POS will be blocked. Pay the outstanding balance to reactivate automatically. Contact the platform administrator if you need to adjust your plan.
20. Module Gating and Upgrades
Features your plan doesn't include are shown in the sidebar with a lock icon and their monthly price. Click any locked item to see an activation screen:
"Activate Inventory — from MVR 250/mo. Track stock levels, receive goods, and run stocktakes."
To activate a module, contact your platform administrator (GlobalAdmin). They will enable it from the platform admin portal, and it will appear in your back-office on your next login.
Last updated: June 2026 — Eches POS v1