Support Multiple Charges, Tiers and Ad hoc Customer Pricing in Sales Agreements

To support ad hoc customer pricing, the Sales Agreement REST service now supports a new SkipPDFFlag attribute at the header level for both the Create Contracts REST and createContract SOAP web services. If the SkipPDFFlag attribute is set to true, then all the pricing terms must be passed in the payload. If the attribute is set to false, then no pricing terms must be passed in the payload and the items are priced based on the price list setup as per the existing behavior.

Here are a few scenarios of using the SkipPDPFlag attribute:

 

Set SkipPDPFlag attribute value to

 Pass pricing terms in the   payload  Pricing term applied on the contract line
 true  Yes  Pricing term in the payload is applied
 true  No  No pricing term is created
 false  Yes  Error message 'You must set the SkipPDPFlag attribute to true if you pass pricing terms in the payload.' is displayed
 false  No  Pricing as per the price list is applied
attribute is blank  Yes Error message 'You must set the SkipPDPFlag attribute to true if you pass pricing terms in the payload.' is displayed
attribute is blank  No Pricing as per the price list is applied

The sales agreement REST service is enhanced to support the following:

  • Single charge with tiers
  • Multiple charges with tiers
  • Multiple charges without tiers

Sample Payload with Pricing Term, Tiers and SkipPDPFlag

{

"OrgId": 204,

"LegalEntityId": 204,

"InvOrganizationId": 204,

"ContractTypeId": 300100128959121,

"ContractNumber": "IF/SAQP/0826-4",

"PartyId": 1006,

"StartDate": "2022-01-01",

"EndDate": "2024-12-31",

"CurrencyCode": "USD",

"SkipPDPFlag": true,

"ContractLine": [

  {

    "ItemName": "zOKC_AUTO_SAITEM_AllMultCharge",

    "PriceList": "Corporate Segment Price List",

    "UOMCode": "Ea",

    "AllowPricelistOverrideYn": "Y",

    "AdjustmentType": "Price override",

    "AllowCustomAdjustmentsFlag": true,

    "AdjustmentAmount": "5",

    "AgreedQuantity": "10000",

    "AgreedAmount": "50000",

    "PricingTerm": [

       {

          "PriceTypeCode": "ONE_TIME",

          "ChargeTypeCode": "ORA_SERVICE",

          "ChargeSubtypeCode": "ORA_PRICE",

          "AdjustmentTypeCode": "DISCOUNT_AMOUNT",

          "Name": "Service Price",

          "PricingTermTierHeader": [

              {

                  "AdjustmentTypeCode": "MARKUP_AMOUNT",

                  "AggregationMethodCode": "ORA_ON_DOCUMENT",

                  "GraduatedCode": "ALL_APPLICABLE_TIERS",

                  "TierBasisTypeCode": "ORA_ITEM_QUANTITY",

                 "ApplicationMethodCode": "PER_UNIT",

                 "PricingTermTierLine": [

                     {

                       "MinimumValue": 0,

                       "MaximumValue": 5,

                       "Adjustment": 30

                   },

                  {

                    "MaximumValue": 10,

                    "MinimumValue": 5,

                   "Adjustment": 50

                }

             ]

          }

        ]

      },

     {

        "PriceTypeCode": "ONE_TIME",

        "ChargeTypeCode": "ORA_SALE",

        "ChargeSubtypeCode": "ORA_PRICE",

        "AdjustmentTypeCode": "PRICE_OVERRIDE",

        "AdjustmentAmount": 15.00,

        "Name": "Sale Price",

        "ListPrice": 1200

      }

    ]

  }

 ]

}

You can create the entire sales agreement using the REST services. Pre-priced sales agreements can be created using both REST and SOAP services.

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

See the contracts section of the REST API for Sales and Fusion Service in Oracle Fusion Cloud Customer Experience guide for more information about Sales Agreement attributes. https://docs.oracle.com/en/cloud/saas/sales/faaps/api-contracts.html