ÚvodPlatformaCeníkOtázkyNápovědaKontakt Kivea FlexiKivea PohodaKivea účetnictvíKivea fakturace Vyzkoušet zdarma

What is this?

Admin note: This guide explains how to perform deeper, more complex searches that connect different types of data—for example, finding products based on their variants or categories, or searching through categories and their sub-categories.

Who is this for? Administrators should read this when simple searches aren’t enough. It’s useful for “advanced” users who want to create deep business rules. Developers will also use these techniques to build sophisticated integrations.

Key benefits for the e-shop:

  • Cross-Data Searching: Find products by their variants, categories or other related records.
  • Hierarchical Search: Easily find all products in a main category and all its sub-categories with a single rule.
  • Translation Management: Identify products that are missing descriptions in specific languages like German or French.
  • System Integration: Use “External IDs” to find data using the same codes your other systems (like accounting) use.

Advanced Filtering

Advanced filtering allows you to reach across entity boundaries and perform deep analysis on your hierarchical data and relationships.

[navigate:where-basics.md|Basic Filters|filter] [navigate:where-functions.md|Functions & Aggregation|zap]


Relation Filtering

Relations let you filter entities based on the values of their related records.

Relation Types: ONE vs MANY

  • ONE Relation: A single reference (e.g., product to brand). SQL uses a join.
  • MANY Relation: A collection of records (e.g., product to variants). SQL uses an EXISTS subcondition.
supplier.name = "Acme"

[badge:Relations|secondary|right]

Deep Relation Traversal

You can traverse multiple relations deep using dot notation.

product.supplier.name = "Acme"

[badge:Relations|secondary|right]

Relation with Brackets

Use brackets to apply multiple conditions to the same related entity.

variants[priceWithVat > 1000 and weight > 5]

[badge:Relations|secondary|right]

Double Bracket Relations

Chain bracket conditions for precise deep filtering.

variants[name like "MacBook"].supplier[name = "Acme"]

[badge:Relations|secondary|right]


Hierarchical Subtree Filtering

The in subtree operator matches records within a hierarchical parent-child structure, like a category tree. It is available only in setups that include product categories.

Subtree Filtering (Recursive)

Includes the root and all its descendants.

in subtree "code:ELECTRONICS"

[badge:Hierarchical|secondary|right]

Nonrecursive Subtree

Matches only the direct children of the root.

in subtree "code:ELECTRONICS" nonrecursive

[badge:Hierarchical|secondary|right]

Subtree in Relation

Filter products that have a variant in a specific category branch.

variants[in subtree "code:FASHION"]

[badge:Hierarchical|secondary|right]


Lookups and External IDs

Reference entities by unique codes or identifiers from external systems (like ABRA Flexi/FlexiBee).

Standard Lookups

Use code:, ean:, or guid: prefixes.

supplier = "code:ACME"

Equivalent to supplier.code = "ACME".

External ID Lookups

Reference entities by their ID in another system.

supplier = "ext:SYSTEM:SUPPLIER:123"

Everything after ext: is treated as the external identifier.


Translatable Fields

Query multilingual content in specific languages using the fieldName:langCode syntax.

Language-Specific Filter

Supported codes: cs, en, de, fr, hu, pl, sk.

name:cs = "Ahoj" and name:en = "Hello" and description:de like "Produkt"

[badge:Translatable|secondary|right]

Missing Translation Checks

Find entities where translations are missing.

missing "en" translation or missing any translation

[badge:Translation|secondary|right]