Skip to content
Book a demoStart free trial

Batches and expiry now follow real stock

Batches now belong to a branch and move with every sale, return, transfer, count and write-off, so expiry lists match the stock on the shelf.

What changed

  • Each batch belongs to a branch. Existing batches were placed in the branch that holds the stock.
  • Sales take stock from the batch with the earliest expiry first. A named batch can still be picked, and expired batches are used last but never block a sale.
  • Returns and voids put stock back into its batch.
  • Receiving a purchase creates or tops up batches at landed cost, and purchase returns take from them.
  • Adjustments, damage, stock counts and transfers move batches too.

Expiry lists, the pharmacy dashboard, low stock, the stock report and the catalog now read batches per branch.

Terms in this article

More updates

  • Inventory

    Nafaa Inventory keeps stock right in every unit and every branch: products with cost, price and margin, barcodes and labels, combos, low-stock alerts, damage and adjustments with reasons, stock transfers between branches, and a full movement history. Import from Excel or paste from a spreadsheet, and change many prices at once in the bulk editor.

  • Deleting a product never removes bills

    Deleting a product that was ever sold or bought now switches it off instead, so bills and stock history stay complete. Only unused products are deleted.

  • Split payments, khata payment method and trade-in

    One bill can now be paid by several methods, khata payments record how they were paid, and trade-ins count as a payment instead of a discount.

Run your shop on Nafaa

Billing, stock, khata and reports in one place.

Chat on WhatsAppEnglish ya Roman Urdu me