Wrong usage of AttentionName
The AttentionName is filled by default with the address name which is the building name. This is wrong it should be by default the party name (and override by custom module). Also the method has an assert that the party of the address is the same as the party. This is not needed as such enforcement is managed by the data model. This method is also used with the warehouse address and there is no constraint that it should be from the same party. Indeed I think the AttentionName should use the party from the address.