Managing Customer Credit (Deni) Without Losing Money
Walk into any duka, hardware, or wholesale shop in Kenya and you will hear the same word: deni. A regular customer needs cooking oil but will not get paid until Friday. A mama mboga wants stock for her kiosk but is short this week. A contractor picks up materials and promises to pay once the client settles.
Credit sales are not optional in Kenyan retail. They are how business works. The problem is not selling on credit — it is selling on credit without a system.
The Real Cost of Untracked Deni
Most shop owners know roughly who owes them money. Roughly. The details are in a notebook, a phone contact, or just in their head. And that is where things fall apart.
- Forgotten debts — a customer swears they paid, and you cannot prove otherwise
- No limits — your best customer keeps taking more on credit until the amount is too big to collect
- Cash flow squeeze — your shelves are full of "sold" stock, but the money is sitting in other people's pockets
- No history — you cannot tell if a customer is reliable or if they always pay late
- Arguments — without records, every collection conversation becomes a negotiation
A shop in Nairobi doing KES 50,000 in daily sales might have KES 200,000 sitting in uncollected credit at any time. That is stock you already paid for but have not been paid for. If even 10% of that goes bad, you have lost KES 20,000 — enough to wipe out a week of profit.
Related: Know Your Margins: A Pricing Guide for Kenyan Retailers — if your margins are thin, bad credit hits even harder.
How Sokosuite Handles Deni
Sokosuite has a built-in credit system that tracks every shilling of deni from the moment it is created until it is paid off. Here is how it works.
Selling on Credit at the POS
When a customer does not pay the full amount, the POS automatically records the balance as deni. There are three ways this happens:
Full deni — the customer takes everything on credit. Zero cash changes hands. The full sale amount goes to their credit balance.
Partial payment — the customer pays part in cash or M-Pesa and the rest becomes deni. For example, on a KES 2,000 sale, the customer pays KES 1,200 cash and the remaining KES 800 is recorded as credit.
Mixed payment — pay some by M-Pesa, some cash, and the remainder on credit. The system handles any combination.
In every case, the customer must be identified. You either select an existing customer or create one on the spot — name and phone number is all you need. Anonymous deni is not allowed.
Automatic Credit Limits
This is where most manual systems fail. A customer starts with a small deni, pays it off, then takes a bigger one, then a bigger one — until the amount is too large to collect.
Sokosuite prevents this with credit limits at two levels:
Store default limit — set once in POS Settings. Every customer without a personal limit is capped at this amount. For example, set it to KES 1,000 and no customer can accumulate more than KES 1,000 in unpaid credit unless you explicitly allow it.
Per-customer limit — for trusted customers, you can set a higher (or lower) personal limit. A wholesale buyer you have worked with for years might get KES 50,000. A new walk-in customer stays at the store default.
If a sale would push a customer over their limit, the system blocks it with a clear message: "Credit limit exceeded. Limit: KES 5,000, Current balance: KES 4,200, This sale would add: KES 1,500." The cashier sees exactly why and can ask the customer to pay down their balance first.
Cumulative Tracking Across Visits
When Peter buys on credit today for KES 500, then comes back tomorrow and wants another KES 300 on credit, the system knows. It checks his existing KES 500 balance plus the new KES 300 against his limit. If his limit is KES 1,000, he can take the KES 300. If his limit is KES 700, the sale is blocked.
This happens automatically. The cashier does not need to look up anything or do mental math. The system does it.
Recording Payments
When a customer comes to pay off their deni, you open their profile and hit "Record Payment." Enter the amount, select the payment method (cash, M-Pesa, card, or bank transfer), add a reference number if needed, and confirm.
The payment is recorded, the customer's balance is reduced, and a transaction is logged. If they pay the full amount, their balance goes to zero. If they pay part of it, the remaining balance stays on their account.
There is also a "Pay full balance" shortcut so you do not have to type the exact amount every time.
Complete Transaction History
Every credit event is logged:
- Credit Sale — KES 2,000 added to balance (receipt #POS-2026-0047)
- Payment — KES 1,000 received via M-Pesa (reference: QKL4X7Z9Y2)
- Payment — KES 1,000 received via cash
Each entry shows the date, type, amount, and the running balance after the transaction. You can see the full history on the customer's Credit tab — no more guessing who paid what and when.
Overdue Detection
Every customer has a payment term — the number of days they have to settle their deni. The default is 30 days, but you can set it per customer.
When a customer's credit goes past their payment term, their profile shows an Overdue badge in red. You can see at a glance which customers need a follow-up call.
The Accounting Side
If you are using Sokosuite's built-in accounting, deni sales are handled correctly in your books automatically.
When a credit sale happens, the system posts a journal entry:
- Debit Accounts Receivable (the customer owes you money — this is an asset)
- Credit Sales Revenue (you made a sale)
- Credit VAT Payable (if the sale includes tax)
When the customer pays:
- Debit Cash or M-Pesa (money received)
- Credit Accounts Receivable (the debt is reduced)
This means your profit and loss statement, balance sheet, and tax reports are always accurate — even when sales are on credit. You do not need to do separate bookkeeping for deni.
Related: Understanding Double-Entry Accounting for Kenyan Businesses — if debits and credits are confusing, this guide explains them with real KES examples.
Practical Tips for Managing Deni
Set Realistic Limits
Do not set credit limits based on what a customer wants — set them based on what you can afford to lose. If a customer disappeared tomorrow, would you survive losing that amount? Start low and increase only after they have a track record of paying on time.
Keep the Default Low
Your store default Deni limit is the safety net. Set it at an amount you are comfortable giving to any customer — even one you do not know well. KES 1,000 to KES 2,000 is a reasonable starting point for most retail shops.
Collect Before It Gets Awkward
The longer a debt sits, the harder it is to collect. A KES 500 deni from last week is an easy conversation. A KES 15,000 deni from three months ago is a relationship problem. Use the overdue indicator and follow up early.
Block Repeat Offenders
If a customer consistently pays late or makes excuses, block them from credit sales. They can still buy — they just have to pay cash. Sokosuite lets you block a customer with a reason recorded, and unblock them later if the situation changes.
Review Credit Monthly
At the end of every month, look at your total outstanding credit. If it is growing faster than your collections, you have a problem. The customer list in Sokosuite can be sorted by credit balance — start calls from the top.
The Bottom Line
Selling on credit is not the problem. Selling on credit without tracking it is. Every shilling of deni that goes unrecorded is a shilling you might never see again.
With Sokosuite, every credit sale is tracked from the POS to the customer's balance to the accounting books. Limits prevent any single customer from becoming a liability. Payments are recorded with full history. And when someone is overdue, you know about it before it becomes a loss.
Your deni book should not be a notebook. It should be a system that protects your cash flow.