Groceries, general stores and more.

Your shop. In your hands.

Run your shop yourself, alone or with staff. Bring suppliers, brands, purchases, stock, sales, customer dues and cash into one connected set of records.

Sell at the counter. Know the profit by evening.

Tablet, laptop & mobile ↗
The counter, with a payment ready to review.
The counter, with a payment ready to review. Actual demo app · tap to enlarge ↗
Owner’s phone inbox with a low-stock alert and day summary
The owner’s inbox.
You decide the exceptions.

Over-limit discount → owner approval.

See the approval path ↗
Cost known Profit is permission-controlled

Sound like
your shop?

“I sold a lot today. Did I earn anything?”
Sales are easy to see. Cost changes with every delivery.

Shopkeeper answers all eight. See how ↗

Different shops. The same daily cycle.

Grocery, general store, stationery, cosmetics or hardware: if you buy products, hold stock, sell and collect payments, Shopkeeper brings that work together.

Buy → stock → sell → collect → return & reconcile

Suppliers, brands and the whole shop.

Manage your suppliers

Keep supplier purchases, partial deliveries, discounts and statements connected to the cost of what reaches your shelf.

Explore supplier management ↗

Organise products by brand

Arrange products as Item, Brand and Pack. Find a customer’s usual brand and offer an in-stock alternative when it is unavailable.

Explore brand management ↗
See how it fits your shop ↗

Built for your device

Tablet, laptop or mobile. Your choice.

A touch-friendly counter, keyboard shortcuts and a compact phone layout. See how Shopkeeper adapts to the way you work.

Tablet counter with touch controls

Tap through the counter rush.

Use a tablet at the counter: large product tiles, quantity controls and an on-screen number pad for weighing and money-based selling.

Laptop counter with keyboard controls

Keep your hands on the keyboard.

Search, scan a barcode or type 3*egg. The keyboard layout keeps shortcuts close and the cart in view.

Mobile selling in the phone layout

Your shop, within reach.

Use the compact selling layout on your phone, or check the shop and review approvals while away from the counter. Number entry uses your phone’s own keyboard.

See the layouts and device setup ↗

Three questions.
Answers you can see.

Look inside the fictional Rahim Store demo. These are the product’s screens, not promises about your results.

Sales are only half the answer.

A busy counter can hide a thin margin. Shopkeeper records what the goods cost alongside what the customer paid.

  • Delivery costs update the average cost on the shelf.
  • Discounts are recorded with the sale.
  • Cost and profit stay hidden from staff.
See how it works ↗
Owner view: sales and gross margin are separate figures
Owner view: sales and gross margin are separate figures Actual demo app · tap to enlarge ↗

Make the difference visible.

Count what is really there. Compare it with the books. A shortage stays visible until it is corrected with a reason.

  • Cash, bank and mobile money stay separate.
  • Blind counts ask for your number first.
  • Owner corrections keep a visible record.
See how it works ↗
Rahim Store demo: the drawer is ৳50 short
Rahim Store demo: the drawer is ৳50 short Actual demo app · tap to enlarge ↗

Give every due a name.

A total in a notebook cannot tell you whom to ask. See each customer’s balance, due dates and collection history together.

  • Limits and due dates belong to each customer.
  • Collections settle the oldest dues first.
  • Money left in advance stays separate.
See how it works ↗
Fictional customer balances in the Rahim Store demo
Fictional customer balances in the Rahim Store demo Actual demo app · tap to enlarge ↗

Put the cost beside the value

Keep the books. Put them to work for your profit.

What to restock, which price to review, who to remind: Shopkeeper brings the information together for these everyday decisions.

Protect the margin on what you sell

Live

Deliveries update average cost. Review products below your target margin and their suggested prices, then decide which prices to change.

See how it works ↗

Reorder before a popular item runs out

Live

Use actual sales rate and stock on hand to plan purchases. Review suggested quantities before placing supplier orders.

See how it works ↗

Make the next visit easier

Live

Find a customer’s usual brand, repeat their last order and see an in-stock alternative with its price difference when their brand is unavailable.

See how it works ↗

Keep track of dues and discounts

Live

See who owes what and when it is due. Open a WhatsApp reminder. Set staff discount limits so larger discounts need approval.

See how it works ↗

Spot money tied up on the shelf

Pilot

Review slow sellers, days without a sale and stock value before buying more. Slow-stock insight is in Pilot.

See how it works ↗

Worked example · not a customer result

Dues into cash. Cash into stock. Stock into profit.

Suppose overdue money is holding up a restock and customers want the product. Shopkeeper connects the information and records; you still follow up, receive payment, buy and sell.

  1. 01

    Collect dues → cash available

    ৳5,000

    You follow up from the dues list. A customer pays ৳5,000 of an existing debt, and you record the collection after receiving it. This recovers cash already owed; it is not new profit.

    See credit and collections ↗
  2. 02

    Restock a seller → serve demand

    ৳4,000

    You review sales rate and stock, then confirm what is needed. From that cash, you buy 50 units at ৳80 each: ৳4,000 of stock, with ৳1,000 still in hand.

    See reorder planning ↗
  3. 03

    Sell that stock → new gross profit

    ৳1,000

    Assume all 50 units sell for ৳100 each and are paid in cash. Sales of ৳5,000 minus stock cost of ৳4,000 produce ৳1,000 gross profit. The earlier ৳5,000 collection is not counted again as profit.

    See profit tracking ↗

After the base subscription in this example

৳1,000 − ৳499 = ৳501

This subtracts one monthly base fee from the gross profit on the new stock. Staff, transport, tax, discounts, returns, spoilage and other costs are not deducted. It is not net profit.

Follow the cash as well

৳5,000 collected − ৳4,000 spent on stock + ৳5,000 cash sales = ৳6,000 in hand before subscription and other costs. The old receivable became cash; the new sale generated ৳1,000 gross profit.

If these sales would have happened anyway, their full profit cannot be attributed to the app. Compare with your previous process to measure the actual improvement.

Which available features support this example?
  • Due dates, outstanding balances and collection records; collections settle oldest dues first.
  • Reorder advice uses sales rate, stock and incoming orders. You review and place the order.
  • Deliveries update average cost; sales record the cost of goods and gross profit.

These capabilities were checked against product code and demo screens. The example amounts are not measured results from a shop.

Watch the actual app workflows ↗
Not available yet

Package offers for long-held stock

A discounted product-package builder and printable posters are planned. Today, review slow-stock information and decide what to do; the app does not yet create automatic offers or guarantee increased sales.

One day.
One set of books.

Follow the shop from its first cash count to the last sale. The accounting happens while you work.

08:00 / Morning

Open the day.

Count what is really in the drawer. The books know the opening cash; a blind count asks you to enter your number first.

Cash count and reconciliation in the demo account
Cash count and reconciliation in the demo account Actual demo app · tap to enlarge ↗
12:30 / At the counter

A sale becomes a profit figure.

Search, weigh, discount and split a payment. The sale records its real cost, stock, money and dues together.

Sell: product search, cart and discount in the demo account
Sell: product search, cart and discount in the demo account Actual demo app · tap to enlarge ↗
Sale recordedStock + cost + money + dues
15:00 / A delivery arrives

The deal reaches the books.

Ten cartons plus one free. Freight and the supplier’s discount belong in the real unit cost. Review prices that fall below target.

Supplier overview and purchasing records
Supplier overview and purchasing records Actual demo app · tap to enlarge ↗
20:00 / Evening

Know where the day went.

Count the drawer, resolve the difference and close the day. See sales, product profit, dues and cash together.

Owner’s Today overview in the demo account
Owner’s Today overview in the demo account Actual demo app · tap to enlarge ↗

From the first delivery
to the last taka collected.

Follow the shopkeeper, the product and the customer through the whole shop.

Explore the three journeys ↗

Know what moves. Know what is stuck.

A full shelf is not always a healthy shelf. See fast sellers, slow sellers and stock that has been sitting too long, then decide what to buy and what needs attention.

Explore stock movement ↗

Nothing is erased.

A mistake is fixed by a new, visible entry. Every action has a name and a time.

Same number everywhere.

SaleReceiveReturnExpense
One ledger
TodayReportsReceipt
Each screen reads the same recorded money. Download diagram ↗

Exact integer money

Every action audited

Retry never double-posts a sale

Look inside the books ↗

Next, with no guesswork.

Opening dues, package offers and discount insight are not available yet. See what is planned and what is still being explored.

What we are building next ↗

Watch the work, before you decide.

Short recordings of the real demo app, with captions and written steps. Playback starts only when you choose.

01

Sell by weight or money

Watch the touch number pad calculate 500 g, then ৳50 worth of rice. The clip stops before adding anything to the cart.

Written walkthrough
  1. Open the rice quantity panel.
  2. Enter 500 g and review the calculated price.
  3. Switch to selling by amount and enter ৳50. Nothing is submitted.

Fictional demo records. These clips show separate workflows, not a completed sale or a customer testimonial.

Watch product walkthroughs ↗

Before you decide

Your products. Your questions. Your decision.

See the work with a few products from your shop. Check what fits today, understand the limits and agree on the terms before paying.

Fair questions.
Plain answers.

A few things worth knowing before you switch.

I already have a billing app. Why switch?

A billing app records the sale. Shopkeeper also records its cost, stock, dues and money movement, so you can see what the sale actually earned.

Will my counter staff find it complicated?

The counter path is search or scan, quantity, pay. Keyboard shortcuts are optional and shown on screen. The accounting happens underneath.

Can staff see my profit?

Cost and profit are hidden from staff by permission. Staff see only their own sales. Owners choose the additional access managers receive.

What if I sell on bKash or Nagad?

You can split a sale across cash, bKash, Nagad, card, bank and credit. Each fund has its own account; transfers and fees have their own records.

Can I buy by the sack and sell by the kilo?

Yes. Define a named pack with its own price. At the pack quantity the cart uses that rate, and stock can be displayed as sacks plus loose weight.

What happens when the connection drops?

Selling needs a connection. Retrying a request does not post the same sale twice.

All questions and answers ↗

Let’s look at
your shop.

Tell us how you sell today. We’ll walk through the counter, dues and books with your questions in mind.

Talk on WhatsApp ↗

Tell us about your shop

Add your details, then review the message before sending.

Your contact details
How your shop works
How your enquiry works

You review the message here, then choose WhatsApp or email to send it. Preparing a message does not book a demo or send your details to us.

Your details go into a message you can review. Nothing is sent until you choose Send in WhatsApp or email.

Prepare for your demo ↗

Worth a look

A few useful ways to see whether Shopkeeper fits your shop.

Open original image ↗