Use Products to maintain the items you sell and the quantities you own. A product's unit settings affect purchases, sales, stock history and estimated profit, so establish them carefully before trading.
Add your first product
- Open Products → Add Product.
- In Basic Info, enter a clear Name, such as Water 600 ml. Use SKU for your internal item code and Barcode for the code printed on the item. Check that a different product is not already using the same identifier.
- Choose or type a Category to group similar items.
- Set Base / selling unit to the unit customers buy, such as Bottle. If applicable, enter Purchase unit, such as Carton, and the number of base units in one purchase unit.
- Enter Cost per base unit, opening Stock in base units and the Low stock alert threshold.
- Review the Prices section and enter the appropriate selling prices for your configured price types. Save, search for the new item and check its displayed stock and prices.
Understand units before entering quantities
- Base unit
- The unit in which stock is counted. If it is Bottle, stock 24 means 24 bottles.
- Purchase unit
- A buying package containing a known number of base units. Carton can contain 12 bottles.
- Conversion
- The number of base units in one buying package. For this example enter 12, not a price.
- Cost
- The product form's cost is per base unit. A 7,200 Ks carton containing 12 bottles corresponds to 600 Ks per bottle.
Prices and free goods
Price types such as Retail and Wholesale let you sell the same item at different rates. They are not quantities. Select the intended price type at the till and verify the amount. Automatic pricing rules, where configured, depend on cost; review prices when buying costs change. Do not assume every imported or newly created price is correct.
FOC means free of charge. A free item still leaves or enters physical stock. Use the FOC quantity field in the appropriate sale or purchase rather than hiding free goods in a discount.
Correct stock with a traceable adjustment
- Search for the item and open its stock adjustment or stock history action.
- Count the real stock in its base unit and compare with the recorded stock.
- Enter the difference in Quantity, not the new total. If MKPOS shows 20 but the count is 18, enter -2. If the count is 23, enter 3.
- Enter a specific Reason, such as “Physical count: two damaged bottles removed”. Review the sign, then submit.
- Check the resulting stock and Movement History. Ask an authorized user if the action is protected.
Record deliveries through New Purchase, not a stock adjustment, when you also need a supplier bill and purchase cost. An adjustment is not a substitute for a purchase or a sale.
Find items and low stock
Use search, Category, Stock status, Exact barcode / SKU or Quick scan. Clear filters when a known item disappears. Review the low-stock and out-of-stock summaries for replenishment, then verify the actual quantities before ordering.
Import or export products with CSV
- Create and verify one product manually. Use Export to obtain the current CSV column structure, including your price-type columns. The AI assistant can also provide a standard product-import template.
- Prepare a UTF-8 CSV with Name, SKU, Barcode, Category, Base Unit, Purchase Unit, Units per Purchase Unit, Cost, Stock, Low Stock Alert and the price columns. Keep barcodes as text to preserve leading zeros. A file supports up to 5 MB and 5,000 products.
- Ask the AI assistant to check your CSV for row and field errors before import if needed. This checks the supplied file only; it does not inspect your private catalog or import anything.
- Select Import and review the data. Desktop uploads and processes after your explicit Import action; mobile has a separate upload/review/import step. The server checks business configuration and existing-product codes. Correct invalid rows before importing. Blank optional numeric cells default to zero; malformed numeric values are rejected.
- Read the result: imported, skipped and failed are different counts. Existing active SKU/barcode matches and repeated codes are skipped; it is not an update-existing-products operation. Products without codes are not matched by name. Resume an interrupted saved import rather than blindly uploading changed copies.
A product CSV is not a full business backup. It does not replace sales, payments or stock history.