Custom Fields

The Custom Fields administration allows creating custom fields in the shopping cart for users to include additional information, such as terms of payment or other specific information to your company. The fields can also be useful in helping to define what a generated document will include. Field selections can also affect the configuration of the product(s). Each custom field is assigned to a tab defined as a quote tab and gets permissions set to define how the field will be used based on the user and the status of the quote.

Figure A - Custom Fields

Custom Fields administration can be found under the Quotes admin menu. Here user can copy, delete, and edit existing custom fields. Clicking Add New allows adding a new custom field.

Figure B - Custom Fields List

Creating a new custom field comes in two steps. First step is to define the field, including the label, the type of field it will be, what tab it will be displayed in and the order, and the label. Once defined, user can then assign permission to the field. The permissions determine how the field will be displayed to the user, such as hidden, required, editable, and read- only.


Figure C - Add New Custom Field

Name - Custom fields can be created with any name, or label. This label can then be different for other users based on user group.
Type - This determines how this custom field will be used:

  • Free Input - Field appears as a text box in which users input a value. No restrictions on what the user can enter.
  • Attribute - This type allows you to connect your custom field to an attribute. This way, in the quote, you get the text box where you can select custom field value from the list of attribute values. (See Figure D)

Figure D – Selecting from the available attribute values in the dropbox

If you set an attribute of type „Auto-complete“ to be connected to your custom field, then in the quote, instead of drop box, you get the autocomplete text box where you can type a value that you want to assign to your custom field. As you start typing, autocomplete offers a list of values that either starts with the typed combination of letters, or contains it. (See Fiigure E)

Figure E – Selecting from the available attribute values - autocomplete
  • Date - Field appears as a text box in which the user enters a date. The date the user enters must match the date format the user has set on the User’s Page. Next to this field, the user is able to click an icon to display a calendar where the date can be chosen.
  • Long Text - Field appears as a large text box in which the user can enter multiple lines of text. No restrictions on what the user can enter.

You cannot change the Date field to any other type, nor can you switch other types to Date. You can switch fields to and from Free Form, Attribute and Long Text.
Tab - Select the quote tab that this field will be displayed under. The only tabs available are those tabs that have been defined as a quote tab in the Quote Tabs administrative section. It is important to keep in mind that the tabs that are used for the cart, customer info, and attachments are available selections. This means that user can place custom field not only in custom tabs, but also within the cart, customer info, or attachments.
Calculation Type - If “Once, when quote is created” or “Every time quote is modified” Calculation type is selected, a new Formula field will be shown. The evaluated formula value will be assigned to the content of the custom field. This way a custom field value can be defaulted to some value. Some of the tags are not supported for “Once, when quote is created” calculation type option (<*CTX(Quote.QuoteNumber)*>,<*GI(CART_OWNER_ID)*>,…)

When application parameter “Enable quote custom field calculation ranking” is true, the new field will be added in custom fields administration “Calculation rank”. This field will be visible only when “Calculation type” is not “None”. For example, admin can add three dependent custom fields: Custom field “A” ,Custom field “B” ,Custom field “C” . Custom fileds B i C have calculation type 'Every time quote is modified'. Custom field B has formula <*EVAL(<*CTX(Quote.CustomField(A))*> * 2)*>, custom field C: <*EVAL(<*CTX(Quote.CustomField(B))*> * 2)*>. Calculation rank is set to 1 for B and to 2 for C. When the user enter “5” in the custom field “A” and click on “Calculate”, the value for custom field “B” should be 10 and for custom field “C” should be 20.

Figure E - Formula Field

Order within Tab - Determines where this field will be displayed in relation to the other fields on that tab. The lower ranked fields will be displayed on the top, while the higher ranked will be displayed after.
Transfer to Items - Determines whether or not this field’s value will affect the product’s configuration. This is done when this field is connected to an attribute. That same attribute needs to be added to the product where the product definition is using the attribute. Once the field is selected in the cart and saved, the value is passed to the product’s configuration and the same attribute value is selected in the product. Any rules, calculations, etc used around this attribute will be affected.
For example, say we have a custom field connected to an attribute called Number of Users, which contains the values 1 through 10. In addition, we’ve also added this same attribute to the product’s configuration to control the pricing of the software we are configuring. Once a user has configured the software and added it to the cart, they can select a value from the custom field Number of Users drop down list. Once it is saved, that value is passed back to the configuration where the pricing is updated based on the number of users selected.

Note that value from custom fields that are marked as 'transfer to item' will NOT be transferred when product is in catalog and while product is configurated. After the product is added to the quote, all custom fields that are marked as 'transfer to item' will pass their values. This may affect a final price of the particular product, if the price depends on the attribute that is used in custom field.

When using the Transfer-to-item functionality it will cause Quote Reconfigure – not only when the custom field value is changed, but also when the Calculate action is triggered (on item discount change, list price change or any other field value change).

Show on place order confirmation page - This determines whether this field will be displayed along with the order on the confirmation page after clicking Place Order. If selected, then the custom field will also be displayed in the email that goes to the ordering parent or system administrator depending on how it is configured.
Default Label - User can give the field a different label from the required name of the field. If left empty then the system will use the name of the field. This is just the default label. The label can be changed based on the user group.
Clicking this icon displays a list of all the user groups in the system where user can define what the label will be for each group. This is most beneficial when quotes are being shared among user types. Users that open quotes from another user group will see their label with the other user’s value.
For instance, if we have a custom field called quote name, we may want the managers to see the label ‘Project Name’ but the sales rep to see ‘Quote Name’. When a sales rep user creates a quote they’ll enter a value for Quote Name. Then when the manager opens the same quote, they’ll see the same value the sales rep enter but under the label Project Name.
Contains Personally Identifiable Information - All information that could potentially be used to identify an individual should be flagged as PII
Sensitive Data - PII data can be flagged as sensitive for an additional layer of protection.



Figure F - Custom Fields Permission Administration

The Permissions tab defines how the custom field will be displayed to the user based on the user group and status of the quote. There are four options that you can define for the field:

  • Hidden - This is used for the statuses or user groups that you would not like the field displayed for. The field is not displayed at all to the user. If the field is required the user will not be prompted to enter a value for the field.
  • Read-Only - This is generally used for statuses after the quote has been completed, such as Order Placed or Received Order. The field is not editable. Whatever value had been entered for the field will be displayed as uneditable text. Even when a custom field is read-only for a user type, a script will change the value when triggered.
  • Editable - This is generally used for the initial statuses in which the quote is being created, such as Open. The field is displayed in whatever format it was defined in.
  • Required - This is used when user would like the user to define this field before they are allowed to Place Order on the quote. Field marked as required are editable and are displayed with a red asterisk. If they try to Place Order on the quote or save the custom fields on that tab, then they will be prompted to define the field.

One of these options can be defined for each cell in the matrix of user groups and statuses. To set an option to a cell click the cell to display a pop-up where the option can be selected. There are six different types of cells in the matrix that can be defined:

  • All Permissions - Sets the same option for all the cells in the matrix. Click the upper left corner of the matrix to define.
  • All Statuses for One User Group - You can set all the statuses for one user group by clicking the user group’s name on the left side of the matrix.
  • All User Groups for One Order Status - You can set all the user groups for one order status by clicking the status on the top of the matrix.
  • Individual Cell Intersection - You can set a cell intersection between a status and a user group. For instance the Sales Rep group should have the custom field Read-Only when in the Order Placed status.
  • Default (For New User Groups) - Set how the custom field will be displayed to the users added to new user groups that haven’t been set in this matrix yet.
  • Default (For New Order Status) - Set how the custom field will be displayed in a new statuses that haven’t been set in this matrix yet.

The default cells make administration easier so that when you create a new user group or status you do not need to go through and define all the custom field permissions again.

Selecting an option for a cell that includes all statuses or all user groups might take a little bit of time to set depending on the number of statuses and user groups created in the system. Large number of groups or statuses means there are a lot of cells to set, so there might be a slight delay in setting them all.

When finished defining the custom field and its permissions, click Save at the bottom of the page. You are not redirected to another page in case you would like to continue to define the field. For instance if you’ve just defined how the field will be used and now you’d like to define the permissions.

More Information

You are here: SAP Sales Cloud CPQ Online HelpAdmin Page HelpQuotes AdministrationCustom Fields