Technical Reference: Product Tag Levels
Overview
Product tags in Paimnt use a hierarchical tree structure with parent-child relationships. This technical reference explains how tag levels work and how to use them effectively for reporting and organization.
Tag Tree Structure
Parent-Child Relationships
When a tag is attached to another tag, the relationship creates a parent-child structure:
- The higher level is called the parent
- The lower level is the child
- All children and sub-children of a tag are part of that tag’s branch
Level Numbering
Tag levels are numbered based on their depth in the tree:
| Level | Definition | Example |
|---|---|---|
| Level 1 | Tags with no parent | REPORTING, GST, RETAIL |
| Level 2 | Tags with one parent | Food, Drinks (under REPORTING) |
| Level 3 | Tags with a parent and grandparent | Breakfast, Lunch (under Food) |
| Level 4 | Tags with parent, grandparent, and great-grandparent | Eggs, Pancakes (under Breakfast) |
| Level 5+ | Additional nested levels | Further subdivisions as needed |
Example: Complete Tag Hierarchy
REPORTING (Level 1)
├── Food (Level 2)
│ ├── Breakfast (Level 3)
│ │ ├── Eggs (Level 4)
│ │ │ ├── Scrambled (Level 5)
│ │ │ └── Poached (Level 5)
│ │ └── Pancakes (Level 4)
│ ├── Lunch (Level 3)
│ │ ├── Burgers (Level 4)
│ │ └── Salads (Level 4)
│ └── Dinner (Level 3)
│ ├── Mains (Level 4)
│ └── Sides (Level 4)
└── Drinks (Level 2)
├── Coffee/Tea (Level 3)
│ ├── Espresso (Level 4)
│ └── Filter Coffee (Level 4)
└── Soft Drinks (Level 3)
├── Cola (Level 4)
└── Lemonade (Level 4)How Levels Affect Reporting
Report Grouping by Level
Reports that group by tag allow you to select the level of tag detail you want to display. This gives you flexibility in how much detail to show.
Example: Sales Report by Tag Level
| Report Level | What You See | Use Case |
|---|---|---|
| Level 2 | Total Food: $5,000 Total Drinks: $2,000 | High-level business overview |
| Level 3 | Breakfast: $1,500 Lunch: $2,000 Dinner: $1,500 Coffee/Tea: $1,200 Soft Drinks: $800 | Meal period analysis |
| Level 4 | Eggs: $800 Pancakes: $700 Burgers: $1,100 Salads: $900 Espresso: $700 Filter Coffee: $500 | Detailed product category performance |
Drill-Down Reporting
You can start at a high level and drill down into more detail:
- View Level 2: See total “Food” sales
- Expand to Level 3: See how “Breakfast”, “Lunch”, and “Dinner” performed
- Drill to Level 4: See which specific items drove sales in each meal period
Tag Branch Concepts
What is a Branch?
A branch consists of a parent tag and all its descendants (children, grandchildren, etc.).
Example:
Food (Parent)
├── Breakfast (Child)
│ ├── Eggs (Grandchild)
│ └── Pancakes (Grandchild)
└── Lunch (Child)The “Food” branch includes:
- Food (the parent)
- Breakfast and Lunch (children)
- Eggs and Pancakes (grandchildren)
Branch Operations
Moving a branch:
- When you move a parent tag, the entire branch moves with it
- All children and grandchildren maintain their relationships
Inheriting properties:
- Print Headers set on a parent apply to all children in the branch
- Unless a child has its own Print Header override
Deleting a branch:
- Cannot delete a parent tag with children
- Must remove or move children first
Tag Level Limits
Maximum Depth
The system supports unlimited tag levels, but practical considerations apply:
Recommended:
- Small businesses: 2-3 levels
- Medium businesses: 3-4 levels
- Large businesses: 4-5 levels
Why limit depth:
- Too many levels become difficult to navigate
- Staff may struggle to find the right category
- Reports become overly complex
- Diminishing returns on detail beyond 5 levels
Minimum Requirements
Required Level 1 tags:
- REPORTING: Must exist for sales reporting to work
- GST: Must exist for tax calculations
Do not delete or rename these system tags.
Best Practices
Organizing Your Tag Tree
✅ Keep reporting tags under REPORTING
- All tags used for sales analysis should be children of REPORTING
- This keeps your reporting structure clean and organized
✅ Use meaningful level 2 categories
- These become your primary report groupings
- Examples: Food, Drinks, Retail, Services
✅ Limit depth based on business needs
- Don’t add levels “just because”
- Each level should serve a specific reporting or organizational purpose
✅ Consistent structure across branches
- If “Food” has “Breakfast/Lunch/Dinner”, consider using similar patterns elsewhere
- Makes the system easier for staff to understand
Print Header Assignment
✅ Assign Print Headers to parent tags
- Children automatically inherit
- Saves configuration time
- Ensures consistency
✅ Override only when necessary
- If one item in a branch needs different printing
- Set Print Header directly on that child tag
Technical Details
Tag Relationship Storage
Each tag stores:
- Tag ID: Unique identifier
- Parent Tag ID: Reference to parent (null for Level 1)
- Tag Name: Display name
- Print Header ID: Associated print destination
- Sort Order: Position within parent’s children
Querying Tag Hierarchies
Reports and filters traverse the tag tree using recursive queries:
- Start at selected level (e.g., Level 2)
- Find all tags at that level
- For each tag, find all descendants
- Aggregate sales data for all products tagged with any tag in the branch
This allows “Food” sales to include all items tagged with “Breakfast”, “Eggs”, “Scrambled”, etc., even though “Food” itself isn’t directly assigned to those products.
Related Topics
- Organising Products with Tags (Main Guide)
- Setting Up Print Headers
- Creating Your Product List
- Using Reports