Adding Products

What a product is in Kassly, the fields the form asks for, how barcodes and SKUs work, and the Free plan's 50-item limit.

7 min read · Updated 26 Sep 2026

On this page

A product is anything you sell by the piece, the kilo or the bottle — and also anything you only buy and consume, like cooking oil or shampoo. Both live in the same list, which is why the page is called Products even in a salon.

You add products in the web back office, not in the app. Open Catalog → Products. Anyone with the View Products permission sees this page, Cashiers included, but adding or changing products needs Create / Edit Products, which Owners and Managers have by default.

Creating a product

  1. Click Add Item at the top right of the Products page.
  2. Fill in the name, the category and the selling price. Everything else has a sensible default or can wait.
  3. Click Create Item.

The form is one page in four blocks — Basic Information, Pricing, Variants and Options — and it saves in one go. Nothing is created until you press the button.

What each field is for

Field Required What to put in it
Product Name Yes Up to 255 characters. This is what the cashier sees and what prints on the receipt.
SKU No Your own item code. Leave it blank and Kassly generates one.
Barcode No The number on the packaging. See Barcodes below.
Category Yes Every sellable product needs one. See Categories and organisation.
Description No Up to 2,000 characters.
Product Image No JPEG, PNG or WebP, up to 5 MB and 4096 × 4096 pixels.
Cost Price Yes What the item costs you. Pre-filled with 0 so you are not blocked by a number you don't know yet.
Selling Price Yes What you charge.
Wholesale Price No Only appears if you have the Customer Memory & Promos add-on.

Cost and selling price are covered properly in Product pricing, including tax handling.

How the SKU is generated

If you leave SKU blank, Kassly builds one from the category name: the first three letters, then a four-digit number. A product in Beverages becomes BEV-0001, then BEV-0002, and so on. With no category it uses GEN-0001, and an ingredient gets ING-0001.

Three things worth knowing about SKUs:

  • They must be unique within your store. If you type one that is already taken, the form tells you so and refuses to save.
  • A deleted product keeps its SKU reserved. You cannot reuse the code of an item you deleted last month.
  • Services keep a separate list. A service and a product can share the same SKU without clashing.

Options

The Options block at the bottom is a row of checkboxes.

Checkbox Default What it does
Track Stock Off Counts quantities for this item and enables low-stock and out-of-stock warnings.
Show in POS On Whether the item appears on the selling grid at all.
Ingredient / Raw Material Off Files the item under Ingredients as well. A label only — see Ingredients and recipes.
Stock from Recipe Off Only on an item that already has a recipe. Covered in Recipe-derived stock.
Active On An inactive product stays in your records but leaves the selling grid.

Track Stock is off on a new product. If you save without turning it on, Kassly asks you to confirm — "This product will not have its stock levels tracked. You won't receive low-stock alerts or out-of-stock warnings." That prompt is the only warning you get, so read it rather than clicking through it.

Track Stock and Stock from Recipe are mutually exclusive. An item either counts its own finished units or works its availability out from its ingredients, never both, and Kassly rejects a save that tries to set both.

Which products appear in your online storefront is a separate question, handled in Online store setup.

Stock unit and packaging

Turn on Track Stock and two more fields appear.

Stock Unit is the unit you count in. There are five to choose from:

Unit Counts in
pc Pieces
g Grams
kg Kilograms
ml Millilitres
L Litres

Your cost price is per this unit. If you track flour in grams, the cost price is the cost of one gram — ₱0.045 for flour at ₱45 per kilo, not ₱45. Cost is kept to four decimal places precisely so sub-centavo unit costs stay honest.

Packaging Conversions let you buy in one unit and count in another. Add a row reading 1 case = 24 pc, or 1 sack = 25000 g, and that unit becomes available wherever you enter quantities for this item. Each unit can only have one conversion, and you can add up to 20 per product.

Barcodes

There is one Barcode field, on the product itself. Type it in or scan it — the field ignores the Enter keystroke a hardware scanner sends at the end, so scanning will not submit the form early.

Whether the field appears at all depends on the business type you chose at signup:

Business type Barcode field
Retail Shown, prominently
Food & Beverage Shown, labelled (optional)
Services Hidden — a haircut has no barcode

A scan at the counter matches the product's own barcode first, then the barcodes of individual variants.

No barcode on the packaging? Press Generate next to the empty Barcode field for an in-store barcode, then save the product. What those numbers are, and how to print them on labels, is in Barcode labels.

Kassly does not enforce unique barcodes. Two products can carry the same number, and a scan will then ring up whichever one it happens to find first. Keeping barcodes unique is your job, not the system's.

Product types

You will see a Type on the product detail page. You never set it yourself:

  • Standard — an ordinary item.
  • Variant Parent — set automatically as soon as you add variants, and changed back to Standard if you remove them all. See Variants.

The Free plan's 50-item limit

The Free plan allows 50 products. What counts toward it surprises people, so to be exact:

Counts toward the 50 Does not count
Sellable products Products you have deleted
Products flagged as ingredients Services
Inactive products

When you hit the limit the Add Item button is no longer offered, and trying anyway returns "SKU limit reached (50 products on Free plan). Subscribe to any add-on to unlock unlimited SKUs."

Any paid add-on or bundle lifts the cap to unlimited — including one you are only trialling. It does not have to be an inventory add-on; the cheapest ₱300 add-on removes the limit just as well as the Everything Bundle. See Plans and add-ons.

One catch: while you are at the cap you also cannot add a service, even though services themselves do not count toward the 50.

Deactivating and deleting

Prefer deactivating. Clear the Active checkbox and the product leaves the selling grid immediately, while every report and receipt that mentions it stays intact. Kassly asks you to confirm.

Deleting cannot be undone from the interface, and Kassly says so before it does it. Your history is safe either way — receipts, Z-readings and BIR reports keep their own copy of the name, SKU and price at the time of each sale — but the item itself, and its stock, leave the catalog.

Kassly refuses to delete an item that something else depends on, and tells you what:

Reason it stops you Why it matters
Used as an ingredient in a live recipe That recipe would quietly stop deducting stock.
Has recipes attached The recipes become unreachable.
Still has stock on hand That value drops out of inventory valuation.

You get the list and a Delete anyway button. Read the list first — a recipe that has lost an ingredient still looks perfectly healthy on screen.

Where to go next