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

  1. Signing In to the Back-Office
  2. Dashboard — Business Overview
  3. Sales Analytics and Product Analytics
  4. Catalog — Items, Categories, Brands
  5. F&B Menus and Modifier Library
  6. Inventory
  7. Purchasing — Suppliers and Purchase Orders
  8. Purchase Bills and Goods Receipts
  9. Production Orders (Advanced Inventory)
  10. Sales Entry — Back-Office Manual Sales
  11. Reports
  12. End of Day
  13. Customers
  14. Accounting — Receivables and Payables
  15. Tables and Floor Layout (F&B)
  16. Settings
  17. Users and Roles
  18. Terminals
  19. Billing and Subscription
  20. Module Gating and Upgrades

1. Signing In to the Back-Office

  1. Go to https://echespos.vercel.app/tenant.
  2. Sign in with your TenantAdmin credentials.
  3. 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:

GroupWhat's inside
CatalogItems, Categories, Brands, Menus, Modifiers, Variant groups
Purchasing 🔒Suppliers, Purchase Orders
Inventory 🔒Stock Levels, Transfers, Production
SalesDashboard, Sales Entry, Sales Analytics, Product Analytics
Accounting 🔒Receivables (A/R), Payables (A/P)
ReportsZ-Report, Sales, GST Return, Bag Levy, Shifts, Transactions, Kitchen Cancellations
SetupStores, 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)

CardWhat it means
Net salesRevenue after returns and discounts
Gross profitNet sales minus cost of goods sold (COGS)
TransactionsNumber of completed sales
Avg ticketNet 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


3. Sales Analytics and Product Analytics

Sales Analytics (Sales → Sales Analytics)

A deeper drill into the same date range:

Product Analytics (Sales → Product Analytics)

How individual products and categories perform:

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

  1. Tap + New item.
  2. Fill in the name, code (SKU), category, and base price.
  3. Set capability flags:
  1. Choose the tax category (Standard / Zero-rated / Exempt / Non-taxable).
  2. Tap Save.

Editing an item

Click the item row. Use the tabs to edit different aspects:

TabWhat you can set
DetailsName, code, category, brand, base price, cost, tax class, capability flags
VariantsDefine size/colour/flavour axes; each variant can have its own barcode and price delta
UnitsMultiple selling units (e.g. Bag / Box / Case with conversions and individual prices)
ModifiersLink shared modifier groups (add-ons) to this item
RecipeBill of materials — component items and quantities 🔒advanced-inventory
ImagesUp 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).


4.3 Brands (Catalog → Brands)

Brands represent manufacturers or labels. Used primarily in product analytics.


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

  1. Tap + New menu, enter a name (e.g. "Breakfast").
  2. Set availability: Always or Scheduled (pick weekdays + a start and end time).
  3. Save. The menu now appears in the Menus list.

Adding sections and items

  1. Click the menu to open the builder.
  2. Tap Add section — choose an existing shared section or create a new one.
  3. Sections can be reordered (move up / move down arrows).
  4. Each section card has three icons:

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.

  1. Tap + New modifier group.
  2. Set a name, minimum and maximum selection, and whether it is required.
  3. Add options with names and price deltas (e.g. "Extra shot +MVR 10").
  4. 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.

Adjusting stock (breakage, found stock, corrections)

  1. Click the item row → Adjust.
  2. Enter a signed delta (positive to add, negative to remove).
  3. Choose a reason (Receive / Damage / Loss / Correction / Transfer / Count / Return / Sale).
  4. Set an effective date (can be backdated).
  5. Save.

Receiving stock without a PO

  1. Click Receive stockStandalone receive.
  2. Add lines: item, quantity, unit, unit cost.
  3. Set the received date and save. Stock is added and the moving-average cost is updated.

Stock count (stocktake)

  1. Click Stock countNew count.
  2. Choose Full store or Cycle count (by category).
  3. For each line, enter the counted quantity. The variance (counted − expected) is shown.
  4. 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.

  1. Tap + New transfer.
  2. Select source store/warehouse and destination store/warehouse.
  3. Add lines: choose the item (source on-hand shown), quantity, and unit.
  4. Add an optional note.
  5. 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

  1. Tap + New supplier.
  2. Fill in: company/legal name, contact person, phone, email, address.
  3. Optional: payment terms (e.g. 30 days net), business registration number.
  4. 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.
  5. Save.

Edit a supplier at any time by clicking their row.


7.2 Purchase Orders (Purchasing → Orders)

Creating a PO

  1. Tap + New PO.
  2. Select the supplier.
  3. Add lines: item, quantity, unit (the unit-per-item picker changes the price automatically if multiple units are configured), and unit cost.
  4. 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)

  1. Open the PO.
  2. Tap Receive.
  3. For each line, enter the quantity actually received (may be less than ordered for a partial delivery).
  4. Set the received date.
  5. 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)

  1. Go to Purchasing → Bills+ New bill.
  2. Choose: Goods receipt (supplier optional, no invoice yet) or Invoiced bill (supplier required, enter their invoice number).
  3. Add lines: item, quantity, unit cost.
  4. Enter the bill date (supplier's invoice date) and received date.
  5. Choose tax mode: line-level (tax per line) or bill-level (one tax amount on the whole bill).
  6. Save.

Landed costing 🔒basic-accounting

To allocate freight or handling fees into item cost:

  1. On the bill, tap Add fee (Freight / Insurance / Handling / Other).
  2. Enter the fee amount and choose the allocation basis:
  1. The allocated cost is capitalised into item cost (increases the unit cost) when the bill is saved.

Recording supplier payments

  1. Open the bill.
  2. Tap Record payment.
  3. Enter the amount paid and the payment date.
  4. 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.

  1. Go to Inventory → Production+ New build.
  2. Select the finished item (must have a recipe set to "build to stock").
  3. Enter the quantity to build and the build date.
  4. The component list shows what will be consumed (quantities auto-calculated from the recipe).
  5. 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).

  1. Go to Sales → Sales entry.
  2. Add items (same item grid as the POS).
  3. Optionally assign a customer.
  4. Choose the channel (DineIn, Takeaway, Delivery, InStore, Online, Pickup).
  5. Apply discounts if needed.
  6. Choose the tender (cash, card, transfer, credit).
  7. Set the sale date. You can backdate sales, but:
  1. 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:

Sales Report

Group sales by: Item / Category / Period / Employee / Payment type.

GST Return (MIRA)

Combined output/input tax summary for a filing period (date range):

SectionWhat's included
OutputTax 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 payableOutput − 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):

Shift History

All closed shifts for a store and date range:

Transaction History

All sales, returns, voids, and comps for a date range:

Kitchen Cancellations (F&B)

Items removed from fired orders during an edit:


12. End of Day

End of Day (EOD) closes a business date and produces the final Z-style report.

  1. Go to Reports → End of day (or Setup → End of day).
  2. Select the store and business date to close.
  3. The preview shows:
  1. When everything looks correct, tap Close day.

After closing

Close policies (configured in Settings)

PolicyBehaviour
ReconcileThe close can be re-done (useful if there was an error).
LockImmutable — the close can't be undone.
Lock strictImmutable 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

  1. Tap + New customer.
  2. Phone is required and unique — it is the customer's identity across all stores in your outlet.
  3. Fill in: name, email, card code (optional barcode for quick lookup), loyalty card code.
  4. Tap Save.

Editing a customer

Click any customer to edit their profile:

SectionFields
ProfileName, email, alt phone, address, city, country, notes
BusinessCompany/legal name, business reg. no., contact person
GSTGST-registered flag, TIN (required for tax invoices to B2B customers)
CreditEnable/disable credit, set credit limit
LoyaltyView 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.

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.


15. Tables and Floor Layout (F&B)

Requires the 🔒fnb module.

Managing tables (Setup → Tables)

  1. Tap + New table.
  2. Set: table number/name, area (e.g. "Ground floor"), seat count, and shape (square/round/rectangle).
  3. 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

  1. On the Tables screen, tap Floor layout.
  2. Tap Upload background to set a floor plan image.
  3. Drag table icons to their physical positions on the plan. Positions save automatically.
  4. 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

SettingNotes
Store name and addressAppears on receipts
System currencyMVR by default. Locked after the first transaction
Home currencyOptional secondary currency with exchange rate (for dual-currency sales, e.g. USD resorts)
Tax codeGST / TGST / No tax. Null = no tax charged
GST registeredWhen unticked, zero output GST is charged on all sales regardless of the tax code. Recommended for businesses not yet registered.
Receipt header/footerCustom text on printed receipts
Receipt logoUpload your logo for receipts
Receipt show customerShow the customer name block on ordinary receipts (not just tax invoices)

Service charge (F&B)

SettingNotes
Service charge enabledAdds a service charge automatically on Dine-in orders
Service charge ratee.g. 0.10 = 10%. Applied on the discounted subtotal

Kitchen (F&B)

SettingNotes
Auto-fire on paymentWhen 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

SettingNotes
Loyalty enabledMust be on for points to accrue on sales at this store
Earn ratePoints 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)


Stores and warehouses (Setup → Stores)


17. Users and Roles

Go to Setup → Users.

Roles

RoleAccess
CashierPOS only — sell, hold/recall, customer lookup
KOTKitchen Display only — view tickets, mark items ready
ManagerPOS + approve restricted actions (discount, void, refund)
TenantAdminFull access — all POS + entire back-office

Creating a user

  1. Tap + New user.
  2. Enter their name, email, and password (they can change it after first login).
  3. Assign a role.
  4. 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

  1. Tap + New terminal.
  2. Enter a name (e.g. "Till 1"), code, and the store it belongs to.
  3. 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:

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