Skip to content

Business Management · POS & ERP

POS & ERP Systems One system from the till to the back office.

CodeWave builds integrated business systems that connect the counter, the stock room, purchasing and the back office — so sales, inventory, customers, suppliers and reporting run from one place, for a single shop or a multi-branch business.

Built for
Retail, wholesale, distribution
Covers
POS · stock · purchasing · reports
Structure
Branches, users and roles
Technology
Laravel / ASP.NET Core · MySQL / SQL Server

01 · The problem

The till knows one thing. The stock room knows another.

Most businesses do not outgrow their systems all at once. They outgrow them one workaround at a time, until nobody can say what the business actually sold or holds.

A standalone till, a stock spreadsheet and a supplier file are each reasonable on their own. The cost shows up in the gaps between them.

Stock figures nobody trusts

What the system says is on the shelf and what is actually there drift apart between counts.

A till that only rings sales

The sale is recorded, but nothing behind it moves — stock, cost and customer stay where they were.

Purchasing by memory

Reorders happen when someone notices a gap, not when the numbers say they should.

Branches that cannot be compared

Each outlet reports differently, so the business is read one branch at a time.

Payments recorded twice

M-Pesa, card and cash are reconciled by hand against a till that never saw them.

Reports that arrive too late

By the time the numbers are assembled, the decision they were meant to inform has been made.

02 · Who it is for

Businesses that have outgrown standalone tills and spreadsheets.

The common thread is stock that moves, money that arrives through several channels, and more than one person who needs to know the truth about both.

Retail and supermarkets

High transaction counts, many products and staff turnover at the counter.

  • POS
  • Inventory
  • Branches

Wholesale and distribution

Bulk movement, credit customers and purchasing that has to be planned rather than improvised.

  • Purchasing
  • Suppliers
  • Customers

Pharmacies

Controlled stock, batch discipline and a counter that cannot slow down.

  • Stock control
  • Sales

Restaurants and cafés

Fast service, consumable stock and shifts that need to be accountable.

  • POS
  • Shifts

Manufacturing and supply

Inputs, outputs and the reporting that connects what was bought to what was sold.

  • Inventory
  • Reporting

Multi-branch operations

Several outlets that have to be comparable, not just individually profitable.

  • Branches
  • Roles
  • Reports

03 · How it works

One sale, and everything it should move.

The point of an integrated system is that a single action at the counter updates stock, money and the record the business reports on.

  1. 01

    Product setup

    Products, prices, categories and the details the rest of the system depends on.

    Foundation

  2. 02

    Inventory

    Stock is received, valued and held per branch, so quantities mean something.

    Stock

  3. 03

    Sale

    The counter rings the sale against real products and a real branch.

    Counter

  4. 04

    Payment

    M-Pesa, card or cash is captured as part of the sale rather than reconciled afterwards.

    Money

  5. 05

    Stock adjustment

    Inventory moves as a consequence of the sale — not as a separate job someone remembers.

    Stock

  6. 06

    Reporting

    Sales, stock, margin and branch performance are read from what actually happened.

    Back office

Fast where it matters

The counter is the part that cannot be slow; everything else is designed around keeping it quick.

One source of stock

Sales, purchases and adjustments move the same figure rather than three separate ones.

Accountable by user

Sales, discounts and adjustments carry the account that made them.

04 · Modules

The capability areas we build with.

A system is assembled from these around how a business actually trades — not every business needs every module on day one.

Products

The catalogue the whole system depends on: items, categories, pricing and the attributes a business trades on.

Inventory

Stock levels, movements and adjustments, held per branch so quantities are answerable.

Sales

The counter: quick item entry, discounts where allowed, receipts and the record behind them.

Purchasing

Ordering and receiving stock, so what comes in is recorded the same way as what goes out.

Suppliers

Supplier records, what was bought from them and what is owed.

Customers

Customer accounts, history and — where the business gives credit — what they owe.

Branches

Outlets as first-class entities: their own stock, their own sales, one comparable view.

Users and roles

Who may sell, discount, adjust stock, receive goods or see reports.

Payments

M-Pesa, card and cash captured as part of the sale, with reconciliation built into the flow.

Reporting

Sales, stock, purchasing and branch performance read from operational data rather than re-entered.

Business workflows

Approvals, transfers and the operational rules a business runs by, modelled where they matter.

Support and updates

Systems are maintained after go-live under an agreement — not handed over and abandoned.

05 · Till and back office

Two very different jobs, one set of data.

The counter needs speed and almost no thinking. The back office needs depth and control. They fail when they are separate systems pretending to agree.

At the counter

Designed for someone working quickly with a queue in front of them.

  • Find and ring items in a few actions
  • Take M-Pesa, card or cash as part of the sale
  • Apply only the discounts the role allows
  • Print or issue a receipt
  • Work within one branch and one shift
Same data

In the back office

Designed for the people who have to explain the numbers.

  • See stock movements behind every sale
  • Order from suppliers and receive goods
  • Manage products, pricing and branches
  • Control who can do what, and where
  • Report across branches on one basis

06 · Interface

What the counter and the office each see.

Illustrations drawn for this page. Values are masked deliberately — these show how the screens are organised, not anyone's trading figures.

Point of sale — interface illustration
Back office — interface illustration

07 · Roles and users

Four jobs around the same stock.

Permissions decide who can sell, who can discount, who can move stock and who can see the margin.

Cashier

Works the counter and needs to be fast, not powerful.

In the system

  • Rings sales and takes payment
  • Applies permitted discounts only
  • Works within one branch and shift
  • Every sale carries their account

Stock controller

Responsible for what is actually on the shelf.

In the system

  • Receives goods and records movements
  • Handles transfers between branches
  • Investigates and posts adjustments
  • Watches low-stock and reorder points

Branch manager

Answerable for one outlet and the people in it.

In the system

  • Sees sales and stock for their branch
  • Approves what their role allows
  • Manages staff access at the branch
  • Reads branch performance directly

Owner / accountant

Reads the business rather than the counter.

In the system

  • Compares branches on one basis
  • Follows purchasing and suppliers
  • Reviews margin and movement
  • Exports or integrates with accounting

08 · Business benefits

What an integrated system is actually worth.

Stated as capability rather than percentages — the size of the gain depends on how far apart your systems are today.

Stock you can trust

Sales, purchases and adjustments move one figure, so counts become a check rather than a rescue.

A faster counter

Quick item entry and integrated payment keep the queue moving at the busiest hour.

Payments that reconcile

M-Pesa, card and cash are captured with the sale instead of matched afterwards.

Branches on one basis

Outlets can be compared because they are measured the same way.

Accountability by account

Discounts, adjustments and voids carry the user who made them.

Decisions with current data

Reporting comes out of operations, so the numbers arrive while they still matter.

09 · Technology

Built on stacks that hold up under a busy counter.

CodeWave builds these systems on PHP/Laravel or ASP.NET Core with a relational database behind them, chosen for what the business already runs and what it needs to keep running.

Laravel ASP.NET Core MySQL SQL Server Redis M-Pesa

Deployment shape — cloud, on-premise or a mix — is decided per business, alongside backups, monitoring and what happens when the connection does not cooperate.

Architecture at a conceptual level

10 · FAQ

POS & ERP questions.

Where the honest answer is "it depends", we say so — and then tell you what it depends on.

Prefer the engineering story? Read the POS & ERP Systems case study.

Is this one product, or a system built for our business?

CodeWave builds integrated POS and ERP systems rather than selling one fixed box. The modules on this page — products, inventory, sales, purchasing, suppliers, customers, branches, users, payments and reporting — are the capability areas we build with. What your business gets is assembled and shaped around how it actually trades.

Can the till keep working when the internet drops?

That depends on how the system is deployed, and it is one of the first questions we ask rather than one we answer in advance. Some businesses need the till to survive a connection outage and are willing to pay for that design; others run reliably enough that it is not worth the complexity. We scope it explicitly instead of promising it by default.

Does it handle several branches?

Branches, users and roles are part of how these systems are designed. Stock, sales and reporting can be read per branch or across the business, and a cashier at one branch works within that branch.

Can customers pay with M-Pesa at the till?

Yes — M-Pesa integration is a core part of what CodeWave does, including STK Push, Till and PayBill flows with the callbacks and reconciliation that make them trustworthy. Card and cash are handled as payment methods alongside it.

We already have accounting software. Does this replace it?

Not necessarily. Many businesses keep their accounting package and want the operational system to feed it. Integration is scoped per business: which figures move, when, and in what direction.

Can our existing product and stock data be brought across?

Migration from spreadsheets or an existing system is normal work at the start of a project. What it takes depends on the state of the data — which we look at before committing to an approach.

Who owns the system once it is built?

You do. Custom systems are delivered with source code, documentation and deployment details, and support continues under an agreement rather than a dependency.

More from CodeWave

Explore more CodeWave products

Start a conversation

Tell us how your business trades today.

Bring us the workarounds — the spreadsheet beside the till, the stock count that never matches, the branch that reports differently. That conversation is where a useful system starts.