Online shop, offline till and one stock for every sales channel
A shop with two stores sells online with Orange Money and MTN MoMo, takes payments offline and keeps one stock across all its channels.
Project overview
This scenario illustrates what we build; it is not a client reference.
This scenario shows how a shop with two stores and a WhatsApp catalogue can sell online with mobile money payment, take payments even when the connection drops, and keep one stock across all its channels. A maintenance contract keeps it running.
Client challenges & requirements
A shop selling cosmetics and homeware runs two stores in Conakry and also sells through WhatsApp: the catalogue is a PDF sent to customers, the order arrives as a voice message, payment goes through Orange Money and the proof is a screenshot. Each store keeps its own sales book and its own stock.
The same item can be sold twice on the same day, once in store and once on WhatsApp, when only one is left. When the connection drops, the till stops or goes back to the notebook, and the day's sales are typed in again in the evening, with mistakes.
Main objectives
Sell online with Orange Money or MTN MoMo payment, and order confirmation by WhatsApp
Take payments in store even without a connection, then sync sales as soon as the network is back
Keep one stock shared between the two stores, the online shop and WhatsApp orders
Hand maintenance, updates and backups to a provider under contract
Project solution
-
We start small
Stock. A Laravel back office becomes the single reference: each item has a quantity per store and a quantity reserved for online orders not yet collected. The online shop reads this stock and shows "no longer available" as soon as the last unit goes, wherever it goes.
-
Payment goes through the Orange Money API and the MTN MoMo API; the order is confirmed only once payment is received, and the customer gets the confirmation through the WhatsApp Business API. The till is a desktop application installed on a computer in each store. It keeps a local copy of the catalogue and prices, records each sale on the spot, prints the receipt, and sends sales to the back office as soon as the connection returns.
-
If two stores sell the same last unit during an outage, the back office flags the conflict to the manager instead of hiding it. A maintenance contract covers updates, daily backups and a WhatsApp channel to report a problem. The hosting provider is chosen with the client.
Indicators to track
- Gap between counted stock and displayed stock
- Sales lost to unavailable items
- Share of online orders paid by mobile money
- Offline sales synced without correction
- Time spent each evening reconciling sales
Tech stack
- Back-office et boutique en ligne
- Laravel Livewire PostgreSQL
- Caisse de bureau
- Electron SQLite Synchronisation différée
- Paiement
- Orange Money API MTN MoMo API
- Messaging
- WhatsApp Business API
- Exploitation
- Sauvegardes quotidiennes Contrat de maintenance
Frequently asked questions
The till keeps going: it has the catalogue and prices locally, records the sale and prints the receipt. Sales are sent to the back office when the network returns. If an item was sold in both stores during the outage, the manager gets an alert and decides what to do.
No. Customers who order on WhatsApp carry on. The sales assistant enters the order in the back office, the stock is reserved and the mobile money payment link is sent in the conversation. The online shop is one more channel, not a replacement.
Updates to the application and its libraries, daily backups with a restore test, site monitoring and a WhatsApp channel to report a problem. The exact scope and response time are written into the contract.
A similar project?
Share your goals. After the scoping call, we propose a first scope and a timeline.
A question?
Call or write to us. We reply within one working day.
Services used
The Prisma Soft services this scenario draws on.
In the same industry
Client work and usage scenarios from the same industry.