Challenge
The brand’s products are sold in stores across different regions and districts. To motivate sellers, the company needed to pay cashback for every item sold. It was important that one item could never be counted twice, that every sale was reviewed, and that sellers’ money was calculated without mistakes.
Solution
UFLEX built a mobile app for sellers, an admin panel for the team and a server that connects them. The warehouse generates unique serial codes for every item and prints them as QR labels. During a sale, the seller scans the QR codes in the app or types the serial number, adds the buyer’s name and phone, and sends the sale for review. Each serial code can be used only once.
A call-center operator reviews the sale: if it is approved, cashback is credited to the seller’s balance; if it is rejected, the reason is shown. The seller can request a payout from the balance to a bank card; the request is confirmed with an SMS code and reviewed by the cash manager.
The balance is kept in a separate ledger: entries are never edited or deleted, and the balance is the sum of those entries. Payout requests are checked inside a transaction so the same request cannot be executed twice at once.
In the admin panel every staff member works within their role: administrator, call center, warehouse and cash manager. The panel shows stores by region and district, sellers, buyers, products, serial codes, sent SMS messages and sales analytics, and lists can be exported to Excel.
System components
- Seller mobile app — QR scanner, sales, balance, payouts
- Serial codes and QR label printing
- Sale review (moderation) — for the call center
- Balance ledger and payout requests
- Admin panel — roles, stores, sellers, analytics
- Sign-in and confirmation by SMS code
Technologies
- Node.js (Express) — server side
- PostgreSQL (Prisma) — database
- React (Mantine) — admin panel
- Expo / React Native — mobile app
- Eskiz — SMS messaging