Term-Defined New Sale Transaction

Understand the required values and key considerations before you create a billing schedule for a new sale transaction with the TermDefined selling model type.

Considerations 

Keep these important considerations in mind when you provide the details for new sale transactions with the TermDefined selling model type.

  • The BillingActionType__std value for any new sale transaction must be Add.
  • When a new sale transaction is for the TermDefined selling model type, the SellingModelType value must be TermDefined.
  • When a new sale transaction is for the TermDefined selling model type, the BillingTermUnit__std and PeriodBoundary__std values are required.
  • If you don’t provide the TaxTreatmentId__std value, the BillingTreatmentId__std value, or the LegalEntityId__std value for the transaction, the default TaxTreatmentId, BillingTreatmentId, and LegalEntityId of your Salesforce org is considered. If your org doesn’t have any default values, an error occurs.
  • If your transaction is for an sObject record, only specify the record ID as the id value in the transactionDetails property value. All the other transaction details are automatically fetched from the sObject record if those details are mapped in the context definition.

JSON Example 

This example includes the transaction data for a new sale transaction with the TermDefined selling model type.

1{
2  "Transaction": [
3    {
4      "id": "ter1",
5      "SellingModelType__std": "TermDefined",
6      "ParentTransactionId__std": "sample",
7      "TransactionId__std": "ter1",
8      "ProductName__std": "TermedQuarterlyProduct",
9      "StartDate__std": "2025-01-01",
10      "EndDate__std": "2025-12-31",
11      "PeriodBoundary__std": "DayOfPeriod",
12      "BillingDayOfMonth__std": 1,
13      "UnitPrice__std": 10,
14      "Quantity__std": 5,
15      "TotalPrice__std": 120,
16      "TaxTreatmentId__std": "1ttLT000000EV7DYAW",
17      "BillingTreatmentId__std": "1BTLT00000008yT4AQ",
18      "AccountId__std": "001LT00000dPVrlYAG",
19      "BillingProfileId__std": "001LT00000dPVrlYAG",
20      "BillingCity__std": "HYD",
21      "ShippingCity__std": "VSKP",
22      "BillingTermUnit__std": "Month",
23      "BillingActionType__std": "Add",
24      "CurrencyIsoCode__std": "USD"
25    }
26  ]
27}

This example shows the request payload to create a billing schedule for a new sale transaction with the TermDefined selling model type.

1{
2  "transactionDetails": "{\"Transaction\":[{\"id\":\"ter1\",\"SellingModelType__std\":\"TermDefined\",\"ParentTransactionId__std\":\"sample\",\"TransactionId__std\":\"ter1\",\"ProductName__std\":\"TermedQuarterlyProduct\",\"StartDate__std\":\"2025-01-01\",\"EndDate__std\":\"2025-12-31\",\"PeriodBoundary__std\":\"DayOfPeriod\",\"BillingDayOfMonth__std\":1,\"UnitPrice__std\":10,\"Quantity__std\":1,\"TotalPrice__std\":120,\"TaxTreatmentId__std\":\"1ttLT000000EV7DYAW\",\"BillingTreatmentId__std\":\"1BTLT00000008yT4AQ\",\"AccountId__std\":\"001LT00000dPVrlYAG\",\"BillingProfileId__std\":\"001LT00000dPVrlYAG\",\"BillingCity__std\":\"HYD\",\"ShippingCity__std\":\"VSKP\",\"BillingTermUnit__std\":\"Month\",\"BillingActionType__std\":\"Add\",\"CurrencyIsoCode__std\":\"USD\"}]}",
3  "transactionContextDetails": {
4    "contextDefinitionName": "StandaloneBillingContext__stdctx",
5    "intraContextCustomMappingName": "CustomContextMapping",
6    "readContextMappingName": "TransactionMapping",
7    "saveContextMappingName": "BSGEntitiesMapping"
8  }
9}

When you’re creating a billing schedule for a new sale transaction with the TermDefined selling model type, make sure that you specify the mandatory values in the transactionDetails property value.

Context Tag in the Transaction Node of the StandaloneBillingContext Context DefinitionDescriptionMapped FieldRequired or Optional
ParentTransactionId__stdThe ID of the parent transaction record. For example, if the transaction is at a level similar to that of an Order Item record, the parent transaction will be at a level similar to that of an Order record.If the transaction is a child Order or Quote record, the ReferenceEntityId field on the BillingScheduleobject is populated. For other sObject records or external records, the Reference field on the BillingSchedule object is populated.Required
AccountId__stdThe ID of the Account record that’s related to the transaction.BillingAccountId field on the BillingScheduleGroup objectRequired
BillingProfileId__stdThe ID of the billing profile (Billing Account record) that’s related to the transaction. See Billing Profile requirements.BillingAccountId field on the BillingSchedule objectOptional
BillingCity__stdThe city in the billing address of the transaction.BillingCity field on the BillingScheduleGroup objectAny one of the billing address fields is required.
ShippingCity__stdThe city in the shipping address of the transaction.ShippingCity field on the BillingScheduleGroup objectAny one of the shipping address fields is required.
SellingModelType__stdThe selling model type indicates whether the transaction is for a one-time product, a term-defined product, or an evergreen product. Specify TermDefined as the SellingModelType for the transaction that’s related to a product that’s sold for a specific term.BillingMethod on the BillingSchedule object is populated as OrderAmount.Required
TransactionId__stdThe ID of the transaction that you want to create a billing schedule for.If the transaction is an OrderItem, OrderItemAdjustmentLineItem, OrderItemDetail, QuoteLineDetail, or QuoteLineItem record, the ReferenceEntityItemId field on the BillingScheduleobject is populated. For other sObject records or external records, the ReferenceItem field on the BillingSchedule object is populated.Required
ProductName__stdThe name of the product that’s related to the transaction that you want to create a billing schedule for.ProductName field on the BillingScheduleGroup objectEither the ProductName or the ProductId is required
PeriodBoundary__stdThe period boundary determines the start and end date of the billing period.PeriodBoundary field on the BillingScheduleGroup objectRequired
BillingDayOfMonth__stdThe day of the month on which a recurring billing process is scheduled to occur for the transaction.BillDayOfMonth field on the BillingScheduleGroup objectRequired
EndDate__stdThe end date of the transaction.BillingScheduleEndDate field on the BillingSchedule objectRequired
StartDate__stdThe start date of the transaction.BillingScheduleStartDate field on the BillingSchedule objectRequired
Quantity__stdThe quantity of the transaction.Quantity field on the BillingSchedule objectRequired
TaxTreatmentId__stdThe ID of the tax treatment that’s used to calculate tax for the transaction. If you don’t specify a TaxTreatmentId, the org-default TaxTreatmentId is considered.TaxTreatmentId field on the BillingScheduleGroup objectRequired
BillingTermUnit__stdThe unit of measurement of the billing term.BillingTermUnit field on the BillingSchedule objectRequired
BillingTreatmentId__stdThe ID of the billing treatment that’s used to create the billing schedule for the transaction. If you don’t specify a BillingTreatmentId, the org-default BillingTreatmentId is considered.BillingTreatmentId field on the BillingScheduleGroup objectRequired
CurrencyIsoCode__stdThe currency code of the transaction amount if your Salesforce org has multi-currency enabled.CurrencyIsoCode field on the BillingScheduleGroup objectRequired for Salesforce orgs with multiple currencies enabled
BillingActionType__stdThe action that you want to perform for the transaction. Valid value is Add.Category field on the BillingSchedule object is populated as Original.Required
UnitPrice__stdThe unit price of the transaction.UnitPrice field on the BillingSchedule objectEither the UnitPrice or the NetUnitPrice value is required
TotalPrice__stdThe total cost to the customer for the transaction, from the start date to the end date.TotalAmount field on the BillingSchedule objectRequired

Valid PeriodBoundary__std values:

  • AlignToCalendar
  • Anniversary
  • DayOfPeriod
  • LastDayOfPeriod

Valid BillingTermUnit__std values:

  • Month
  • Quarter
  • Semi-Annual
  • Year

See Also