Skip to main content
A Stock Profile is what turns a regular menu/catalog product into a stock-tracked one — it decides whether the system counts how many units you have, how it’s costed, when to reorder, and whether it can be bought, sold, or both. Every stock-tracked product needs exactly one Stock Profile. The easiest way to set one up is from the product’s own Stock tab on its edit page (there’s also a standalone list at Retail → Stock Profiles, mainly useful for a bird’s-eye view across all products).
Product Stock Profiles list showing tracking badges and reorder levels

Stock Profile Fields

Batch & Expiry Tracking

Turn these on for products where individual batches expire — dairy, medicine, anything with a shelf life. Once enabled:
  • Every Goods Receipt line for this product requires a batch number and expiry date.
  • Every sale automatically consumes the oldest-expiring batch first — this is called FEFO (First-Expired, First-Out), and it’s automatic, you never pick which batch to sell from.
Worked example: You receive Batch A (expires Jan 15) on Monday, then Batch B (expires Feb 1) on Wednesday. A sale on Thursday for 5 units automatically pulls from Batch A first, even though Batch B arrived more recently — because Batch A expires sooner.
Turn on Track Batch/Track Expiry only for products that genuinely need it. Every extra field is one more thing staff have to fill in at receiving time — don’t enable it for shelf-stable items like canned goods.

Purpose flags — Is Sales Item / Is Purchase Item

These two flags describe what a product is for, and the system enforces them:
  • Turn off Is Purchase Item for something you only ever sell — a made-to-order dish, a service fee. The system will reject any attempt to put it on a Purchase Invoice.
  • Turn off Is Sales Item for something you only ever buy — a raw ingredient, packaging material you use internally but never sell directly. The system will reject any attempt to put it on a Sales Invoice.
This is a real, enforced restriction, not just a label — trying to sell a purchase-only item (or buy a sales-only item) returns an error at the point of creating the invoice.

Create a Stock Profile

1

Open the product's edit page

Go to Catalog → Products, and open the product you want to track.
2

Go to the Stock tab

Only visible if the Retail module is enabled for your account.
3

Fill in UOM at minimum

UOM is the only truly required field to create the profile.
4

Set reorder level, batch/expiry, and purpose flags as needed

All optional — configure what’s relevant to this product.
5

Save

Stock is now tracked for this product going forward.

Frequently Asked Questions

It’s the trigger point for the Low Stock report — nothing more. It doesn’t block sales or auto-create a purchase order. Think of it as a “you should probably reorder soon” flag.
Only if what you sell can physically expire and you need to know which specific batch a customer received (e.g. for a recall). If you sell non-perishable goods, leave both off — the product still gets normal stock tracking without the extra batch/expiry data entry.
Yes — that’s the default for every new profile. Most products (you buy it, you sell it) should leave both flags on. Turn one off only for the specific one-directional cases described above.
The product behaves exactly as before — it’s not stock-tracked, doesn’t appear in Stock Balances/Ledger, and can be freely used on any document without stock restrictions. Retail features are entirely opt-in per product.

Units of Measure

Required before creating a profile

Goods Receipts

Where batch/expiry is entered

Low Stock

See reorder-level alerts in action

Importing Data

Set stock profiles in bulk via Product import