Package Product Code

by Community Manager on ‎08-12-2015 03:53 PM - edited on ‎09-09-2016 03:14 PM by Community Manager


  • Product fields:
    • Configured Code Pattern: Determines the format of the pattern
  • Syntax:
    • Known, fixed position: {1}<separator>{2}<separator> and so on
      • Implies that we know ahead of time how many options and their positions
    • Unknown position: {+=}{sort}{upper||lower}
      • {sort} => alphabetical sort. Not specified: in order of appearance of options
      • {upper} => convert to uppercase
      • {lower} => convert to lowercase
  • Product Option fields:
    • Given the syntax of the Configured Code Pattern, you can deduct the role of the Component Code Position and Component Code fields on the Product Option object:
    • When the option is selected in the bundle, the value of the Component Code field will be injected in the Configured Code Pattern in the placeholder represented by the value in the Component Code Position field.
  • Quote Line fields:
    • Package Product Code: stores the generated product code


For example: if the following was the configured code: CODE-{0}.

by jburton
on ‎11-03-2015 01:32 PM

Can you provide some context or use cases as to how this can be applied to quote logic?

by Community Manager
on ‎11-03-2015 01:50 PM

@jburton Thank you for posting this comment looking for additional context or use cases for Package Product Code. Our documentation team has been notified of your request and will consider adding to this article.


Do you have a specific use case or question you would like answered? If so, I highly advise posting a Package Product Code Use Case question in our Support Forum. Any answers or solutions from Support Forum posts will be considered for more detailed knowledge base articles or use cases and will help us build our knowledge base to cover more specific examples and use cases. I have reached out via private message, please feel free to message me if you have any more questions. 



by chickman2
on ‎02-05-2016 10:25 AM

I always provide an example output when I discuss this function.


I sell a laptop computer that has a basic chassis and configurable components. What my fulfillment folks configure is based on what the customer selects, which I record by configuring my laptop bundle in SteelBrick. Rather than sending over a full order form for each configuration (since I may have 1,000 laptops with multiple configurations for one business order), I instead put together a Package Product Code or "dynamic SKU" to communicate the configuration that should be built.


There are 3 fields necessary to configure this: Configured Code Pattern (bundle parent), Component Code Position, and Component Code (both on the product option record). To make it easier to relate the option to the pattern, I always set Component Code Position to the value of the "Number" field I set for the Feature to which it's associated when I can. So for example, I set the Feature I want to appear at the top (sections) or furthest left (tabs) to 10, next one to 20, and so on. Any Options in the "10" Feature get a Component Code Position of "10" as well.


To simplify matters I'm only going to provide examples for 3 Features: Processor, Hard Drive, and Memory. So here's my bundle.


Laptop: Model LC-001

-Processor {10}




-Hard Drive {20}




-Memory {30}





In my Configured Code Pattern field on the bundle parent, I define it as:




My options get a Position value equal to the Feature Number, and a value equal to the name I have listed. LC-001 and the "-" are static text. So if I configure a basic model with an i3 processor, 1TB hard drive, and 8GB of RAM, my resulting Package Product Code would be:




But if I configure a high-end workstation with an i7 processor, 4TB hard drive, and 16GB of RAM, the result is:




The text in the article gives examples of how you can even generate a SKU in cases where you may not know the number of Options being selected in advance.

by chickman2
on ‎06-09-2016 07:43 PM
Trying to understand the syntax of "unknown position". If I don't need alphabetical sort or upper/lower case conversion, how do I specify multiple positions within the pattern with {+=} ? Do I just add numbers like {+=1} {+=2} and then put those values in the relevant option's Component Code Position field?
by Nasus
on ‎03-10-2017 01:41 PM

Is there a limit to the number of characters that can used in the configured code patten? Ours can go up to 50.

by LindseyM
on ‎04-05-2017 07:53 PM

It seems this feature doesn't work with dynamic bundles at all. My field on the bundle parent isn't being populated. 


Does that seem right? or is there something i am missing in my setup.