There are two plugins which sound like they would do this, but neither does. We need a way to maintain the hierarchy of Constituent Codes on records with more than one. Relying on manual entry and checking to ensure the "highest" priority code is first is not realistic. Cleanup of these is too manual to be done very often (requiring exporting all constituent codes, manually manipulating the file so the chosen "primary" code is first, and re-importing them). BB needs to create a tool of some kind to facilitate this cleanup, or change the way these are entered in the database so some kind of business rule can enforce correct entry at the time of entry. Really, both are needed, because even if there was a rule of some kind during manual entry, we still need a way to check that these haven't gotten out of whack during global add/change/import runs.
"Relying on manual entry and checking to ensure the "highest" priority code is first is not realistic. Cleanup of these is too manual to be done very often"
A blackbaud classic. "Everything is a training issue!" - "Spend 60 hours a week data cleaning things because we don't want to allow you to make a field required or to create a simple validation rule!"
Or a simple option to set the hierarchy at the table level and prevent the need for cleanup and maintenance entirely.