Crm.Sales.SalesOrderPaymentPlans Entity
Namespace: Crm.Sales
Payment plan of a sales order. Entity: Crm_Sales_Order_Payment_Plans
Default Visualization
Default Display Text Format:
{SalesOrder.EntityName}
Default Search Members:
SalesOrder.EntityName
Name Data Member:
SalesOrder.EntityName
Category: Definitions
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.Sales.SalesOrders
Aggregate Root:
Crm.Sales.SalesOrders
Attributes
Name | Type | Description |
---|---|---|
Amount | Amount (14, 2) | Amount to be payed. Currency: SalesOrder.DocumentCurrency Required |
AmountPercent | decimal (7, 6) nullable | Percent of the sales order amount to be payed. |
DisplayText | string | Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object. |
DueDateFormMethod | PaymentPlanDueDateSource | Method to determine the payment due date. SLS = Use sales order date, INV = Use invoice date, EXP = Specify the date explicitly, SDD = Sales order due date, IDD = Invoice due date. Required |
ExplicitPaymentDueDate | datetime nullable | Explicitly specified payment due date. Must be filled if and only if Due_Date_Form_Method = 'EXP'. Filter(ge;le) |
ExplicitPayment DueStartDate |
date nullable | Explicitly specified date on which the payment becomes executable. Can be specified only when date formation method is 'Set explicit date'. Filter(ge;le) |
Id | guid | |
InstallmentNumber | int32 | Consequtive installment number. Used for identifying different payments generated according this payment plan. Required |
Notes | string (254) nullable | Notes for this SalesOrderPaymentPlan. |
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. |
PaymentStartDays | int32 | Number of days until the payment becomes executable. The days are counted, starting with the date, specified by due date formation method. Required Default(0) |
PaymentTermDays | int32 | Payment term in days, which are to be added to form the payment due date. 0 means that the date determined by Due_Date_Form_Method and Explicit_Payment_Due_Date is taken as due date. Required Default(0) |
Remainder | boolean | Indicates wheather this amount is the remainder of the document. Amount = Total amount of the sales order - explicitly specified amounts in the plan (by Amount_Percent or Amount). Required Default(false) |
References
Name | Type | Description |
---|---|---|
PaymentAccount | PaymentAccounts (nullable) | Specifies the payment account towards which the payment is expected. null means that there is no expectation for payment account. For POS implementations, this can be used to denote the payment account in which the payment actually occurred. Filter(multi eq) |
PaymentType | PaymentTypes (nullable) | Specifies the expected payment type. null means that there is no expected payment type. For POS implementations, this can be used to denote the payment type which actually occurred. Filter(multi eq) |
SalesOrder | SalesOrders | The Required Filter(multi eq) Owner |
Attribute Details
Amount
Amount to be payed. Currency: SalesOrder.DocumentCurrency
Required
Type: Amount (14, 2)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault
AmountPercent
Percent of the sales order amount to be payed.
Type: decimal (7, 6) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
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
DueDateFormMethod
Method to determine the payment due date. SLS = Use sales order date, INV = Use invoice date, EXP = Specify the date explicitly, SDD = Sales order due date, IDD = Invoice due date. Required
Type: PaymentPlanDueDateSource
Category: System
Generic enum type for PaymentPlanDueDateSource properties
Allowed Values (Crm.PaymentPlanDueDateSource Enum Members)
Value | Description |
---|---|
SpecifyTheDateExplicitly | SpecifyTheDateExplicitly value. Stored as 'EXP'. Database Value: 'EXP' Model Value: 0 Domain API Value: 'SpecifyTheDateExplicitly' |
UseInvoiceDate | UseInvoiceDate value. Stored as 'INV'. Database Value: 'INV' Model Value: 1 Domain API Value: 'UseInvoiceDate' |
UseSalesOrderDate | UseSalesOrderDate value. Stored as 'SLS'. Database Value: 'SLS' Model Value: 2 Domain API Value: 'UseSalesOrderDate' |
UseSalesOrderDueDate | UseSalesOrderDueDate value. Stored as 'SDD'. Database Value: 'SDD' Model Value: 3 Domain API Value: 'UseSalesOrderDueDate' |
UseInvoiceDueDate | UseInvoiceDueDate value. Stored as 'IDD'. Database Value: 'IDD' Model Value: 4 Domain API Value: 'UseInvoiceDueDate' |
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault
ExplicitPaymentDueDate
Explicitly specified payment due date. Must be filled if and only if Due_Date_Form_Method = 'EXP'. Filter(ge;le)
Type: datetime nullable
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Show in UI: ShownByDefault
Front-End Recalc Expressions:
IIF( ( Convert( obj.DueDateFormMethod, Int32) != 0), null, obj.ExplicitPaymentDueDate)
ExplicitPaymentDueStartDate
Explicitly specified date on which the payment becomes executable. Can be specified only when date formation method is 'Set explicit date'. Filter(ge;le)
Type: date nullable
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Show in UI: ShownByDefault
Front-End Recalc Expressions:
IIF( ( Convert( obj.DueDateFormMethod, Int32) != 0), null, obj.ExplicitPaymentDueStartDate)
Id
Type: guid
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Default Value: NewGuid
Show in UI: CannotBeShown
InstallmentNumber
Consequtive installment number. Used for identifying different payments generated according this payment plan. Required
Type: int32
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault
Back-End Default Expression:
( obj.SalesOrder.PaymentPlans.Select( c => c.InstallmentNumber).DefaultIfEmpty( 0).Max( ) + 1)
Front-End Recalc Expressions:
( obj.SalesOrder.PaymentPlans.Select( c => c.InstallmentNumber).DefaultIfEmpty( 0).Max( ) + 1)
Notes
Notes for this SalesOrderPaymentPlan.
Type: string (254) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 254
Show in UI: HiddenByDefault
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
PaymentStartDays
Number of days until the payment becomes executable. The days are counted, starting with the date, specified by due date formation method. Required
Default(0)
Type: int32
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: 0
Show in UI: ShownByDefault
PaymentTermDays
Payment term in days, which are to be added to form the payment due date. 0 means that the date determined by Due_Date_Form_Method and Explicit_Payment_Due_Date is taken as due date. Required
Default(0)
Type: int32
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: 0
Show in UI: ShownByDefault
Back-End Default Expression:
IIF( ( ( Convert( obj.DueDateFormMethod, Int32) == 3) OrElse ( Convert( obj.DueDateFormMethod, Int32) == 4)), 0, obj.PaymentTermDays)
Front-End Recalc Expressions:
IIF( ( ( Convert( obj.DueDateFormMethod, Int32) == 3) OrElse ( Convert( obj.DueDateFormMethod, Int32) == 4)), 0, obj.PaymentTermDays)
Remainder
Indicates wheather this amount is the remainder of the document. Amount = Total amount of the sales order - explicitly specified amounts in the plan (by Amount_Percent or Amount). Required
Default(false)
Type: boolean
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: False
Show in UI: ShownByDefault
Back-End Default Expression:
IIF( ( obj.AmountPercent != null), False, obj.Remainder)
Front-End Recalc Expressions:
IIF( ( obj.AmountPercent != null), False, obj.Remainder)
Reference Details
PaymentAccount
Specifies the payment account towards which the payment is expected. null means that there is no expectation for payment account. For POS implementations, this can be used to denote the payment account in which the payment actually occurred. Filter(multi eq)
Type: PaymentAccounts (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
Back-End Default Expression:
obj.SalesOrder.PaymentAccount
Front-End Recalc Expressions:
obj.SalesOrder.PaymentAccount.IfNullThen( obj.PaymentType.DefaultPaymentAccount.IfNullThen( obj.PaymentAccount))
obj.SalesOrder.PaymentAccount
PaymentType
Specifies the expected payment type. null means that there is no expected payment type. For POS implementations, this can be used to denote the payment type which actually occurred. Filter(multi eq)
Type: PaymentTypes (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault
Back-End Default Expression:
obj.SalesOrder.PaymentType
Front-End Recalc Expressions:
obj.SalesOrder.PaymentType
SalesOrder
The Required
Filter(multi eq)
Owner
Type: SalesOrders
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Filterable Reference: True
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: string
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_Sales_SalesOrderPaymentPlans?$top=10
Domain API Query Builder: https://demodb.my.erp.net/api/domain/querybuilder#Crm_Sales_SalesOrderPaymentPlans?$top=10