Managing Customer Debts and Credits

Log in to Duka Maps, open your duka, and from the Admin Menu, open Customer Debts & Credits.

Use this page to record customer debts, payments, prepayments, cash refunds and bad debts written off. Each saved entry updates the selected customer’s account balance and becomes part of their statement.

Confirm the duka before entering a transaction. You need Manage Customer Debts & Credits permission and an active duka subscription. Manage Customers permission is also required to search and select customers for new entries. Sending notifications requires Send SMS permission.

Understand the Customer Balance

The balance shows whether the customer owes the duka or has credit available.

BalanceMeaning
-500.00 KSh (debt)The customer owes the duka KSh 500.
500.00 KSh (credit)The customer has KSh 500 available to use at the duka.
0.00 KSh (settled)There is no outstanding debt or available credit.

A negative balance is debt. A positive balance is customer credit. Always enter a positive Amount in the form; the Entry Type determines how it changes the balance.

The Add Entry Form

Transaction Date

The date defaults to today. For a past transaction, choose the date it happened. Future dates are not allowed.

Duka Maps records the time you actually post the entry separately. An earlier Transaction Date does not insert the entry into the middle of the account history or recalculate earlier balances. It updates the current balance when submitted, and the statement lists entries in posting order, newest first.

Record transactions promptly and in the order they happen where possible. After entering past transactions, return the date to today before recording current transactions.

Entry Type

Select the type that describes what happened. Guidance appears below the field.

Add Debt / Use Credit

Use this to record a product or service charge against the customer’s account.

Available customer credit is used first. Any amount not covered by credit becomes debt.

Before the chargeCharge enteredNew balance
Settled: KSh 0KSh 500KSh 500 debt
KSh 200 debtKSh 500KSh 700 debt
KSh 800 creditKSh 500KSh 300 credit
KSh 500 creditKSh 500Settled: KSh 0
KSh 200 creditKSh 500KSh 300 debt

Enter the full product or service charge. Do not subtract the customer’s credit yourself; Duka Maps applies it automatically.

If providing a product or service against existing credit, use this entry type rather than Refund Credit.

Receive Payment/Prepayment

Use this when recording money received from the customer.

Outstanding debt is cleared first. Any excess becomes customer credit. If the customer has no debt, the payment becomes a prepayment they can use for future charges.

Before the paymentPayment enteredNew balance
KSh 1,000 debtKSh 400KSh 600 debt
KSh 1,000 debtKSh 1,000Settled: KSh 0
KSh 1,000 debtKSh 1,200KSh 200 credit
Settled: KSh 0KSh 500KSh 500 credit
KSh 200 creditKSh 500KSh 700 credit

Record the amount actually received. Entering a payment here records it in the account; it does not collect money from the customer’s phone or bank account.

Refund Credit (Cash Refunds Only)

Use this when returning money to the customer from their available credit.

For example, refunding KSh 300 from KSh 800 credit leaves KSh 500 credit. Refunding all KSh 800 leaves a zero balance.

The customer must have credit, and the refund cannot exceed it. A refund cannot create customer debt.

This option is for money returned, not a product or service provided instead. Record a product or service using Add Debt / Use Credit. Submitting a refund entry does not transfer money; record it when the refund has actually been made.

Bad Debt Written Off

Use this when the duka decides to remove unpaid debt it no longer expects to recover.

For example, writing off KSh 300 from KSh 1,000 debt leaves KSh 700 debt. Writing off the full KSh 1,000 leaves a zero balance.

No money is received. The account is credited by the write-off, and the Entry Type identifies why.

The amount cannot exceed the debt owed. You cannot write off a settled account or an account with credit. Record the reason in Narration and follow your duka’s approval process before writing off a debt.

Customer

Open the customer selector and type to search. Use the name, nickname, phone number or another saved identifier. Confirm the name and phone number before selecting.

The current balance appears below the selector, for example:

Balance: -95.00 KSh (debt)

This is the balance before the new entry. It refreshes after an entry is saved or deleted. If the balance cannot be loaded, select the customer again before proceeding.

If the customer is not registered, click Add Customer. After a successful save, the new customer is selected for the entry.

Opening one customer’s statement does not lock the Add Entry form to that customer. Check the selected customer before every submission.

Amount (KSh)

Enter an amount greater than zero, with up to two decimal places. For example, enter 500 or 500.50.

Do not enter a minus sign for debt or refunds. Choose the correct Entry Type instead. Enter the amount for this transaction, not the resulting balance.

Narration

Narration is required and can contain up to 2,000 characters.

Write enough detail for the customer and other staff to understand the entry. Examples include:

  • Two bags of animal feed supplied on credit.
  • Partial payment received; M-PESA reference ABC123.
  • Prepayment for next week’s deliveries.
  • Cash refund of unused customer credit.
  • Unpaid balance written off following owner approval.

Changing Narration does not change the amount or balance. A promise written only in Narration does not schedule a reminder; use the promised payment date field.

Press Enter while in Narration to submit. Use Shift+Enter to start a new line without submitting. You can also click Submit.

Promised Payment Date

When available, this optional field is used for Add Debt / Use Credit entries that leave outstanding debt. Choose today or a future date. No payment time is requested.

The promise applies to the customer’s outstanding account balance, rather than tracking only the individual charge.

When enabled, the promise reminder becomes eligible from 8 am Kenyan time on the promised date. Actual sending depends on the reminder service running, valid SMS settings, permission, subscription and available SMS credits where required. It is not a guarantee of delivery at exactly 8 am.

A reminder sent on the promised date includes as you promised. Routine automatic reminders pause while an enabled future promise is pending.

Partial payments keep the promise active. Partial write-offs also preserve it. Clearing the debt through payment or a full write-off cancels the outstanding promise.

If the customer normally has automatic reminders off, select Enable promise reminder even when this customer has automatic reminders off if this promise should still generate a reminder.

Use Customer Balances to review or change promises and reminder schedules later. The date field is available only when reminder scheduling is installed and you have SMS permission.

Send SMS

Send SMS is checked by default for a new entry. Leave it checked to notify the customer immediately after saving, or uncheck it to record silently.

The message is generated automatically from the entry type, amount and resulting balance. You do not compose it yourself.

Messages begin with the duka name and the customer’s first-name greeting, and end with the duka contact number. Payment instructions beginning Pay to: are included when debt remains. Messages use the customer’s primary phone number only.

For example, a new charge may produce:

Example Duka
Hi Jane! New debt recorded: KSh 500 for [Animal feed].
Total debt: KSh 700.
Pay to: Till 123456
For Questions, Contact: 0712345678

Entry and deletion notifications must fit within three SMS units. Where necessary, transaction details are shortened with …. The full Narration remains in the statement.

If the fixed message content alone is too long, SMS may be blocked until the relevant names or payment instructions are shortened, or you choose to continue without SMS.

Unchecking Send SMS applies to this entry only. It does not switch off the customer’s automatic reminder schedule.

Submit and Review the Entry

Check the date, Entry Type, customer, amount, Narration, promise date and Send SMS choice. Click Submit, or press Enter in Narration.

Wait for confirmation. Once saved, the statement and displayed balance update without a full page reload.

The Amount and Narration fields clear. The selected customer, Entry Type and date remain. Send SMS becomes checked again. Check retained selections and any promise date before entering the next transaction.

If a connection error leaves you unsure whether the entry was saved, check the statement before submitting it again.

If SMS Cannot Be Sent

Before saving a requested notification, Duka Maps checks SMS permission, subscription, contact settings, customer phone, message length and available credits where required. Payment instructions must be saved when debt remains.

If these checks fail, the page explains that nothing was saved or deleted. Correct the problem, or choose Continue without SMS to complete the account action silently.

If the entry was saved but sending subsequently failed or could not be confirmed, the account entry remains saved. Check the statement and SMS history. Do not record the transaction again merely because the message failed.

Understand the Statement

The main page shows entries for the duka. Click a customer’s name in the table to open their individual statement. You can also open their account from Customer Balances.

Selecting a customer in the Add Entry form does not filter the table below it. Open their statement to view only that customer’s history.

ColumnWhat it shows
IDThe entry’s unique reference number.
Entry Date/TimeWhen the entry was recorded, in Kenyan time. A separate date appears when Transaction Date differs.
CustomerThe customer affected. Click their name to open their statement.
Entry TypeCharge, payment/prepayment, cash refund or write-off.
Paid InPayments/prepayments and bad debt write-offs credited to the account.
WithdrawnProduct/service charges and cash refunds deducted from the account.
BalanceThe customer’s balance immediately after that entry.
NarrationThe full explanation entered.
Entered ByThe staff member who recorded the entry.
ActionsAvailable Edit and Delete buttons.

Paid In does not always mean money received. A write-off appears in that column because it credits the account. Check Entry Type before treating an amount as a payment.

Likewise, a charge under Withdrawn does not mean cash was handed to the customer.

The Balance column is historical. The balance beside the customer’s name and below the selector is current. Older rows keep their original balances.

Entries appear newest posted first, with 20 per page. Use the page links for older records. All debt entries returns from one customer’s statement to the duka-wide list; All customer balances opens the balance overview.

Edit an Entry

Only the person who created an eligible manual entry can edit it, within 30 minutes of posting.

Only Transaction Date and Narration can be changed. Customer, Entry Type and Amount cannot be edited. Saving an edit does not send an SMS or change the account balance.

For an incorrect customer, type or amount, use Delete if the entry is eligible, then record the correct entry. If deletion is unavailable, ask the duka owner or administrator to review the correction rather than entering an unrelated transaction just to force the balance to match.

Delete an Entry

Only the creator can delete an eligible manual entry, and it must be the latest posted entry for that customer. It need not be the latest entry across the whole duka. The 30-minute edit limit does not apply to deletion.

Click Delete, check the entry ID and review the confirmation. Deletion restores the customer’s balance to what it was before that entry.

For example, deleting a KSh 400 payment that reduced debt from KSh 1,000 to KSh 600 restores the recorded debt to KSh 1,000. It does not physically refund the KSh 400.

The confirmation has Send SMS checked by default. Leave it checked to notify the customer of the removal and restored balance, or uncheck it for a silent deletion. An earlier SMS is not withdrawn from the customer’s phone.

Entries linked to another process must be corrected through their source. Delete is unavailable where a later customer entry prevents restoring the preceding balance safely.

Record an Opening Balance

When bringing an existing customer account into Duka Maps, first confirm that its opening balance has not already been recorded.

For an existing debt, use Add Debt / Use Credit with the amount owed. For existing customer credit, use Receive Payment/Prepayment with the credit amount. Write Opening balance and the relevant explanation in Narration.

This carries forward an existing balance; do not treat an opening credit as money newly received today. Consider recording it without SMS to avoid sending wording that describes a new charge or payment.

Common Questions

Does this form record a stock sale too?

No. It updates the customer account. Record the product or service sale and stock movement in the appropriate stock workflow, taking care not to duplicate entries already recorded elsewhere.

Can I refund a customer who owes the duka?

Not using Refund Credit. That option requires available customer credit and cannot exceed it.

Can I write off more than the customer owes?

No. A write-off can remove part or all of the outstanding debt but cannot create customer credit. It does not count as an actual payment or reset the reminders-since-last-payment count.

Does a partial payment remove the promised payment date?

No. The promise remains while debt is outstanding. Review it in Customer Balances if the customer agrees to a different date.

Can I save without SMS credits or completed SMS settings?

Yes. Uncheck Send SMS, or use Continue without SMS when offered. The account action must still meet its normal validation rules.

Why can I not edit or delete an entry?

Check who created it, whether the edit window has passed, whether it is the customer’s latest entry, and whether it was created through another process. Another customer’s later entry does not prevent deletion of your customer’s latest eligible entry.

Why does the balance not match the journal?

If Duka Maps reports this problem, stop and ask the administrator to investigate. Do not create a guessed payment, charge or write-off to bypass the warning.

Where do I send debt reminders?

Open All customer balances and use Send debt reminder under the relevant debtor’s status. Use Customer Balances for individual reminder schedules and promises; entry notifications on this form are separate.