Skip to content

PRD: Sale Categories

ModuleCommercePRD IDPRD-CAT-001
StatusReady to devFEATCAT
EpicPlaneBANA-1531
Date2026-05-18Versionv1.0
Packages@nx/commerceURDCAT
SurfaceClient · Owner/Mgr
OwnerPhát Nguyễn

What sale categories are

Categories are a merchant's product groups - a coffee merchant has "Coffee", "Milk tea", "Pastries". When creating a category in the Client app, the user picks an icon and a color for the group: about 40 industry suggestions are ready, or search the whole library for more. On the POS, the category shows up as a colored tile the cashier recognizes at a glance instead of reading text.

Tree arrangement and a shared picker

Categories nest as parent - child, up to 8 levels; tree arrangement is done on the Categories screen in the Client app. The icon-color picker is packaged as a shared control - other forms drop it in and use it right away, already adopted by the finance-category and helpdesk ticket-category forms.

This PRD covers sale categories only. Material categories for the warehouse are a different screen, to be designed in the Inventory module.

Why icon and color

The category form used to be just a name field: on a busy touch-screen POS every group looked like identical plain text, so cashiers had to read each label - slow scanning and easy mis-taps. There was also no way to express nested groups - everything was one flat list.

This increment gives every category an icon and a color, adds a parent-group selector to build a tree, and packages the icon-color picker as a control other forms can reuse.

One category, from creation to the POS

Open the Categories screen → create or edit a group → pick an icon and a color, the preview updates instantly → optionally pick a parent group to arrange the tree → save → the group shows up as an icon-carrying, color-coded tile on the POS and in the admin app.

The easiest thing to get wrong

The Edit-merchant screen has no parent selector

Categories are manageable through two paths: the dedicated Categories screen, or right inside the Edit-merchant screen. Creating a category on the Edit-merchant screen still saves normally, but that form has no parent-group selector - arranging the tree requires opening the dedicated Categories screen.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.