OSOSS Help Center
العربيةOpen Dashboard

Categories

A category is what a product is - Beverages, Hot Drinks, Espresso. Categories are the backbone of your catalog: they are the menu structure at the register, the navigation on your storefront, and the grouping every sales report falls back on.

Menu path: Inventories > Categories

Screenshot from the live OSOSS Dashboard

How the category tree works

Categories are hierarchical. Each one may have a Parent, which is what builds the tree, and the list shows how many children and how many products each category holds - the fastest way to spot a branch nobody is using or a category quietly holding half your catalog.

Each category carries:

FieldPurpose
Name (Arabic and English)What staff and customers read
CodeYour internal reference, useful for imports and reconciliation
ParentPosition in the tree
Image and Arabic imageThe tile shown in menus and on the storefront; a separate Arabic image lets you localise text baked into artwork
SlugThe category's address on your storefront
Position / SortableDisplay order among siblings
VisibilityWhich channels the category appears in - store, POS, mobile app
SEO blockMeta title, description and keywords, plus Open Graph title, description, image and site name

Visibility is the field that surprises people. A category can exist for your team without appearing online: switch off the store and mobile channels and it becomes a back-office grouping only, which is exactly what you want for categories like "Damaged" or "Staff purchases".

Build a category structure

  1. Create the top level first - the four to eight groups a customer would name unprompted.
  2. Add children only where a parent genuinely has enough products to justify browsing. Two levels is usually right; three is the practical limit before customers get lost.
  3. Set the image and the position so the menu reads in a sensible order rather than alphabetically by accident.
  4. Fill the slug and SEO fields for anything visible online - the category page ranks for exactly the searches you care about.
  5. Set visibility per channel, then save and assign products.
Tip: Design the tree around how customers ask, not how you purchase. Your buying structure belongs in brands and vendors; the category tree exists to help someone find a product in three clicks.
Warning: Moving a category moves its products with it, and changing a slug breaks any link or advertisement pointing at the old address. Add a redirect under Rewrite URL when you rename an established category.

Full reference

Every option and control on this page, at a glance.

Filters (7)

Form fields (14)

Code, Image, Image ar, Name, Parent ID, Postion, SEO data - meta description, SEO data - meta keyword, SEO data - meta title, SEO data - og description, SEO data - og image, SEO data - og site name, SEO data - og title, Slug

Record actions

Sortable columns

ID, Name

Standard list tools

Every list page in OSOSS shares these controls:

Related pages

What you can do on this page

Every action on this page, step by step. What you see depends on your role, so a control your account is not set up for simply does not appear.

Add a record

  1. Click Add above the table - some pages label it New or show a + icon.
  2. Complete the form. Required fields carry a red asterisk and the form will not submit until they are filled.
  3. Click Save. Validation runs on submit; any field that fails shows its message directly beneath itself, and the form scrolls to the first problem.
  4. You land back on the list with the new record in place.

Fields on this form: Code, Image, Image ar, Name, Parent ID, Postion, SEO data - meta description, SEO data - meta keyword, SEO data - meta title, SEO data - og description, SEO data - og image, SEO data - og site name, SEO data - og title, Slug

Searchable dropdowns (customer, product, account, branch...) read live data - start typing to filter rather than scrolling. Most also let you create the missing record inline so you don't lose the form you are in.

Edit a record

  1. Open the row's actions menu at the end of the row and choose Edit, or open the record and use Edit there.
  2. The form loads with current values. Change only what you need.
  3. Click Save.
Documents that are already posted to accounting, paid, or fulfilled lock the fields that would change history. That is deliberate - issue a refund, a credit note, or an adjustment instead of rewriting the original.

Open and read a record

  1. Click the row, or choose View in the row's actions menu.
  2. The detail page shows the record's own fields, its related documents, and the actions that apply to it in its current state.
  3. Use the breadcrumb or your browser's back button to return - your filters, sort, and page position are preserved.

Delete a record

  1. Open the row's actions menu and choose Delete.
  2. Confirm in the dialog. There is no undo from the interface.
  3. If the record is referenced elsewhere - used on a document, tied to a transaction - the delete is refused and the reason shown.
When a record is refused, or when it may come back into use later, deactivate it instead of deleting. It disappears from selection lists while every document that already used it keeps reading correctly.

Actions on a single record

These appear in the row's actions menu and on the record page, and only when the record's current state allows them:

Export the list

  1. Filter and choose your columns first - the export mirrors exactly what is on screen, not the whole table.
  2. Click Export All.
  3. The file downloads as a spreadsheet: one row per record, your visible columns in your order.

Import records

  1. Click Import.
  2. Download the template if one is offered - its headers are exactly what the importer expects.
  3. Fill the template, upload it, then map each of your columns to an OSOSS field.
  4. Read the validation result: every failing row is listed with its reason. Fix the source and re-upload, or import only the passing rows.
  5. Confirm. Nothing is written to your account before this step.