Crm.Pos.SaleLines Entity
Namespace: Crm.Pos
Stores line-level details for items or services sold in a POS transaction. Each line is linked to a POS Sales record and typically represents a single product, quantity, and unit price. It supports complex tracking in environments like retail chains, restaurants, and service centers, including execution status for kitchen/service integration, discounts, and tax breakdowns. Entity: Pos_Sale_Lines (Introduced in version 25.1.3.46)
Default Visualization
Default Display Text Format:
{PosSale.DocumentNumber}
Default Search Members:
PosSale.DocumentNumber
Name Data Member:
PosSale.DocumentNumber
Category: Documents
Show in UI: ShownByDefault
Track Changes
Min level: 0 - Do not track changes
Max level: 4 - Track object attribute and blob changes
Aggregate
An aggregate is a cluster of domain objects that can be treated as a single unit.
Aggregate Parent:
Crm.Pos.Sales
Aggregate Root:
Crm.Pos.Sales
Attributes
Name | Type | Description |
---|---|---|
CreatedAt | datetime nullable | The time when this line was created. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Default(Now) Filter(eq;ge;le) |
DiscountAmount | Amount (12, 2) | The amount of discount applied to the line. Positive for normal sales, negative for refunds. Currency: PosSale.SaleCurrency Required Default(0) Filter(eq) |
DisplayText | string | Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object. |
ExecutionChangedAt | datetime nullable | Indicates the time of the last execution status change. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(eq;ge;le) |
ExecutionNote | string (64) nullable | Notes for the kitchen or service team, e.g., “no garlic”, “extra ice”, “medium rare”. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(like) |
ExecutionStage | ExecutionStage nullable | Execution status of the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(eq) |
Id | guid | |
IsVoided | boolean | Specifies whether the current line was voided. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Required Default(false) Filter(eq) |
LineAmount | Amount (12, 2) | Final total amount for the line after discount and tax. Positive for normal sales, negative for refunds. Currency: PosSale.SaleCurrency Required Filter(eq) |
LineNo | int32 | Line number within the POS sale. Required Filter(eq) |
Notes | string (64) nullable | Notes for the line. Filter(like) |
ObjectVersion | int32 | The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking. |
Quantity | Quantity (12, 3) | The quantity sold (in Quantity Unit). Positive for normal sales, negative for returns. Unit: QuantityUnit Required Filter(eq;ge;le) |
QuantityBase | Quantity (12, 3) | Quantity sold in base measurement unit of the product. Positive for normal sales, negative for returns. Unit: Product.BaseMeasurementCategory.BaseUnit Required Filter(eq) |
TaxAmount | Amount (12, 2) | Amount of tax (VAT) for this line. The tax amount is already included in Unit Price and Line Amount and is provided for reference. Positive for normal sales, negative for refunds. Currency: PosSale.SaleCurrency Required Default(0) Filter(eq) |
UnitPrice | Amount (12, 2) | Gross price (incl. VAT if applicable) at the time of the sale. Should always by a positive number. Currency: PosSale.SaleCurrency Required Filter(eq) |
VoidedAt | datetime nullable | Time of voiding the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(eq;ge;le) |
References
Name | Type | Description |
---|---|---|
CreatedBy | Operators (nullable) | The operator who created the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq) |
ExecutionArea | LocationAreas (nullable) | Route items to the correct kitchen/bar section. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq) |
ExecutionChangedBy | Operators (nullable) | Which staff member last updated the execution status. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq) |
ExecutionResource | ExecutionResources (nullable) | The resource (table, room, etc.) used to execute the current line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq) |
ExecutionStatus | ExecutionStatuses (nullable) | User-configurable status of the process. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq) |
PosSale | Sales | The main POS sale. Required Filter(multi eq) Owner |
Product | Products | The sold product. Required Filter(multi eq) |
QuantityUnit | MeasurementUnits | Measurement unit of Quantity. Required Filter(multi eq) |
VoidedBy | Operators (nullable) | Operator who voided the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq) |
Attribute Details
CreatedAt
The time when this line was created. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Default(Now)
Filter(eq;ge;le)
Type: datetime nullable
Category: System
Supported Filters: Equals, GreaterThanOrLessThan
Supports Order By: False
Default Value: CurrentDateTime
Show in UI: ShownByDefault
DiscountAmount
The amount of discount applied to the line. Positive for normal sales, negative for refunds. Currency: PosSale.SaleCurrency
Required
Default(0)
Filter(eq)
Type: Amount (12, 2)
Category: System
Supported Filters: Equals
Supports Order By: False
Default Value: Constant
Show in UI: ShownByDefault
DisplayText
Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.
Type: string
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault
ExecutionChangedAt
Indicates the time of the last execution status change. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(eq;ge;le)
Type: datetime nullable
Category: System
Supported Filters: Equals, GreaterThanOrLessThan
Supports Order By: False
Show in UI: ShownByDefault
ExecutionNote
Notes for the kitchen or service team, e.g., “no garlic”, “extra ice”, “medium rare”. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(like)
Type: string (64) nullable
Category: System
Supported Filters: Like
Supports Order By: False
Maximum Length: 64
Show in UI: ShownByDefault
ExecutionStage
Execution status of the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(eq)
Type: ExecutionStage nullable
Category: System
Allowed values for the ExecutionStage
(Crm.Pos.ExecutionStatuses.md#executionstage) data attribute
Allowed Values (Crm.Pos.ExecutionStatusesRepository.ExecutionStage Enum Members)
Value | Description |
---|---|
Pending | Pending. Stored as 'PND'. Database Value: 'PND' Model Value: 0 Domain API Value: 'Pending' |
Prepare | Prepare. Stored as 'PRP'. Database Value: 'PRP' Model Value: 1 Domain API Value: 'Prepare' |
Deliver | Deliver. Stored as 'DEL'. Database Value: 'DEL' Model Value: 2 Domain API Value: 'Deliver' |
Finalize | Finalize. Stored as 'FIN'. Database Value: 'FIN' Model Value: 3 Domain API Value: 'Finalize' |
Supported Filters: Equals
Supports Order By: False
Show in UI: ShownByDefault
Id
Type: guid
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Default Value: NewGuid
Show in UI: CannotBeShown
IsVoided
Specifies whether the current line was voided. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Required
Default(false)
Filter(eq)
Type: boolean
Category: System
Supported Filters: Equals
Supports Order By: False
Default Value: False
Show in UI: ShownByDefault
LineAmount
Final total amount for the line after discount and tax. Positive for normal sales, negative for refunds. Currency: PosSale.SaleCurrency
Required
Filter(eq)
Type: Amount (12, 2)
Category: System
Supported Filters: Equals
Supports Order By: False
Show in UI: ShownByDefault
LineNo
Line number within the POS sale. Required
Filter(eq)
Type: int32
Category: System
Supported Filters: Equals
Supports Order By: False
Show in UI: ShownByDefault
Back-End Default Expression:
( obj.PosSale.Lines.Select( c => c.LineNo).DefaultIfEmpty( 0).Max( ) + 1)
Front-End Recalc Expressions:
( obj.PosSale.Lines.Select( c => c.LineNo).DefaultIfEmpty( 0).Max( ) + 1)
Notes
Notes for the line. Filter(like)
Type: string (64) nullable
Category: System
Supported Filters: Like
Supports Order By: False
Maximum Length: 64
Show in UI: ShownByDefault
ObjectVersion
The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking.
Type: int32
Category: Extensible Data Object
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault
Quantity
The quantity sold (in Quantity Unit). Positive for normal sales, negative for returns. Unit: QuantityUnit
Required
Filter(eq;ge;le)
Type: Quantity (12, 3)
Category: System
Supported Filters: Equals, GreaterThanOrLessThan
Supports Order By: False
Show in UI: ShownByDefault
QuantityBase
Quantity sold in base measurement unit of the product. Positive for normal sales, negative for returns. Unit: Product.BaseMeasurementCategory.BaseUnit
Required
Filter(eq)
Type: Quantity (12, 3)
Category: System
Supported Filters: Equals
Supports Order By: False
Show in UI: ShownByDefault
TaxAmount
Amount of tax (VAT) for this line. The tax amount is already included in Unit Price and Line Amount and is provided for reference. Positive for normal sales, negative for refunds. Currency: PosSale.SaleCurrency
Required
Default(0)
Filter(eq)
Type: Amount (12, 2)
Category: System
Supported Filters: Equals
Supports Order By: False
Default Value: Constant
Show in UI: ShownByDefault
UnitPrice
Gross price (incl. VAT if applicable) at the time of the sale. Should always by a positive number. Currency: PosSale.SaleCurrency
Required
Filter(eq)
Type: Amount (12, 2)
Category: System
Supported Filters: Equals
Supports Order By: False
Show in UI: ShownByDefault
VoidedAt
Time of voiding the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(eq;ge;le)
Type: datetime nullable
Category: System
Supported Filters: Equals, GreaterThanOrLessThan
Supports Order By: False
Show in UI: ShownByDefault
Reference Details
CreatedBy
The operator who created the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq)
Type: Operators (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
ExecutionArea
Route items to the correct kitchen/bar section. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq)
Type: LocationAreas (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
ExecutionChangedBy
Which staff member last updated the execution status. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq)
Type: Operators (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
ExecutionResource
The resource (table, room, etc.) used to execute the current line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq)
Type: ExecutionResources (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
ExecutionStatus
User-configurable status of the process. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq)
Type: ExecutionStatuses (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
PosSale
The main POS sale. Required
Filter(multi eq)
Owner
Type: Sales
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Filterable Reference: True
Show in UI: ShownByDefault
Product
The sold product. Required
Filter(multi eq)
Type: Products
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
QuantityUnit
Measurement unit of Quantity. Required
Filter(multi eq)
Type: MeasurementUnits
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
VoidedBy
Operator who voided the line. Used only for businesses with real-time execution tracking (restaurants, bars, services, etc.). Filter(multi eq)
Type: Operators (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
API Methods
Methods that can be invoked in public APIs.
GetAllowedCustomPropertyValues
Gets the allowed values for the specified custom property for this entity object. If supported the result is ordered by property value. Some property value sources do not support ordering - in that case the result is not ordered.
Return Type: Collection Of CustomPropertyValue
Declaring Type: EntityObject
Domain API Request: GET
Parameters
customPropertyCode
The code of the custom property
Type: stringsearch
The search text - searches by value or description. Can contain wildcard character %.
Type: string
Optional: True
Default Value: nullexactMatch
If true the search text should be equal to the property value
Type: boolean
Optional: True
Default Value: FalseorderByDescription
If true the result is ordered by Description instead of Value. Note that ordering is not always possible.
Type: boolean
Optional: True
Default Value: Falsetop
The top clause - default is 10
Type: int32
Optional: True
Default Value: 10skip
The skip clause - default is 0
Type: int32
Optional: True
Default Value: 0
CreateNotification
Create a notification immediately in a separate transaction, and send a real-time event to the user.
Return Type: void
Declaring Type: EntityObject
Domain API Request: POST
Parameters
user
The user.
Type: UsersnotificationClass
The notification class.
Type: stringsubject
The notification subject.
Type: stringpriority
The notification priority.
Type: Systems.Core.NotificationsRepository.Priority
Allowed values for thePriority
(Systems.Core.Notifications.md#priority) data attribute
Allowed Values (Systems.Core.NotificationsRepository.Priority Enum Members)Value Description Background Background value. Stored as 1.
Model Value: 1
Domain API Value: 'Background'Low Low value. Stored as 2.
Model Value: 2
Domain API Value: 'Low'Normal Normal value. Stored as 3.
Model Value: 3
Domain API Value: 'Normal'High High value. Stored as 4.
Model Value: 4
Domain API Value: 'High'Urgent Urgent value. Stored as 5.
Model Value: 5
Domain API Value: 'Urgent'Optional: True
Default Value: Normal
CreateCopy
Duplicates the object and its child objects belonging to the same aggregate. The duplicated objects are not saved to the data source but remain in the same transaction as the original object.
Return Type: EntityObject
Declaring Type: EntityObject
Domain API Request: POST
Business Rules
None
Front-End Business Rules
None
API
Domain API Query: https://demodb.my.erp.net/api/domain/odata/Crm_Pos_SaleLines?$top=10
Domain API Query Builder: https://demodb.my.erp.net/api/domain/querybuilder#Crm_Pos_SaleLines?$top=10