Skip to content
Log in

POS layout filters

On this page

POS layout filters let staff narrow a list layout to the records they need. Filters appear as controls in the POS alongside the record list, and are configured per layout in Salesforce.

Filters apply only to List type layouts. See [[pos-layouts POS layouts]] for an overview of layout types.

POS layout filter types

Each filter record (Pos_Layout_Filter__c) has a Type that controls how the filter appears and how it matches records.

Select

A single-value dropdown. Staff choose one option from a predefined list to filter records.

  • Values are defined in the Select Options field as semicolon-separated value:Label pairs — for example: active:Active;inactive:Inactive
  • Matching is case-insensitive
  • An All option is added automatically to clear the selection

Multiselect

A checkbox list that allows staff to select multiple values at once.

  • Values are defined in the Select Options field using the same value:Label format as select filters
  • Use a semicolon to separate each option: lead:Lead;vip:VIP;wholesale:Wholesale
  • Matching is case-insensitive; a record is included if it matches any selected value

Number range

Two numeric inputs — Minimum and Maximum — that filter records to those within the specified range.

  • Either input can be left blank to create an open-ended range (for example, “500 and above” or “up to 100”)
  • The filter button displays the applied range in a readable format:
    • Both values: 100 – 500
    • Minimum only: 100 min
    • Maximum only: 500 max

Date range

Two date pickers — From and To — that filter records by a date field.

  • Either date can be left blank to create an open-ended range (for example, “from 1 Jan 2025 onwards”)
  • The To date is inclusive — records dated on that day are included
  • The filter button displays the applied range in a readable format:
    • Both dates: Jan 15 – Feb 28
    • From only: From Jan 15
    • To only: To Feb 28

Hidden

A filter that applies values without displaying any filter control to staff. Hidden filters are always active, but staff cannot see or interact with them.

Use hidden filters to enforce a fixed scope on a layout — for example, always showing only records with a specific status — without exposing that constraint to the user interface.

:::note Hidden filters behave differently to visible filters in several ways: - They do not appear in the filter controls area of the layout - They are not included in the no-records message (see below) - When staff clear visible filters, hidden filter values are preserved and continue to apply :::

Auto-generated options

For select and multiselect filters, you can either configure options explicitly or let the POS generate them automatically from live data.

How auto-options work

When the Options field on a filter record is left blank, the POS queries the local dataset for all distinct values present in the filtered field, and builds the option list at runtime. Options update automatically as records sync — no manual maintenance is needed.

When the Options field is set, those values are used as-is and no auto-generation occurs. Switching from explicit to blank re-enables auto-generation on the next render.

:::note Auto-options are derived from the local IndexedDB dataset — they reflect only records that have already synced to the device. Fields must be indexed in the local schema for auto-options to work; this happens automatically when the field name is set on a layout filter. :::

Auto-option formatting rules

Raw field value Label shown in filter
All-lowercase (e.g., sales) Sentence case: Sales
Any uppercase characters (e.g., VIP, IT Support) Used as-is: VIP, IT Support
Boolean true / false True / False
Empty string (blank) — placed at the end of the list
null or undefined Not included

Auto-options vs explicit options

  Auto-options Explicit options
Options field Blank Set
Source Distinct values from local data Configured value:Label pairs
Updates automatically Yes — reactive to data sync No — static
Custom ordering No — alphabetical by field index Yes — defined by your configuration
Label control Sentence-case rule (see above) Full control

Use auto-options when the set of values in your data is dynamic or unknown in advance. Use explicit options when you need a fixed, ordered list or custom labels.

:::tip Auto-options apply to select and multiselect filter types only. number_range and date_range filters do not use an options list. :::

Configuring a POS layout filter

  1. Open the Pos_Layout__c record in Salesforce.
  2. In the POS Layout Filters related list, click New.
  3. Complete the filter record:
Field Notes
POS Layout The layout this filter belongs to (auto-filled from the related list)
Field Name API name of the Salesforce field to filter by. Must exist on the layout’s object or custom data mapping.
Label The display label shown to staff in the filter controls
Type Select the filter type (see above)
Position A number controlling the order in which filters appear
Select Options Required for select and multiselect types. Format: value:Label;value:Label
Initial Values The default value(s) applied when the layout first loads. Separate multiple values with a semicolon for multiselect filters.
Hidden Check this to apply the filter silently without showing it to staff
  1. Save the filter record.

:::tip The Initial Values field works for all filter types, including hidden filters. Use it to set a default that applies before staff make any selections. :::

Filter values format

Filter type Initial values format Example
Select Single value active
Multiselect Semicolon-separated values lead;vip
Number range min,max (omit either for open-ended) 100,500 or 100,
Date range from,to in ISO format (omit either for open-ended) 2025-01-01,2025-12-31
Hidden Same format as the visible equivalent complete

No-records returned messages

When a filtered list returns no results, the POS displays a contextual message to help staff understand why. The message is built from the active search term and visible filters:

  • No search or filters active: No records found
  • Search active: No records found matching "keyword"
  • Visible filter active: No records found with Status Active
  • Both active: No records found matching "keyword" and Status Active

A Clear filters button appears when at least one visible filter has a value. Selecting it resets all visible filters — hidden filter values are not affected.

:::note Hidden filters are excluded from the no-records message. If records are missing due to a hidden filter, staff will not see that filter referenced in the message. Ensure hidden filter values are intentional and the scoped data is expected by the staff using the layout. :::

Object reference

See [[pos-layout-filter-object-reference POS Layout Filter Object Reference]] for the full Salesforce field listing.

Was this article helpful?

Was this article helpful?