POS objects
On this page
The POS objects split cleanly in two: the records that describe where selling happens, and the records that describe what the POS screens look like. Use this article to find the object you need before you configure or extend a POS.
Outlet, register, shift
Selling is anchored by three records in a chain.
An Outlet is a physical shop. A Register is a till within it. A Register Shift is one trading session on that register, from open to close.
Every POS sale belongs to a shift, which is what makes end-of-day reconciliation possible: Register Shift Total records hold the counted and expected figures for the drawer.
:::note A POS sale creates the same cart, order, and payment records as a web sale. There is no separate POS order object. The difference is that those records point at the register and shift that took the sale. :::
Who may operate a POS is set per outlet. Outlet User grants a user access and holds their PIN, and Outlet User Type is the role that decides what they may do.
Screens are configuration, not code
The second half of this domain is how the POS looks, and all of it is records rather than deployed code.
A POS Layout is a configured screen. Its fields say what appears and how, and its filters narrow what it lists. Buttons come from a POS Action Group holding action items. Anything the POS prints is a POS Print Template.
For the actions an item can invoke, see POS actions reference. For custom Liquid rendered inside the POS, see POS View.
Objects in this domain
| Object | API name | Purpose |
|---|---|---|
| Outlet | s_c__Outlet__c |
A physical shop. Holds its address, receipt details, and the stock it sells from |
| Outlet User | s_c__Outlet_User__c |
Grants a user access to an outlet, with their PIN and role |
| Outlet User Type | s_c__Outlet_User_Type__c |
A named role at an outlet, controlling what the user may do in the POS |
| Outlet Stock Location | s_c__Outlet_Stock_Location__c |
Sets which stock location an outlet sells and receives from |
| Register | s_c__Register__c |
A till within an outlet. Sales, shifts, and receipts belong to one |
| Register Shift | s_c__Register_Shift__c |
One trading session on a register, from open to close |
| Register Shift Total | s_c__Register_Shift_Total__c |
A counted or expected total for a shift, used to reconcile the drawer |
| Register Shift User | s_c__Register_Shift_User__c |
Records a user working a shift |
| Register Fulfillment Category Station | s_c__Register_Fulfillment_Category_Station__c |
Routes fulfillment work taken at a register to a station |
| POS Layout | s_c__Pos_Layout__c |
A configured POS screen, controlling what appears and in what order |
| POS Layout Field | s_c__Pos_Layout_Field__c |
One field shown on a POS layout, and how it behaves |
| POS Layout Filter | s_c__Pos_Layout_Filter__c |
A filter applied to what a POS layout lists |
| POS View | s_c__Pos_View__c |
A client-side Liquid view rendered inside the POS |
| POS Action Group | s_c__Pos_Action_Group__c |
A menu of POS actions, such as a button group on a screen |
| POS Action Item | s_c__Pos_Action_Item__c |
One action in a group, and what it does when tapped |
| POS Print Template | s_c__Pos_Print_Template__c |
Markup for something the POS prints: a receipt, a label, or a report |
| Printable Label | s_c__Printable_Label__c |
A label definition the POS can print for a product or shelf |
Where it meets other domains
- Fulfillment and inventory. An outlet sells from a stock location through Outlet Stock Location, and work taken at a register routes to a station through Register Fulfillment Category Station. See fulfillment and inventory objects.
- Orders and checkout. Carts, orders, and payments are shared with the web. See order and checkout objects.
- Catalog. A product must have a price book entry to be sellable at POS, the same rule as the web. See catalog objects.
- Customers and accounts. POS operators are users, and a POS sale can be attached to an account. See customer and account objects.
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.