Ready, set,
open for business.
Start with the essentials, then learn as you grow. Clear instructions for you and the people who keep your store moving.
29 guides to explore · Reading times are approximate
Set up your store
Your account, location and payment readiness.
01Create a store and set its locationGive customers and riders a store they can find.5 min read
Where to go Stores & storefronts
- Open Stores & storefronts and use the New store form. Enter the store name and a customer contact phone number.
- Choose the country, state and local government area (LGA). Select a ward if you know it; only the ward is optional.
- Enter the city or town and a proper Store address, including the shop number, street and useful directions. You can complete the form without a map pin.
- To use the map, search in its separate search box and choose a result, click the map, or use your current location. A selected pin updates the region and clears Store address so you can write your own description.
- Changing city, state, LGA or ward removes the map pin. Editing Store address keeps the pin in place.
- Save the store. If you have several branches, select the correct store in the dashboard before changing products, staff, payments or delivery settings.
- Use Edit for corrections. Open Manage storefronts & QR codes to review the customer-facing store and its QR code.
The saved name, contact number and location describe the correct store.
02Complete documentation and connect StatiraSave documents, connect the approved business, and finish gateway operations from the admin dashboard.7 min read
Where to go Payment gateway → Business verification → Gateway connection → Gateway operations
- Select your store and open Payment gateway. Enter the owner and business details, using the registered business name exactly as it appears on the CAC certificate.
- Upload the CAC certificate and the owner identity document with NIN or BVN evidence. Use PDF, JPEG or PNG files of 10 MB or less. Each successful upload is sent to Statira for review; a file you have only selected is not saved.
- Use Save & finish later or Finish later when needed. Add supporting documents when available or requested. Review the document statuses and replace anything rejected.
- For a newly created Statira account, check the onboarding email from Statira Payments Ltd, including spam. Sign in to its merchant dashboard and change the default password to complete your signup there. Existing Statira customers use their existing login details.
- If your business already exists on Statira, approve the connection using the emailed code or the approval flow shown. Do not create a duplicate business to work around a connection issue.
- After documentation approval, choose LIVE for real trading in Gateway connection and complete the Statira connection. Return to MarketVillage and check that the status says Connected. The chosen mode stays fixed until you disconnect.
- In the gateway operations section, send the MarketVillage webhook URL to Statira, then sync the webhook secret and confirm the secret shows as synced.
- Review the detected server IP and submit the gateway OTP to whitelist it. Confirm the allowlist status before testing a payment.
- Use the webhook and IP controls again after a gateway change, server migration or failed payment callback. These settings belong to the connected company and apply to all its stores.
Documentation is approved, the correct LIVE business is connected, the webhook secret is synced and the server IP is whitelisted. Neither document upload nor a password change alone activates payments.
03Get ready for discovery, delivery and pickupMake sure shoppers can find the store and choose a supported fulfillment option.6 min read
Where to go Payment gateway · Delivery areas · Inventory
- Confirm that Statira documentation is approved and the gateway is connected. A store that is not ready to accept payments will not appear in customer discovery.
- Add active products and enable Show in store for products customers should browse. Cashier-only products can have Show in store turned off.
- Open Delivery areas and enable the online delivery or pickup options you intend to offer. Set pickup lead time and collection hours where shown.
- For each delivery area, choose its country, state and LGA, with a ward if needed. An LGA-wide area covers its wards; a ward-specific area is narrower. Check the hierarchy after using the map.
- Set the delivery fee and whether your store collects its configured delivery fee with the goods payment. Platform-rider delivery charges are handled separately through the platform flow.
- Check the store from the customer website or mobile app using a delivery location within the configured area. Recheck payment readiness, product visibility and location details if it is missing.
The customer sees the intended products and can select a valid delivery address or pickup option.
04Generate, download and print your store QR codeHelp customers open the right store without searching for its name.3 min read
Where to go Stores & storefronts → Manage storefronts & QR codes
- Open Manage storefronts & QR codes and find the correct store or branch.
- Choose Generate QR and check the store name in the preview. This is a store QR code, not a product barcode or a payment account.
- Download the QR card for sharing, or choose Print QR Card and check the printer preview before printing.
- Scan the printed QR with the customer app to confirm it opens the intended store. Place the readable card near the entrance or checkout.
The printed or shared QR opens the correct store. Payment readiness and discovery requirements still apply.
Stock your catalogue
Suppliers, products, prices and stock.
05Add vendors and internal suppliersCreate your supplier list before linking products to it.4 min read
Where to go Vendors
- Select the store, open Vendors and add the supplier’s name and the contact information you have.
- Mark Internal vendor only for an internal supplier or department, such as your own bakery or kitchen. Leave it off for outside suppliers.
- Save the vendor and confirm it is active. Use Edit to maintain contact details or status.
- If this vendor will receive payouts, open Wallet, choose the bank by name, enter the account number and verify it. Check the returned account name before saving the payout account.
The active vendor appears in the product form’s Vendor selection.
06Add a standard productStart with products sold in fixed units, such as one bottle or one packet.5 min read
Where to go Inventory → add inventory item
- Open Inventory and start a new item. Enter a clear product name and SKU. Barcode is optional: enter an existing barcode, use Generate barcode, or leave it blank for an internal barcode to be assigned. Enter the opening stock explicitly; units per carton is only needed for carton sales.
- Enter the selling price and cost price. Choose the vendor when known. Cost and selling price serve different purposes; enter the actual figures rather than treating them as the same field.
- Enter opening stock in units. Leave Variable product and Prepared on demand off for a normal stocked item.
- Leave carton fields blank when you do not sell cartons. Turn on Show in store if customers should see it online, then save.
- Find the product in the list and check its price and quantity. Use Edit for corrections and Increase to add stock when goods arrive.
The product can be found by name or barcode in the correct store’s cashier catalogue.
07Sell products by weight, volume, length or quantityChoose kilograms, grams, litres, millilitres, metres, centimetres, pieces or packs.4 min read
Where to go Inventory → Sold by measurement → Selling unit
- Create the product and enable Sold by measurement. Choose its Selling unit and give it a recognizable name, SKU and barcode. Existing weighed products remain in kg.
- Enter the selling price and cost per selected unit. Use the optional fixed part price only when that product genuinely includes a fixed charge.
- Enter opening stock in the selected unit. No automatic conversion is applied: 500 ml is not entered as 0.5 unless the selling unit is litres.
- At the cashier, select the product and enter the measured quantity using the unit requested on screen. Review the calculated line total before collecting payment.
A 0.5 kg sale at ₦2,000 per kg is ₦1,000 before any configured fixed charge.
08Sell prepared-on-demand items without stock limitsKeep shawarma, meals and other made-to-order items available without fake stock counts.3 min read
Where to go Inventory → Prepared on demand
- Create or edit the item and enable Prepared on demand — don’t track stock.
- Enter its selling and cost prices, barcode and supplier or internal kitchen if applicable. Choose weighed pricing only if you actually sell it by weight.
- Keep the item active and select Show in store if it is also available to online shoppers.
- Save. Prepared items can be sold at zero stock; stock deductions and low-stock alerts are not used for them. Deactivate the item when you cannot prepare it.
The cashier can add the item without a zero-stock block, and it is not treated as low stock.
09Set up unit and carton salesSell the same product individually or in a pack with its own price.3 min read
Where to go Inventory → carton fields
- Set the normal unit barcode and unit selling price first.
- If you sell cartons, enter the carton price and the correct Units per carton. Add the carton barcode when available.
- Review how many individual units the carton represents. For example, one carton of 12 should consume 12 units of tracked stock.
- If you do not use carton pricing, leave Carton price empty; Units per carton is not required solely for a unit-priced product. Save and test the intended barcode at the cashier.
Unit and carton scans use the intended prices and pack quantities.
10Match products to vendors and record costsMake supplier attribution and margin reports meaningful.3 min read
Where to go Inventory → create or Edit → Vendor
- Add and activate the supplier in Vendors first, including internal suppliers where appropriate.
- Open the product in Inventory, choose Edit and select the correct Vendor.
- Enter the actual cost or vendor supply price shown on the product form. Keep the customer selling price separate.
- Save and reopen the product to confirm the match. Use the vendor filters in Sales reports to review the resulting product attribution.
The product shows the intended vendor and cost price, not just a similar supplier name.
11Generate a product barcodeGive products without an existing barcode a scannable identifier.3 min read
Where to go Inventory → new product or Edit → Unit barcode
- Select the correct store and create a product, or open an existing item with Edit. Keep a working manufacturer barcode when the product already has one.
- Choose Generate barcode beside the unit barcode field. The app generates a 13-digit value and checks it against the loaded inventory barcodes.
- Save the product or Save changes before downloading labels. Generating a number alone does not save or reserve it; resolve any save error before printing.
- Reopen the saved item and check the barcode. Use a separate carton barcode only when the item has a properly configured carton pack.
- Print a sample label and scan it at the cashier. Confirm the product, selling unit and price before labelling the rest of your stock.
The saved barcode finds exactly the intended product at checkout.
12Download and print product barcode labelsPrint a sheet of labels from the product’s saved barcode.4 min read
Where to go Inventory → product actions → Download barcode PDF
- Find the saved product in Inventory. Check its name and unit barcode, then choose Download barcode PDF.
- Open the downloaded PDF. It contains one A4 sheet with 27 copies of that product’s unit barcode, arranged in three columns and nine rows. Each label area is 63 × 29 mm.
- Use an A4-capable printer and paper or label stock that matches the layout. Print at Actual size / 100% rather than Fit to page, and test alignment on plain paper first.
- Check the name and barcode are sharp and unclipped. Keep the white space around the bars and avoid folds or curved placement that makes scanning difficult.
- Scan one printed label in the cashier app. Confirm the product and price, then attach labels to the matching goods. Download the same saved barcode again whenever you need more copies.
A printed label scans reliably to the correct item, with no manual search needed.
13Receive stock and correct a stock countDistinguish adding a delivery from replacing an incorrect stock balance.4 min read
Where to go Inventory → Restock / Edit
- Select the store, find the product and check the current quantity against the physical goods.
- For newly received goods, enter the additional quantity in Restock, select Unit or Carton as appropriate, and click Increase. For cartons, verify Units per carton before adding them.
- For a weighed product, use the kilogram quantity indicated on the form. Prepared-on-demand products do not need artificial restocks.
- For a stock-count correction, use Edit and the exact stock quantity field. Enter the final counted balance, not the amount you want to add.
- Save and check the resulting stock. If a request appears slow or uncertain, refresh and inspect the balance before repeating Increase so that the same delivery is not counted twice.
The stock balance agrees with the physical count and uses the correct unit or pack size.
14Hide a product online or stop selling itUse Show in store and Active for different purposes.2 min read
Where to go Inventory → Edit
- Open the product with Edit and review Active and available for sale and Show in store.
- Turn Show in store off to hide the item from customer web/mobile browsing, search and checkout while keeping it available to cashiers if Active remains on.
- Turn Active off when the product should no longer be sold, including a prepared item you cannot currently make.
- Save, then check the intended customer and cashier views. Restore the appropriate settings when the product becomes available again.
The product is visible and sellable only in the channels you intended.
15Import products and add imagesSave time once you understand the single-product form.5 min read
Where to go Media & bulk · Inventory
- Select the correct store and open Media & bulk. Follow the CSV header and file requirements shown on that page.
- Prepare a small sample first. Check names, SKUs, barcodes, selling prices, costs, opening quantities and vendor names before importing a larger file.
- Review the import result and correct rejected rows rather than repeatedly uploading the entire file without checking what succeeded.
- Use the product image tools for clear, relevant photos. Reopen sample products in Inventory to verify their details and online visibility.
- For products without manufacturer barcodes, generate a barcode and use Download barcode PDF from the inventory item. Print a label and test that it scans to the correct product.
Imported products have the right price, stock, vendor and image in the selected store.
Get your team ready
Staff access and the right checkout controls.
16Add a cashier and manage staff accessGive every person their own login and the right job role.4 min read
Where to go Team
- Ask the cashier to sign up as a normal MarketVillage user and verify their email. They choose their own password.
- Select the correct store or branch and open Team. Choose Cashier, enter their registered email, then use Add team member. No temporary password is needed for cashiers.
- The cashier uses their existing email and password. Choose Cashier mode in the app. Shopper and cashier sessions are separate. Their assigned store and role appear in their profile.
- If you own the store and sell alone, use your existing account in Cashier mode. You do not need to add yourself again; the first cash sale completes the combined checklist step.
- Confirm the member is active in the store. Use Edit to adjust their role or active membership; remove access when they leave.
The cashier’s own account is assigned to the intended store and is active.
17Enable cash, Pay with Transfer and Send to POSChoose how cashiers may take payment and assign their terminals.5 min read
Where to go Cashier payments
- Open Cashier payments for the selected store. Choose Allow cash checkout, Allow Pay with Transfer and Allow send to POS as needed, then Save cashier controls.
- Complete Statira documentation and gateway connection before using gateway-backed payment methods. A toggle does not bypass payment readiness checks.
- For Send to POS, register or configure the active terminal in the terminal section. Assign it to the correct cashier in Bind cashiers to terminals and save the assignment.
- Have the cashier refresh or sign in and check the available methods. Send to POS requires an active configured terminal assigned to that cashier.
The cashier sees only methods allowed for that store and their assigned terminal.
18Log in to the cashier appUse the mobile app, desktop cashier or web cashier with the staff account.3 min read
Where to go MarketVillage app → Cashier
- Install the current app from Downloads, or open the web cashier. On mobile choose Cashier rather than the customer or rider workspace.
- Enter the work email and password for the active cashier account. If prompted, enter the verification code sent to that email.
- Use Forgot password? if a new staff account needs password setup or the cashier cannot remember their password.
- Select the assigned store and let the catalogue sync. If no store appears, ask the owner to check Team membership rather than creating a second account.
- Use the app’s Sign out before moving to another device. Pending offline sales must sync first; closing the app is not the same as signing out.
The cashier workspace shows the correct store and its products.
Make your first sale
Connect a printer, build a cart and issue a receipt.
19Connect a mobile printer and run a test printSave a compatible printer before the first customer arrives.5 min read
Where to go Mobile cashier → Settings → Printer & sharing
- Charge the printer, load the thermal roll correctly and turn it on. Check its manual for its Bluetooth name and any pairing code; not every nearby Bluetooth device is a printer.
- On Android, pair a Bluetooth Classic printer in the phone’s Bluetooth settings first when required. On iPhone or iPad, use a compatible ESC/POS Bluetooth LE (BLE) printer; Classic-only Bluetooth printers are not supported by this mobile flow.
- In cashier Settings → Printer & sharing, choose Bluetooth, allow the requested nearby-device permissions and tap Find Bluetooth printers. Select your printer from the results.
- For a Wi-Fi printer, put the phone and printer on the same reachable network, choose Wi-Fi, enter the Thermal printer IP and tap Save Wi-Fi printer.
- Choose 58 mm or 80 mm to match the paper. Tap Print test receipt and confirm only if a readable slip actually prints.
- Enable Auto-print paid receipts if wanted. The app saves the printer and attempts to reconnect when printing; keep it powered on and nearby.
A readable test receipt prints on the selected printer at the correct width.
20Add items to a cashier cartScan, search or import a customer handoff, then review the sale.4 min read
Where to go Cashier → Sell
- Select the store and open Sell. Scan a product barcode or search for its name.
- Add the required quantity. For weighed products, enter the measured weight and check the calculated amount. Prepared-on-demand items do not need a pretend stock quantity.
- Review each line and the running total. Adjust or remove mistakes before you start payment.
- If the customer built a cart in their app, use the checkout handoff/QR option to import it and confirm the actual goods being purchased.
- Use a separate customer cart for the next person when necessary. Always confirm which cart you are collecting payment for.
The active customer cart matches the goods, quantities and amount due.
21Take cash, transfer or POS payment safelyFinish a sale only when the correct payment is confirmed.5 min read
Where to go Cashier → customer checkout
- For Cash, count and receive the cash before completing the cash checkout. Review the cart total first.
- For Pay with Transfer, generate the account instructions for that cart. Show or print the bank name, account number, exact amount and expiry. The customer pays the displayed amount.
- Wait for the app to show verified PAID status. A customer screenshot, bank alert or printed unpaid invoice is not proof that the gateway confirmed payment.
- For Send to POS, select the assigned terminal, complete the payment on that terminal and use the app’s verification flow. Do not treat dispatching to the terminal as payment success.
- If instructions expire or the result is uncertain, check the existing payment’s status and use only the retry option the app offers. Do not collect a second payment simply because a screen was closed.
The sale is completed after cash collection or verified gateway payment, and its paid receipt is available in History.
22Print an invoice, a paid receipt or a shared PDFUse the right document at the right point in the sale.4 min read
Where to go Cashier → payment instructions / History
- Before a transfer is paid, open the current payment instructions and choose the unpaid invoice print/share action. Only use instructions while their account is still valid.
- Give the customer the bank name, account number and exact amount shown. The invoice is a request for payment, not a receipt or permission to release goods.
- After successful payment, print the paid receipt. With Auto-print paid receipts enabled and a working saved printer, the mobile cashier attempts to print it automatically.
- For a replacement copy, open History and the completed sale, then print or share its paid receipt/PDF. A paid cart is closed; use History rather than reopening the sale.
- On web or desktop, use the available print dialog or configured printer. Check the paper width and preview. Save as PDF where offered if you need a digital copy.
The document has the correct store, items, amount and paid/unpaid label. Reprinting does not create another sale.
Deliver on every order
Notifications, pickup, riders and conversations.
23Receive an online order and fulfill pickupTurn a paid online order into a secure customer collection.5 min read
Where to go Orders alerts → Fulfillment
- Open Orders in the dashboard header. Use Enable browser alerts and Sound: on if wanted. Browser and sound alerts work while the dashboard is open; email alerts can arrive when it is closed.
- Open Fulfillment and select the store. Distinguish a new order awaiting payment from Payment confirmed. Do not prepare or release goods as paid based only on a new-order notification.
- For a paid order, review its items and pickup notes, then choose Start preparing. After checking and packing the items, choose Mark ready.
- When the customer arrives, ask for their private pickup code and open the secure pickup confirmation handoff shown for that order.
- Verify the code and the goods, then complete the collection through that flow. Keep the store’s handoff screen private; it is not a link for an outside delivery rider.
The customer collects the right order and its status becomes completed through the secure handoff.
24Assign a rider and fulfill a deliveryChoose one delivery path: a MarketVillage platform rider or your own rider.7 min read
Where to go Fulfillment → delivery order
- Open the paid delivery order, review its address and notes, choose Start preparing, and Mark ready once packed.
- Choose a MarketVillage rider to see riders whose pickup and destination coverage match this order. Matching uses country, state, LGA and optional ward. Review the displayed delivery fee before sending the assignment.
- Wait for the assigned rider to accept in their app. The store cannot accept or record cash collected on the rider’s behalf. Dispatch when the order and rider are ready.
- While a platform assignment is active, do not share an external-rider link or dispatch your own rider. Cancel the assignment first if changing the delivery arrangement; reassignment invalidates the old handoff credentials.
- The customer or assigned rider can generate the platform delivery bank-transfer details. Both see the same active account instructions. The customer pays directly; if cash is collected instead, the rider must explicitly confirm it.
- The rider confirms the recipient’s delivery code through their app after payment or cash collection is recorded. Live location is available during active tracking and ends after delivery. The rider can open the destination in their phone’s maps app.
- For your own external rider, use the separate dispatch details and time-limited handoff flow shown after any platform assignment is cancelled. External deliveries do not use MarketVillage platform pricing, tracking or delivery protection.
Only the assigned delivery path is active, and the order reaches delivered/completed through the secure handoff.
25Message the customer about an orderKeep order questions in the order’s own conversation.2 min read
Where to go Fulfillment → Message customer
- Open the correct order in Fulfillment and choose Message customer.
- Send a short, specific update about that order, such as a packing question, pickup readiness or a delivery clarification.
- The customer replies from Message merchant on their order. Customers can also message an accepted platform rider in the separate rider conversation.
- When the order is completed or cancelled, conversation history remains read-only. Do not ask customers to send passwords, OTPs, bank PINs or payment-card details in chat.
Your message appears in the intended order conversation, not an unrelated customer’s order.
Run the day-to-day
Wallets, reporting and common fixes.
26Check your Statira wallet, top up and withdrawUse the gateway balance and review the fee before moving funds.5 min read
Where to go Statira wallet
- Select your store and open Statira wallet. Review Available and Pending balances; pending funds are not the same as spendable funds.
- For a top-up, enter the amount and generate funding instructions. Transfer the exact amount before expiry, and wait for gateway confirmation.
- For a withdrawal, set your withdrawal PIN if needed, enter the desired amount, choose a bank by name and enter the account number. Verify it and check the returned read-only account name.
- Add a narration if useful and click Review withdrawal. The app calculates fees and checks affordability. Review any adjusted amount, the beneficiary amount, total wallet debit and remaining balance.
- Enter your PIN and choose Confirm withdrawal. Follow its status in MarketVillage withdrawals. Use Check status or the provided safe retry for that same withdrawal rather than creating a duplicate.
A successful payout is reflected in the gateway balance. MarketVillage history lists withdrawals initiated here; use Statira for transactions initiated on its dashboard.
27Review vendor balances and settlementsKeep supplier payments separate from withdrawing your own sales funds.4 min read
Where to go Vendors → Wallet
- Open the correct vendor’s Wallet and review its balance and recorded activity. Product-to-vendor mapping and cost information should be correct before relying on supplier reports.
- Choose the bank from the directory and verify the account number before saving or using a payout account. Confirm the returned account name with the supplier.
- Use a Statira payout action only when it is available and you intend to send funds. Review its amount, fees and status.
- Use Record a vendor payment only after you have already paid the supplier elsewhere. Enter the amount, payment reference and note. This records a payment; it does not send another bank transfer.
- Review the payout history. For a pending gateway payout, check its status rather than recording or sending a second payment for the same obligation.
The supplier ledger accurately reflects what was owed and what was actually paid.
28Review sales, cashiers and stock at the end of the dayUse a short closing routine instead of waiting for discrepancies to grow.4 min read
Where to go Sales reports · Cashier activity · Overview
- Ask cashiers to sync pending offline cash sales before signing out or switching devices.
- Open Sales reports for the correct store and period. Filter by payment method, channel, product or vendor to inspect completed sales.
- Use Cashier activity for the related cashier sessions and handoffs. Compare counted cash with cash sales separately from verified gateway collections.
- Review inventory insights and restock normal tracked products where needed. Prepared-on-demand items should not be treated as low stock solely because their quantity is zero.
- Check the Statira wallet for actual gateway funds and pending movements. Merchant finance credit insights are not the same as wallet cash; loan and investment actions marked Coming soon are not live funding offers.
Sales, counted cash, gateway balances and stock exceptions have each been reviewed in the appropriate place.
29Fix the most common setup and checkout problemsA quick checklist before contacting support.4 min read
Where to go The affected store, device or order
- Store missing from discovery: confirm Statira documentation approval, the correct connected gateway, store location and active products with Show in store enabled.
- Cashier cannot see a store or payment method: check active Team membership, the selected store, Cashier payments toggles, gateway readiness and assigned POS terminals.
- Printer will not print: check power, paper direction, Bluetooth/network permissions, paper width and the saved printer. Run Print test receipt. iOS needs a compatible BLE printer for this Bluetooth flow.
- Product blocked by zero stock: restock a normal item, or use Prepared on demand only for genuinely made-to-order products. Do not change stock behavior just to hide missing inventory.
- Online payment stuck or expired: the customer can check payment in Purchases, resume valid instructions, or use retry when the payment is conclusively unpaid. An unknown result needs verification, not another charge.
- No rider matches: check both the store pickup hierarchy and the customer destination hierarchy. Use an external rider only through the separate allowed flow.
- Still stuck? Send support the screen, app version, store and relevant order reference. Hide bank details where unnecessary and never send passwords, OTPs, PINs or secret keys.
You have checked the cause without duplicating a payment, exposing credentials or losing unsynced sales.