Fairly simple, rarely broken, but worth having a rule that publishers cannot use a custom vocabulary for something that is on an IATI codelist for that element.
Has implication for when new codelists are added, to support those already using their own codelist for that purpose to change over.
Reason being that when using the data, it is not feasible to check if a publisher is using their own codelist to report something, therefore you want to be able to assume that the official codelist users represent the total reporters of that data.