Dynamic Pricing Based on Quantity and Validity Periods In CIF Catalog

In SAP Ariba Procurement, Catalog is a critical document that is provided by a supplier to a specific buyer or set of buyers. This collaboration between Supplier and Buyer happens via SAP Ariba Network. In some procurement scenarios, customers generate catalog content in the backends that could be displayed in the procurement applications to their users.

Dynamic pricing based on quantity and validity periods is an useful feature to create catalog content with dynamic logic on price variations. Most common use case is to apply discounts above certain quantity or increase the price during high demand period.

Lets look at some basics about Catalog and then deep dive into Dynamic pricing feature in CIF Catalogs using 2 example scenarios.

What is a Catalog?

Catalogs are text files stored on Ariba Network or on your own company’s website that describe the products and services your organization offers and the prices you charge.

Catalogs in SAP Ariba Procurement solutions can be broadly categorized into:

  • Static catalogs: A static catalog is a single text file that contains your catalog information. Static catalogs can be created as CIF or cXML files.
  • PunchOut catalogs: PunchOut catalogs (cXML) are live, interactive catalogs that are hosted on external website instead of being uploaded to SAP Ariba Procurement solutions. PunchOut catalogs allow customers to click a link to “PunchOut” or go to your organization’s website.

The file formats accepted are:

  • CIF (Catalog Interchange Format)
  • cXML (commerce eXtensible Markup Language)
  • BMEcat (Bundesverband Materialwirtschaft, Einkauf und Logistik e. V. catalog)
  • Microsoft Excel

Catalog Formats

SAP Ariba solutions support three industry standard catalog formats: CIF, cXML, and BMEcat. All three formats are simple text files that are easy to create. SAP Ariba solution sites configured for managing catalogs using the content management system (CMS) also support catalog files in Microsoft Excel (.xlsx) format. Below table provides brief explanation of each file format and also a link to the respective help sites for reference.

Format Description
CIF

CIF (Catalog Interchange Format) is a comma-separated list of catalog items and their attributes.

Ariba Network allows you to publish CIF catalog files in an Excel format with a .xls extension. Ariba Network has a built-in Excel(.xls)-to-CIF file converter that converts the Excel(.xls) files to CIF (.cif) files internally. For more information, see Creating and managing catalogs.

For details about CIF catalogs, see CIF Catalogs.

cXML cXML (commerce eXtensible Markup Language) format is an XML-based document type definition (DTD) designed specifically for communication of e-commerce business documents. In cXML, catalog data is described with tags and attributes, using a syntax similar to that of HTML. cXML also supports the communication of purchase orders and PunchOut catalogs.

For details about cXML catalogs, see Topics about cXML Catalogs.

BMEcat BMEcat ( Bundesverband Materialwirtschaft, Einkauf und Logistik e. V. catalog) format is an XML-based DTD designed specifically for catalogs by the German association for materials management, purchasing and logistics. In BMEcat, catalog data is described with elements and attributes, using a syntax similar to that of HTML.

For details about cXML catalogs, see Topics about BMEcat catalogs.

Excel

SAP Ariba solution sites configured for managing catalogs using the content management system (CMS) also support catalog files in Microsoft Excel (.xlsx) format.

Ariba Network allows you to publish catalog files in Microsoft Excel (.xlsx) format only to customers who use the content management system (CMS) in SAP Ariba solutions to manage their catalogs.

For details, see Catalogs in Microsoft Excel (.XLSX) format.

Dynamic Pricing Based on Quantity and Validity Periods

Our focus for this blog is on CIF file format and specifically on the topic of Price Configuration using Date and Quantity as criteria.

Use Cases

Following are couple of common scenarios that can be solved using this configuration:
1. Item Price is $100 if the quantity is up to 100. If quantity is more than 100 then Item will be offered at a discount price of $90
2. Regular Item price is $100 except for the period from 01/01/2022 to 03/31/2022 when the price is $110

PriceConfiguration field in CIF catalog

Scenarios like these can be achieved by adding a field called PriceConfiguration to CIF catalog.
The PriceConfiguration field allows you to define different prices as a hash table of [“key-value”] pairs. The syntax is: [{“key”=”value”;”key”=”value”;”key”=”value” * };{ * }].

Working Examples

Below are the working example PriceConfiguration field values for the scenarios mentioned above.

Note: Add a field named PriceConfiguration to CIF file and include the value provided in the DATA to achieve a working scenario.

1. Item Price is $100 if the quantity is upto 100. If quantity is more than 100 then Item will be offered at a discount price of $90

[{"datetime"= [{"type"=valid_start_date;"date"=2022-01-01};{"type"=valid_end_date;"date"=2022-12-31}]; "articleprice"= [{"priceType"=net_customer;"priceamount"=100;"pricecurrency"=USD;"pricefactor"=1;"lowerbound"="1"};{"priceType"=net_customer;"priceamount"=90;"pricecurrency"=USD;"pricefactor"=1;"lowerbound"="100"}]}]

2. Regular Item price is $100 excpt for the period from 01/01/2022 to 03/31/2022 when the price is $110

[{"datetime"= [{"type"=valid_start_date;"date"=2022-01-01};{"type"=valid_end_date;"date"=2022-03-31}]; "articleprice"= [{"priceType"=net_customer;"priceamount"=110;"pricecurrency"=USD;"pricefactor"=1;"lowerbound"="1"}]};{"datetime"= [{"type"=valid_start_date;"date"=2022-04-01};{"type"=valid_end_date;"date"=2022-12-31}]; "articleprice"= [{"priceType"=net_customer;"priceamount"=100;"pricecurrency"=USD;"pricefactor"=1;"lowerbound"="1"}]}]

Syntax Reference

The following table lists the various keys and their supported values to define multiple price configurations:

Key Name

Required/Optional

Notes

datetime

“type”=valid_start_date

Optional

Indicates the start date of the validity period in YYYY-MM-DD format.

“type”=valid_end_date

Optional

Indicates the end date of the validity period in YYYY-MM-DD format.

articleprice

priceType

Required

Indicates the type of the price. SAP Ariba solutions support net_customer as the value that indicates that the price is customer-specific and excludes sales taxes.

priceamount

Required

The amount of the price.

pricecurrency

Optional

The currency of the price.

pricefactor

Optional

The (discount) factor that is multiplied by the priceamount value to determine the end price.

lowerbound

Optional

The lower limit of the item quantity for which the price is applied.

Pre-requisite:
SAP Ariba solutions support the PriceConfiguration field only in sites configured for managing catalogs using the content management system (CMS)

CIF files are used heavily in SAP Ariba Procurement applications. They are used by suppliers to provide detailed material or services offering to their customers. CIF format is also generated by customers when they implement SAP Ariba procurement processes like Inventory Reservation, Catalog Syndication and Contract Operationalization. All these processes can exploit this Dynamic Pricing Configuration to make their setup more flexible and dynamic.