Skip to content
Language: English

Retail

Multi-branch retail chain

A point-of-sale and inventory system for a retail chain that keeps branches selling offline and syncs their data with head office when the internet returns.

Illustrative example

01

The challenge

Each branch ran a standalone point-of-sale program, so management only knew the actual inventory levels after the branch reports had been compiled by hand. Transfers between branches were recorded on paper, so stocktakes revealed discrepancies that were hard to explain.

The branches dealt in more than one currency, most of their sales were in cash, and power and internet outages were frequent, so selling could not depend on a constant connection to the server.

02

What we built

We designed the system as independent backend services for sales, inventory, and purchasing, which the branches’ points of sale connect to through APIs. Each point of sale works offline and saves its transactions locally, then syncs them automatically when the internet returns, following rules that prevent transactions from being duplicated or lost.

At head office, a web panel shows inventory levels in each branch, transfer orders between branches, and cash box activity in each currency, with daily reports built from the same data instead of being compiled by hand.

Modules

  • Point of sale (POS)
  • Inventory and transfers
  • Purchasing
  • Cash box and currencies
  • Branch reports

03

How we worked

  1. Analyzing branch operations

    Mapping the sales, receiving, transfer, and stocktake cycle as it actually ran in the branches, and identifying where the discrepancies came from.

  2. Designing the architecture

    Separating sales, inventory, and purchasing into independent services, and defining the rules for syncing and resolving conflicts.

  3. Piloting in one branch

    Running the system in a pilot branch and addressing feedback before rolling it out to the other branches.

  4. Rollout and support

    Moving the branches over one by one, training their teams, and monitoring sync and performance once the system was running.

04

The outcome

Management now sees each branch’s sales and inventory on a single dashboard, and the branches kept selling during internet outages without losing transactions.

Let’s start with how you work

Describe your processes and the problem you want to solve, and we will suggest the right starting point.