Log in to Duka Maps, open your duka, and from the Admin Menu, open the Stock Journal.
This guide explains how to record sales, check the saved entries and correct entries in the Stock Journal where possible.
Record one product or service per entry. If a customer buys several different items, submit a separate entry for each item.
The Stock Journal Form
Movement Date
The form defaults to today’s date. Leave it unchanged when recording today’s sales or stock movements. To record a past transaction, change it to the date the transaction happened.
After a successful entry, the selected date is retained for the next record. When you finish entering past transactions, change it back to today’s date before recording today’s sales.
For proper and timely analysis, record sales as soon as possible and in the order they happen.
Movement Type
Open the dropdown and select Out – Sale from the list, or type to search for it. You should see the description “Stock sold and issued to a customer. Enter the quantity issued and the selling price per unit” below the selection.
Item
Open the dropdown and type to search for the product or service you are selling, or select it from the list.
Always double-check your selection to avoid recording a sale against the wrong item. Pay close attention to similar names, different sizes, colours, and packaging quantities.
For products with tracked stock, the label shows the remaining quantity, for example:
Smartphone Charger – 9 units
This is the recorded balance before you submit the new entry. Check that it matches the physical stock in your duka before the sale being recorded.
You cannot sell products with a tracked stock balance of zero or below. Duka Maps also checks stock when saving and rejects quantities that exceed the available balance.
Untracked means stock counting has not started for that item. This may be appropriate for a service, but it does not automatically mean the item is a service. For a physical product, confirm that its incoming stock has been recorded correctly.
Opening, Closing, and Quantity
You can use the Opening and Closing fields when quantity is calculated from physical stock counting, or from meter readings. Use a decimal quantity where appropriate for how the product is measured.
For example:
Number of Chargers in Stock When You Opened Shop on Monday: 20
Number of Chargers in Stock When You Closed Shop on Monday: 15
Quantity of Chargers Sold: 5
Or
Milk Dispenser Machine Readings When You Opened Shop on Monday: 200.34
Milk Dispenser Machine Readings When You Closed Shop on Monday: 500.12
Quantity Sold: 299.78
Duka Maps calculates the positive difference, whether the reading increases or decreases.
When using physical stock counts to record sales, ensure the difference represents sales only. Opening and Closing are best used when recording sales at the end of the day, provided you are certain that every unit of the difference was sold and those sales have not already been recorded individually. Otherwise, enter only the confirmed, unrecorded quantity sold to avoid deducting stock twice.
Quantity must be positive and can have up to two decimal places.
- Enter both readings, or leave both blank to enter Quantity yourself.
- The readings must differ.
- When readings are entered, Duka Maps calculates Quantity for you.
- If the item has an earlier entry with both readings, its latest recorded Closing is suggested as the next Opening.
Check any suggested Opening reading before using it; it comes from the item’s latest recorded entry containing both readings.
Unit Price and Total
After the Quantity, enter either the Unit Price or the Total. Duka Maps calculates the other automatically.
If you know the selling price per unit:
Enter it in Unit Price. For example, 2 pens at KSh 30 each give a Total of KSh 60.
Duka Maps suggests the item’s saved selling price when you select it. Confirm that this is the actual price charged and change it where necessary.
If you know the total amount charged:
Enter it in Total. For example, 5 pens sold for KSh 150 give a Unit Price of KSh 30.
If you change Quantity afterward, Duka Maps recalculates using whichever price field you edited last.
Rounding: Unit Price uses two decimal places. For example, KSh 100 divided among 3 items gives KSh 33.33 each, resulting in a saved Total of KSh 99.99. The form displays a notice when this happens.
Check both figures before submitting.
Narration
Enter any useful details about the sale, such as payment reference or an agreed discount.
Narration is optional for ordinary sales, but required when Unit Price is zero. Explain why no payment was received.
Writing a discount or payment detail in Narration does not change the sale amount. Enter the actual agreed selling amount in Unit Price or Total.
When ready, press Enter while in the Narration field to submit the sale. Use Shift+Enter to start a new line without submitting.
You can also click Submit.
Submit and Review the Sale
Check the item, quantity, Unit Price and Total, then click Submit. You can also press Enter in the Narration field.
If the form highlights an error, correct it and submit again. Once saved, the sale appears at the top of the Stock Journal table.
Wait for confirmation before entering the same sale again. If a connection error leaves you unsure whether it was saved, reopen the Stock Journal or Stock Ledger before retrying to avoid a duplicate.
After a successful sale, the selected item, movement type and date remain available for the next entry. Check these selections and the suggested price before submitting another sale.
Understanding the Entry
| Column | What it shows |
| ID | The sale’s unique movement number. |
| Entry Date/Time | When the entry was recorded. A separate date is shown if the Movement Date differs. |
| Item | The product or service sold. Click it to view its ledger history. |
| Movement Type | Sale. Click it to view ledger entries of that type. |
| Opening / Closing | The optional readings used to calculate Quantity, if entered. |
| Stock In | Blank for a sale. |
| Stock Out | The quantity sold. |
| Unit Price | The selling price per unit. |
| Total | Quantity multiplied by Unit Price. |
| Stock Balance | The item’s remaining stock immediately after this sale, or Untracked where stock tracking has not started. |
| Stock Cost | The cost of the units sold, calculated using FIFO (First In First Out). |
| Gross Profit / Loss | Total minus Stock Cost, where the full cost is known. This shows the sale’s profit or loss before other business expenses are deducted. |
| Remaining Quantity / Shortage Absorbed | These apply to incoming stock and show a dash for sales. |
| Narration | Any explanation entered for the sale. |
| Entered By | The user who recorded it. |
A dash in Stock Cost or Gross Profit / Loss means the figure is unavailable; it does not mean zero.
The Stock Journal shows the latest 20 entries. To find an older sale, open View all entries in Stock Ledger.
Edit or Delete from Actions
- Edit: Only the creator can edit the Movement Date and Narration, within 30 minutes of posting. Quantity, item and price cannot be edited.
- Delete: Only the creator can delete an eligible sale, and it must be the latest stock movement for that item. Confirm the entry carefully. Deletion restores its allocated stock and the preceding stock balance.
The buttons appear only when the entry meets the relevant conditions. If you notice an error in the Movement Date or Narration, use Edit while it is available. For an incorrect item, quantity or price, use Delete if available, then record the sale again with the correct details.