The Merqio POS Getting Started Guide
Everything from creating your account to running payroll — start to finish, one section per feature. Use the contents on the left (or the dropdown below on mobile) to jump straight to what you need.
1. Introduction
Merqio POS is a complete business management platform built specifically for Kenyan small and medium enterprises. It brings together everything you need to run your business into a single, easy-to-use system:
- Point of Sale — fast, touch-friendly POS with barcode scanning and thermal receipt printing
- Inventory — real-time stock tracking with low-stock alerts
- Invoicing — professional PDF invoices with M-Pesa and card payment collection
- Customers — loyalty points, credit accounts, purchase history
- Payroll — PAYE, NSSF, and SHIF calculations with P9 forms for KRA
- M-Pesa — receive payments directly into your own business M-Pesa account (not through us)
- Multi-store — manage multiple branches from one account
Everything is cloud-based — no installation required. Access it from any browser on your phone, tablet, or computer.
2. Getting Started
2.1 Creating Your Account
- Go to smemanagers.com and click Get Started or Register
- Fill in your full name, email address, a password (minimum 8 characters), and your business/organization name
- Click Create Account
- You'll be logged in immediately and placed on a 14-day free trial with Growth-level access
2.2 Choosing a Subscription Plan
After your trial, go to Settings → Subscription to pick a plan.
| Plan | Monthly Price | Best For |
|---|---|---|
| Solo | KSh 999 | Single shop, up to 3 staff |
| Growth | KSh 5,999 | Up to 3 branches, 15 staff, full payroll |
| Scale | KSh 12,999 | Up to 10 branches, unlimited staff, API access |
| Enterprise | KSh 24,999 | Unlimited branches and staff |
To subscribe:
- Go to Settings → Subscription
- Click Pay with Card / Paystack on your chosen plan — you'll be redirected to a secure Paystack page to pay by Visa, Mastercard, or M-Pesa
- Or click Pay via M-Pesa to receive an STK Push prompt on your phone
- Once payment is confirmed, your plan activates immediately
Subscriptions last 30 days from the payment date and renew manually — you'll get a reminder email 3 days before expiry.
2.3 Setting Up Your Business Profile
Complete your business profile so receipts, invoices, and reports are accurate.
- Go to Settings → Business Profile
- Fill in business name, phone, email, physical address, logo (PNG/JPG, ~400×400px, max 2MB), and currency (defaults to KSh)
- Click Save Business Profile
VAT Registration (if applicable)
- Go to Settings → VAT Settings
- Toggle VAT Registered on
- Enter your KRA PIN and VAT registration number
- Set your VAT rate (standard is 16%)
- Save — future sales and invoices calculate and display VAT automatically
3. Dashboard
The Dashboard is your business at a glance:
| Card | What it shows |
|---|---|
| Today's Revenue | Total sales value for today |
| Today's Sales | Number of transactions today |
| Monthly Revenue | Sales for the current calendar month |
| Stock Alerts | Products at or below reorder level |
| Recent Sales | Last 10 sales with status badges |
| Revenue Chart | 30-day sales trend |
| Top Products | Best-selling products this month |
| Expense Summary | Expenses posted this month |
The dashboard reflects the currently active store. Managing multiple branches? Use the store switcher in the sidebar to switch.
4. Inventory Management
4.1 Adding Products
Go to Inventory → Products → Add Product.
| Field | Description |
|---|---|
| Product Name | Required — the display name used everywhere |
| SKU | Leave blank to auto-generate |
| Barcode | EAN-13, UPC, or Code 128 — scan directly into this field |
| Category / Sub-category | Group products for filtering and reports (one level of sub-categories supported) |
| Brand | Optional |
| Selling Price | The price charged to customers |
| Buying / Cost Price | Used for profit calculations — not shown to customers |
| VAT Rate | Blank uses your business default; set to 0 for VAT-exempt items |
| Stock Quantity | Opening stock on hand |
| Reorder Level | You're alerted when stock falls to this number |
| Sell Unit / Buy Unit | e.g. sell by "piece" but buy by the "carton" — set how many sell-units are in one buy-unit; stock is always tracked in the sell unit |
| Image / Gallery | Shown in the POS grid and the online store |
| Featured / Hide in POS / Hide in Shop | Visibility toggles |
Click Save Product. It appears immediately in your POS and inventory list.
4.2 Product Variants
Use variants when a product comes in different sizes, colours, or configurations — each variant can have its own price and stock level.
- Open the product → scroll to Variants
- Click Add Variant, enter a name (e.g. "500ml", "Red / Size L"), price, and stock
- Repeat for each variant
At the POS, tapping a product with variants prompts the cashier to pick one before it's added to the cart.
4.3 Product Bundles
Bundles let you sell a group of products together at a combined price.
- Go to Inventory → Bundles → Create Bundle
- Name it (e.g. "School Pack"), set the bundle price
- Add component products and their quantities, then save
Selling a bundle automatically deducts stock from each component product; the receipt shows the bundle name and price.
4.4 Categories
- Go to Inventory → Categories
- Click Add Category, name it (e.g. "Beverages")
- Optionally nest it under a parent category (one level of sub-categories)
Products without a category are listed under "Uncategorised".
4.5 Barcode Scanning
Two input modes are supported:
USB or Bluetooth Scanner (recommended) — scanners behave like a keyboard: scanning types the code into the active field, so in the POS the product is found and added instantly. Not found? An error is shown and you can add it manually.
Camera (Chrome/Edge only) — click the camera icon and point your device camera at the barcode; it's read automatically via the browser's BarcodeDetector API. Not supported in Safari or Firefox.
4.6 Bulk Import
- Go to Inventory → Import, download the template (CSV or Excel)
- Fill it in — required columns are
nameandprice; optional columns includesku,barcode,cost_price,stock_qty,reorder_level,category,unit - Upload and click Import — it runs in the background; refresh after a few seconds to see results
Rows with errors are skipped and listed so you can fix and re-upload them. For 1,000+ products, split into batches of 500 rows.
4.7 Stock Adjustments
Use these for stock changes that aren't from a sale or purchase: Addition (found/returned stock), Write-off (damaged/expired/lost), Damage, Correction (fixing a count error), or Return In. Go to Inventory → Stock Adjustments → New Adjustment, pick the product, type, quantity, and a note explaining why. Every adjustment records before/after quantities and who made it — visible in the Audit Log.
4.8 Low Stock Alerts
An email alert is sent daily at 4:00 AM Nairobi time listing every product at or below its reorder level. Update the Reorder Level field on a product to change its threshold.
5. Point of Sale (POS)
5.1 Making a Sale
- Open New Sale from the home screen or sidebar
- Add products (see 5.2) — the left side is the product strip and cart, the right side is checkout
- Optionally pick a customer (needed for loyalty points and credit sales)
- Apply discounts if needed (5.3)
- Choose the payment method, enter the amount received
- Click Record Sale
The sale is recorded, stock is deducted, a receipt is shown/printed, and the till resets for the next transaction.
5.2 Searching and Scanning Products
Tap a product card to add it (variants prompt a picker first); type in the search box for live filtering by name or SKU (arrow keys + Enter to pick from the dropdown); or scan a barcode — scanning the same code again just bumps the quantity. Click Connect Printer to pair a USB thermal printer (Chrome/Edge, Web Serial API) so receipts print automatically.
5.3 Applying Discounts
Order-level: enter a percentage or flat amount in the cart's Discount field. Coupon code: click Apply and enter the code — it's shown separately in the order summary.
5.4 Loyalty Points
If your business has an active loyalty program: select a registered customer to see their points balance and KSh value, earn points automatically once the sale is paid, or redeem points to knock money off the total before payment. Walk-in customers neither earn nor redeem points.
5.5 Payment Methods
| Method | Description |
|---|---|
| Cash | Enter amount received; change due is shown |
| M-Pesa (STK Push) | Customer gets a prompt on their phone; the sale auto-completes on confirmation |
| Bank Transfer | Enter the bank reference number |
| Credit (Pay Later) | Recorded as unpaid, added to the customer's outstanding balance |
Partial payments: enter less than the full amount — the sale is saved as partial and the balance is tracked. Record the rest later from the sale's detail page.
5.6 Printing Receipts
Connect a thermal printer (any ESC/POS printer — Epson TM series, Xprinter, etc.) via the POS's Connect Printer button; receipts print automatically after each sale. Or open a sale and use Print Receipt (A4) / Download PDF Invoice / Send Receipt by email.
6. Sales Management
6.1 Viewing Sales History
Go to Sales to see every past transaction — filterable by date range, payment status, sale status, customer, payment method, or cashier. Click any sale for the full detail: items, payment history, VAT breakdown, and available actions.
6.2 Recording a Payment on a Sale
For a sale with a balance due, open it, click Record Payment, choose the method and amount, and confirm. The balance decreases and the sale is marked paid once it's fully settled.
6.3 M-Pesa STK Push Payment
On the payment page, enter the customer's phone, adjust the amount if it's a partial payment, and click Send STK Push. Their phone rings with a payment prompt; once they enter their PIN, the page detects it automatically — no manual step needed. If they instead pay directly via Paybill/Till, that's auto-detected too, as long as C2B URLs are registered (see §20.1) and they used the invoice number as the payment reference.
6.4 Card Payment via Pesapal
Click Pay by Card via Pesapal on the payment page — the customer is redirected to Pesapal's hosted checkout (Visa, Mastercard, Airtel Money) and returned once paid. Pesapal payments go directly to your business's own Pesapal account, not through Merqio POS.
6.5 Sale Returns and Refunds
Open the sale, click Process Return, choose which items and quantities, whether they go back into stock (Restock) or are written off, and how the customer is refunded (cash, M-Pesa, or store credit). A return record is created with its own reference number, stock and balances update accordingly.
6.6 Cancelling a Sale
Open the sale and click Cancel Sale. This restores stock, generates a credit note for anything already paid, reverses any loyalty points earned, and reduces the customer's balance if it was a credit sale. Cancelled sales stay in history — they can't be deleted.
7. Invoicing
Invoices are formal billing documents (unlike sales receipts, which are immediate). Go to Invoices → New Invoice, pick the customer, set issue/due dates, add line items, and save as draft or send right away — the invoice number is auto-generated.
Sending: open the invoice and click Send Invoice to email it as a PDF; you can also download and share it yourself.
Recording payments: open the invoice, click Record Payment, enter amount/method/reference. Partial payments show as Partially Paid until the balance reaches zero.
Recurring invoices: set a customer, items, and a frequency (weekly/monthly/quarterly/yearly) with a start (and optional end) date — a new invoice is generated automatically on each due date, and you can review, edit, or pause the schedule any time.
8. Quotes and Estimates
Create a quote before committing to a sale — useful when a customer wants a price estimate first. Go to Quotes → New Quote, fill in customer/items/notes, save, and optionally email it as a PDF. To convert one to a real sale, open it and click Convert to Sale — the POS opens with everything pre-loaded, ready for payment. Quotes never touch stock until they're converted.
9. Customer Management
9.1 Adding Customers
Go to Customers → Add Customer and fill in name (required), phone (used for M-Pesa matching and loyalty), email, address, and a credit limit. You can also add one on the fly at the POS via the customer dropdown's + New Customer.
9.2 Credit Accounts
Let trusted customers buy now, pay later: select Credit (Pay Later) at checkout and the amount is added to their outstanding balance. Set a credit limit on their profile — the cashier is warned if a purchase would exceed it. Open a customer's profile and click View Statement for a full running-balance history you can download as a PDF.
9.3 Customer Portal
Turn on Settings → Business Profile → Enable Customer Portal and share https://smemanagers.com/portal/login with your customers — they log in with their registered email and a one-time code to view their invoices, balance, and transaction history themselves.
10. Loyalty Program
Go to Settings → Loyalty Program, switch it on, and set points-per-shilling, a redemption rate (e.g. KSh 1 off per 10 points), and a minimum-points-to-redeem. Once active, any registered customer's points balance appears automatically at the POS, earns after each paid sale, and can be redeemed toward a future purchase. It's entirely optional — no loyalty UI appears anywhere until you turn it on.
11. Discounts and Coupons
Discounts are reusable rules cashiers can apply at the till: go to Discounts → New Discount, name it, set type (percentage/fixed), value, optional start/end dates, minimum purchase, and usage limit.
Coupons are one-off or limited-use codes you hand out to customers: create one under Coupons → New Coupon with a code (e.g. WELCOME20), then customers redeem it at checkout via Apply Coupon.
12. Expenses
Go to Expenses → Add Expense and record the date, amount, category (Rent, Electricity, Salaries, Transport, etc.), description, payment method, and optionally a receipt photo. Expenses reduce gross profit in your Profit & Loss report. Manage categories at Expenses → Categories to match how your business is organized.
13. Suppliers and Purchase Orders
Add suppliers under Suppliers → Add Supplier with their contact details. Create a purchase order via Purchase Orders → New PO — pick the supplier, add items/quantities, set an expected delivery date, and save as draft or submit.
| PO Status | Meaning |
|---|---|
| Draft | Created but not yet sent to supplier |
| Submitted | Sent — awaiting delivery |
| Partially Received | Some items received, more to come |
| Complete | All items received |
| Cancelled | PO cancelled |
14. Stock Receiving
Against a PO: open it and click Receive Stock, enter the quantities actually delivered (which can differ from what was ordered) — stock and PO status update automatically. Standalone (no PO): go to Inventory → Stock Receives → New Receive, pick the supplier and items. Every receive gets its own reference number and shows up in the audit log.
15. Shift Management
Opening: go to Shifts → Open Shift and enter the opening float — every sale made afterward is tracked against it. Closing: count the till and enter the closing cash amount; the system calculates expected cash (float + cash sales) and the variance (should be zero), then add handover notes and close. The shift report breaks down total sales by payment method alongside the cash variance and full transaction list.
16. Reports
Sales Report — filter by date/product/category/cashier; totals, transaction count, average sale, VAT collected; export to Excel/PDF.
Profit & Loss — revenue, cost of goods sold, gross profit, expenses, net profit for any date range.
Stock Report — current levels, low-stock items highlighted, stock value at cost.
Customer Report — spend per customer, outstanding balances, last purchase date.
Cross-Store Report (Growth plan and above) — compare branches side by side from the Organization Dashboard.
17. Staff and HR
Go to Staff → Add Staff Member, invite an existing user or create a new one, then fill in their HR profile — employment date, job title, department, employment type, National ID, KRA PIN (needed for PAYE), bank details, NSSF/SHIF numbers, and phone (needed for M-Pesa B2C payroll). Set their salary and allowances; they'll show up in the payroll engine once the profile is complete.
staff role) can't access sales, inventory, customers, or bookings anywhere in the app. Instead they get their own self-service portal after logging in: payslips, leave requests, clock in/out, and salary advances. See §22 for the full roles breakdown.
18. Payroll
Processing: go to Payroll → New Payroll Period, set the pay period and pay date, click Calculate — the system works out gross pay, PAYE (2024/25 KRA bands), NSSF (6%+6%, tiered caps), SHIF (2.75% of gross), and net pay for every employee. Review, adjust if needed, Approve Period to lock it in, then pay employees one by one (or via M-Pesa B2C if configured). The period closes and the salary expense posts automatically once everyone's paid.
Payslips — download a PDF for any payroll line, showing gross, every deduction, and net pay.
P9 Forms — at year end, generate KRA-compliant annual tax certificates per employee (individually or as a bulk ZIP) from Payroll → P9 Forms.
Auto-Payroll — in Settings → Payroll Settings, enable it, set your pay-day (1–28), and choose a mode: Calculate only (you review and approve), Auto-approve (you only confirm payment), or Fully automatic (no human touch — use with care).
19. Multi-Store Management
Growth, Scale, and Enterprise plans support multiple stores. Add one via Organization → Stores → Add Store — it's immediately available in the store switcher. Switching stores keeps you logged in; inventory, sales, customers, and staff are completely separate per branch.
Inter-store transfers: go to Organization → Stock Transfers → New Transfer, pick source/destination and items. A transfer moves through Pending → Approved (by an owner/overall manager) → Dispatched (stock leaves the source) → Received (stock lands at the destination), with its own reference number throughout.
20. Payment Integrations
20.1 M-Pesa Setup (Per Business)
Payments go straight to your own M-Pesa account, never through Merqio POS. You'll need a Safaricom Daraja account (register at developer.safaricom.co.ke).
- Go to Settings → M-Pesa, set environment to Sandbox or Production
- Enter your Consumer Key, Consumer Secret, Shortcode, Passkey, and Till Number if applicable
- Click Save Credentials
- Click Register C2B URLs with Safaricom so Paybill/Till payments (not just STK Push) auto-match to a sale by invoice number
Callback URL for the Daraja portal: https://smemanagers.com/api/mpesa/callback
20.2 Pesapal Card Payments Setup
Register at pesapal.com, then go to Settings → Pesapal (Card), set the environment, enter your Consumer Key/Secret, save, and click Register IPN with Pesapal. A "Pay by Card via Pesapal" button then appears on the payment page.
20.3 Subscription Billing
Your own Merqio POS subscription (as the business owner) is billed separately — via Paystack (card) or M-Pesa STK Push. Manage it under Settings → Subscription.
21. Settings
| Setting | Location | Who can access |
|---|---|---|
| Business Profile | Settings → Business | Owner |
| Team Members | Settings → Team | Owner |
| VAT | Settings → VAT | Owner |
| M-Pesa | Settings → M-Pesa | Owner |
| Pesapal | Settings → Pesapal | Owner |
| Loyalty Program | Settings → Loyalty Program | Owner |
| SMS Notifications | Settings → SMS | Owner |
| Payroll Settings | Settings → Payroll | Owner |
| API Access | Settings → API | Owner |
| Subscription | Settings → Subscription | Owner |
| Two-Factor Auth | Settings → Two-Factor | All users |
| Audit Log | Sidebar → Audit Log | Owner only |
22. User Roles and Permissions
Add team members at Settings → Team → Invite Team Member.
| Role | What they can do |
|---|---|
| Owner | Everything — settings, billing, all data, audit log |
| Overall Manager | Same as owner except billing/subscription; cannot use the POS |
| Manager | Inventory, sales, invoices, expenses, customers, reports for their branch |
| Cashier | Make sales, view inventory (no editing), print receipts, view customers |
| Staff | No access to sales, inventory, customers, or bookings — but they log in and use their own staff portal (payslips, leave, attendance, salary advances) |
Every role lands on the same colorful tile "launcher" screen right after logging in — each tile is just gated to what that role can actually reach, so a cashier sees more tiles than staff, and an owner sees more than either.
Inviting: Settings → Team → Invite Team Member → enter email + role → they get an email link to set a password. Removing: Settings → Team → Remove next to their name; they can no longer log in to this business.
23. Two-Factor Authentication (2FA)
Go to Settings → Two-Factor Authentication, click Enable 2FA, scan the QR code with an authenticator app (Google Authenticator, Authy, Microsoft Authenticator), and enter the 6-digit code to confirm.
Once enabled, logging in asks for the 6-digit code after your password as usual. Certain sensitive actions (business profile changes, M-Pesa settings, API tokens, team changes) also require re-entering your code even mid-session — this "sudo mode" protects you if you step away from an unlocked computer.
24. REST API
Available on Scale and Enterprise plans. Generate a token at Settings → API Access → Generate New Token (shown once — copy it immediately), then include it on every request:
Authorization: Bearer YOUR_TOKEN
Base URL: https://smemanagers.com/api/v1
| Method | Endpoint | Description |
|---|---|---|
| GET | /products | List products |
| GET | /products/{id} | Get a product |
| POST | /products | Create a product |
| PUT | /products/{id} | Update a product |
| GET | /sales | List sales |
| GET | /sales/{id} | Get a sale |
| GET | /sales/summary | Monthly revenue summary |
| GET | /customers | List customers |
| GET | /customers/{id} | Get a customer |
| POST | /customers | Create a customer |
| PUT | /customers/{id} | Update a customer |
All endpoints return JSON, scoped automatically to your active business.
25. Troubleshooting
M-Pesa STK Push isn't being received
Check your Daraja credentials and environment (sandbox vs production) in Settings → M-Pesa; confirm the phone number format and that it's on the Safaricom network; make sure your Daraja Developer Portal app is active.
Customer's Paybill payment isn't auto-detected
Confirm C2B URLs are registered (Settings → M-Pesa → Register C2B URLs), that the customer used the correct invoice number as the payment reference, and that your configured shortcode matches your real Paybill/Till.
Barcode scanner not working
Make sure it's connected and its driver installed; click into the barcode field before scanning; use Chrome or Edge for camera scanning (not Safari/Firefox); confirm the barcode format is supported.
Import failed or products missing
Use the official template without changing column headers; make sure name and price are filled on every row; category names must match exactly (case-sensitive); barcode duplicates are skipped; keep files under 5MB.
2FA code not accepted
Check that your phone's clock is accurate — TOTP codes are time-based and won't match if it's off. There's no backup-code fallback (see §23) — if you're fully locked out, contact support.
Receipt not printing
Use Chrome or Edge (Web Serial API isn't supported elsewhere); click Connect Printer before the sale; pick your printer from the device list when prompted; check the USB connection isn't in use by another app.
"Feature not available on your plan"
The feature needs a higher plan — go to Settings → Subscription to upgrade. During your free trial, all Business-plan features are available; this can appear once the trial ends.