Skip to main content
10-Marble
May 22, 2026
Question

BoM PN Changeover per Customer

  • May 22, 2026
  • 3 replies
  • 138 views

Hello,

With my current employer there is some “masking” at times of our internal part numbers.
This is because certain customers may require our part number be translated to match their numbering system.

The issue is that we are expected to maintain universal/internal part numbers for our assemblies but then at times provide a customer the same assembly and drawing using only the customer’s part numbers.

I am aware it is possible to have Table Formats for each customer having a column declaring the respective customer’s number from the properties of the item, but I hope that there is some way to maintain a single drawing and assembly for translation of the assembly and BoM to reflect a customer’s numbering system dynamically.
This will remove possibility of duplicate items and entropy with that scenario.

I assume it would be best for a BoM to be adjusted outside of Creo systems, but then the assemblies themselves they would not properly identify themselves via customer part numbering.

Is there capability currently to setup something of this sort? Is there something possible to adjust or implement for maintaining a single assembly like this? I imagine there is something I am not all too familiar with that may employ this need of ours.


Thank you for your time

3 replies

17-Peridot
May 23, 2026

Totally possible and very easy to do.  The simplest way to deal with this is to establish a new customer parameter that contains the customer part number within each model.  This way you have a consistent reference within the models to report on drawings and BOM exports (the BOMs will require some extra processing to develop a customer version - but it is trivial).

Since you are likely keeping track of the internal/customer part number mapping in Excel - you should leverage this to generate parameters in your models.  Here is how.

  • Nitro-BOM is the best approach for a couple of reasons.
  • It is a native Creo / Excel interface specific to Bill of Materials and Parameter Management.
  • You can simply export your assembly BOM to Excel (this generates BOM tables of your data in Excel)
  • Add your internal/customer part number mapping into the Excel File (separate tab w/ content)
  • In the ALL_PARAMS Worksheet - insert a new column type STRING
  • Write a formula to lookup the customer part number based on your part number in ALL_PARAMS per row within the column (this will populate the customer part numbers as values for the new parameter)
  • Flag all parts for modification (this ensures that all columns of parameters are validated (you can delete/remove the other parameter columns to speed things up)
  • Import your changes… Nitro-BOM will create the new parameters and values per model.
  • Nitro-BOM will then refresh the export so you can see the changes - you can also confirm in Creo (add a model tree parameter display to confirm across the structure).

That is it!  (might take you ~10-mins after you have the software talking to Creo).

Nitro-BOM has a FREE license that you can use to try, request a demo for full access (bigger content), and monthly floating license purchase options if you only need it a few times per year.

Oh - the only other requirement is to make sure you have JLINK installed with your Creo Parametric.

The only suggestion is that if you anticipate this coming up again (with other customers) make sure your parameter name is logical and easy to understand (e.g. <custName>_PN as a parameter name).

Now - to generate a customer specific BOM export once you have their part number parameters in your models, you just need to transform the BOM data to the final format.  Nitro-BOM can help with this also. 

The easiest way is to use Excel Power Query (built in to Excel).  The only thing that is required is to make sure that the customer part number parameter is in your BOM exports to Excel - then access Power Query (again it comes with Excel) and simply remove the Creo Part Number column and re-order the customer part number column to where you want it - and save the change, this should generate a new worksheet with the customer specific BOM report in Excel. 

The bonus of this - once you have that setup, each BOM export you do with this file will automatically generate customer BOM views - recommend flagging the Refresh ALL setting for Excel in Nitro-BOM and it will automatically execute the operation in Power Query to generate the updated output.

 

Hope this helps.

 

Dave

 

10-Marble
June 9, 2026

Thank you for an applicable path forward.

Is this program able to relay the BoM in separate forms where the customer part number supersedes the internal part number on an individual sheet, and then applicable differing information? I worry about the many customers occupying too much space/columns when not needed to be relayed, if a BoM generation is all that is necessary.

I suppose I am more interested in knowing if this is able to maintain a proper truncated BoM in the main assembly drawing, without increasing or affecting the natural BoM.
My apologies if this is something you highlighted already.


I guess what I am hoping more for is some innate possibility in Creo for an off-the-shelf ready product to have the parts composing the assembly to translate over in full, in model/assembly items, to a customer specific part.
At times a customer may utilize a specific to them asset with some slight differences in modeling/properties than that normally installed. I worry though if a family table approach regarding an entire vehicle or so may be more burdensome overall in the attempt to remove discrepancies than in maintaining several variations.


Thank you

17-Peridot
June 9, 2026

Sure - you can always just add more parameters to the models and filter them in Drawing Tables with Repeat Regions if you need that.  Family Tables would be a bit of a nightmare to manage, but you would be able to edit them with Excel and maintain the relationships in the models.  One thing that is nice about having the parameters in the models is you can pass them through to drawing formats (if you set them up correctly) to include specific customer part numbers when you need them as an output for specific customers - to help them cross reference your numbers and theirs - or provide drawings using their formats.

 

You are in a difficult spot -- the minute you start to manage customer part numbers in your models, they become “another thing to manage” in Creo -- if you have more than one customer asking for this… the burden becomes heavy to manage the separation - customer specific parameter names (prefix/sufix) that need to be consistently implemented.

 

This is why my suggestion was to NOT do that (unless you need that drawing benefit in some way and there is truly a standard process you as a company want to implement to help hold a customers hand to provide the translation with engineering level documentation).   Instead, it is best to handle these types of requests outside of Creo - in excel - where you can more easily manage the mapping and updates of BOM data without a lot of mouse clicks in Creo.

 

Just some additional thoughts on pain previously experiened.

 

Dave

Community Moderator
June 1, 2026

Hi ​@Angel_Hearted,

I wanted to see if you got the help you needed.

If so, please mark the appropriate reply as the Accepted Solution. It will help other members who may have the same question.
Of course, if you have more to share on your issue, please pursue the conversation.

Thanks,
Anurag 

10-Marble
June 3, 2026

My apologies, I have not checked back in about this matter until now.

RPN
18-Opal
June 9, 2026

One guess:

I would have 2 parameter, one for the universal/internal part numbers string parameter like IPN and one for customer’s part number string parameter like CPN

Next a boolean parameter to distinguish what you want to use, like use internal part number UIPN

And a string parameter which contains the current, in use part number, like PN

 

Now a model relation (drawings can’t handle relations)

 

If UIPN == TRUE 

PN = IPN

else

PN = CPN

 

Finally declare a layout/notebook to all model files to drive UIPN for each model.

Now you can drive PN for an assembly by just modifying UIPN

If you use Windchill and you configure UIPN all model files will be flagged as modified, because PN and UIPN is changed for a whole assembly, and a lot of windows may appear 😀 depending on your settings.

 

All BOM and Drawing tables can use PN, and they will update and reflect the changes on regen.

 

Another option, make a model flexible by a parameter set and use a similar technique, I hope than in this case a model is not marked as modified. This is initially some work to do, but a model template could have this by default.

A BOM  table relation may work as well, but you have to setup this manually by configuring PN, here the model files may not marked as changed, but this is error prone.

Side note: Dealing with part numbers is very tricky, because these are unique informations, so take care.

 

Family Tables or an inherited merged model may to much work, and replacements may need to be done manually. Having a Model for each part number may the best approach, but some effort.

 

To track your part numbers, I would use a separate software tool to check uniqueness.

 

Just my 2 Cents, Good Luck.

10-Marble
June 10, 2026

Thank you for your insight. 😊