I'm sure this is a common situation. We would like to have one part number for what is received from one supplier, then send that part to another supplier or our own shop for secondary operations such as anodizing, powder coating, subsequent machining, etc, and have it come back as a different part number. Typically the post-secondary-operation part is what is included in assemblies, and it drives demand for the pre-secondary-op part.
I've tried this using derived configurations, but I don't like this method because 1) it does not play well with the PLM software we use, which sees configurations as "instances" within a "generic" part file (works great for legitimate part families but not for this case), and 2) I expect a lot of time will be spent managing changes to ensure they are made to the correct configs and even then errors are likely.
I've tried making one-part assemblies to capture the secondary operations, but I don't like this because: 1) assembly modeling with what is in fact a single part wrapped in a subassembly is a huge pain in the bum. As an example, when I tried to change the configuration of a post-op part used in an assembly from config "A" to "B" (which reference pre-op parts "a" and "b" respectively), I accidentally changed config A of the post-op "subassembly" part to reference config "b" of the pre-op part instead, and didn't realize my mistake for several hours. I know it's easy to avoid this by clicking the part then clicking on "select subassembly" and then changing the config, but I fully expect that requirement to be lost on people now and again which could potentially result in ordering lots of wrong parts. There are lots of other annoyances that go with doing it this way but I can't think of more specific examples at the moment.
So far my favorite method of doing this is to insert the pre-op part into the post-op part file, which I like for several reasons. But, what I really really really don't like about doing it this way is that: 1) I can't edit any features that are defined in the pre-op part from within an assembly that uses the post-op part. To work around this I've taken to also placing the pre-op part in my assembly with an origin-origin mate to the post-op part, which is an ok solution but does present a low-ish risk of ordering double the quantity of the pre-op part if it is not removed or marked as exclude from assembly before release. And 2) we cannot pattern components in an assembly using patterned features from the inserted-part.
So I'm just curious if I'm missing something, seems like this would be a very common situation that companies want to manage but I haven't figured out a way to do it that doesn't come with some degree of headache.