Catalog

Create and Maintain Product Categories

Categories control how products are grouped for selling and reporting. They can also carry sale-screen tile styling and one category discount rule.

Menu path
Inventory -> Categories
Verified from
Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence

frontend/modules/categories.html list import export filter new controls, frontend/modals/category_add.html image name tile color tile shape discount description, frontend/static/script/js/modules/js/categories.js list detail activity save and item-category refresh, api/src/models/category.model.js branch unique name import duplicate and one-discount rule, frontend/modules/items_write.html category field, demo.posnic.io Categories reviewed on 2026-09-04

Categories list and detailsThe list shows each category, item count and discount. Selecting a row opens the detail pane with recent-sales context.
Add Category panelThe category panel controls image, name, tile colour, tile shape, discount amount or percent, and description.
Category on itemAssign the category on each item so products appear in the correct selling group.

What Categories Control

A product category is the cashier-facing and owner-facing group for items. It helps staff find products on the sale screen, helps owners filter catalog and reports, and can carry a visual tile style for touch selling.

  • Use names staff naturally say at the counter, such as Drinks, Snacks, Hygiene, Gifts or Paper & Office.
  • Create the major categories before adding many items so the item form can use consistent pickers.
  • Use tile colour and tile shape when the shop sells from touch-screen category tiles.
  • Use a category discount only when the owner wants every future item in that category to follow the same rule.
  • Review item count and recent sales before renaming, deleting or merging a category.

Screen Map

Inventory -> Categories follows the standard Posnic list pattern: toolbar actions at the top, rows on the left, and details on the right when a row is selected.

AreaWhat it doesOperator note
ImportLoads categories from CSV or Excel.Use only after the spreadsheet has one clean name per category.
Export CSVExports either the visible page or everything matching the current filter.Clear filters before exporting a full category list.
FilterSearches category rows by name and related list fields.Use it before edits when a shop has many categories.
NewOpens the Add Category panel.The save uses the active branch, so confirm the branch before setup.
List rowsShow name, item count, discount, description and added date.Item count is the quick warning before deletion.
Detail paneShows About, On Record, Recent Sales, Edit and Delete.Open this pane before changing a category used by products.

Create a Category

  1. Open Inventory -> Categories.
  2. Click New.
  3. Enter Name. The form expects a real name, not a one-letter shortcut.
  4. Upload an image only when it helps staff recognize the category quickly.
  5. Choose Colour on the sale screen when touch-screen selling is used.
  6. Choose Shape when similar colors need another visual cue.
  7. Choose either Discount amount or Discount percent. Do not use both for the same category.
  8. Enter Description when it explains what belongs in the category.
  9. Save the category.
  10. Use Open it if the app shows the last-created link and you want to review the saved category.
  11. Create or edit a product and assign this category.
  12. Open Home -> New Sale and confirm products appear where cashiers expect them.

Category Fields

FieldUse it forRule
ImageOptional visual identity for category tiles and details.Use a clean square-ish image; remove it if it becomes misleading.
NameMain category name used in lists, item setup and reports.Names are unique inside the active branch.
Colour on the sale screenFast visual scanning on touch tills.Use a small palette with clear meaning, not random colours.
ShapeA second visual cue for category tiles.Useful when staff have similar colors or low-light screens.
Discount amountFixed money discount rule for the category.Use only one discount type.
Discount percentPercentage discount rule for the category.Keep owner approval because this changes future pricing behavior.
DescriptionSetup note for owners and future cleanup.Keep it operational, such as what products belong here.

Discount Rules

The category form lets the operator choose amount or percent. The API model also enforces that both discount_amount and discount_percentage cannot be above zero at the same time.

  • Choose Discount amount for a fixed reduction such as 5.00 off.
  • Choose Discount percent for a percentage rule such as 10 percent off.
  • The form tooltip warns that category discount changes do not apply to existing products automatically.
  • After changing a category discount, create or edit the affected items if the owner wants existing products changed.
  • Run a test sale before telling cashiers that the discount is live.

Review Category Details and Activity

Clicking a category row opens the detail pane. Use it before any serious change because the category can already be tied to products and sales.

  • The detail pane shows item count, discount, description, created date and updated date.
  • Recent Sales tells the operator whether sales have already used this category.
  • Edit from the detail pane when you are correcting spelling, style or description.
  • Delete only after affected items have been moved, retired or confirmed safe.
  • Keep an export before large category cleanup so the owner can review what changed.

Import Categories

Category import is useful during setup, but it should be treated as master-data work. The backend deduplicates names case-insensitively inside the import file and separates already-existing categories from new ones.

Spreadsheet columnWhat Posnic doesMistake to avoid
nameRequired category name.Blank names are skipped or rejected.
descriptionOptional category note.Do not paste long product lists into the description.
discount_amountOptional fixed discount.Do not also set discount_percentage.
discount_percentageOptional percentage discount.Do not also set discount_amount.
imageOptional image value; default is category.svg.Do not depend on missing local image paths.

Export and Filter

Export is for audit, review and cleanup. It is not a replacement for a proper POS backup.

  • Use This page when the visible list is exactly what the owner asked to review.
  • Use Everything matching the filter for a larger filtered export.
  • Use Filter before exporting categories for a single business area.
  • Clear filters before a full category export.
  • Store exports with the date and branch name when they support a cleanup decision.

Use Categories on Items and Sales

  1. Create the category first.
  2. Open Inventory -> Items -> New or edit an existing product.
  3. Choose the category in the item picker.
  4. Complete price, stock, SKU, barcode and tax fields as needed.
  5. Save the item.
  6. Open Home -> New Sale.
  7. Use Categories on the sale screen or search the item name.
  8. Confirm the item appears under the right selling group and the cashier can find it quickly.

Troubleshooting

ProblemLikely causeFix
New category will not saveName is missing, too short or already exists in the branch.Use a clear unique name and confirm the active branch.
Discount behaves unexpectedlyExisting products were not updated after changing the category rule.Review affected item records and run a test sale.
Cashiers cannot find products by categoryItems were created without a category or placed under the wrong one.Filter Items by category, edit the affected products and retest New Sale.
Import reports duplicatesThe file repeats category names or the branch already has them.Clean the file and import only genuinely new category names.
Delete feels riskyThe category has item count or recent sales.Move products first, export the list and keep the category until history is reviewed.