On occasion, a large company with several subsidiaries may cause confusion regarding the correct invoicing address. You will find more on this subject in the Blog on Datev: Odoo is working with a hidden field “commercial partner.”
If a new company is created, the value of the commercial partner is its own data record ID. If the user generates a new contact or a different address, the value entered for the record ID corresponds to the higher-level info, in this case, the value of the company. Apart from the fact that this data is also used for reports, it has a direct functional aspect as well: When creating an invoice and assigning a different invoicing address, the claim will be assigned to this specific commercial partner in the booking record, in other words, the company, not the contact is the debtor.
If someone now were to assign the invoicing address to another company, Odoo issues the following warning:
After all, this is not only about one invoice, all processes regarding this contact would be assigned to another company, and that would be certainly more than fatal! Consequently, the old contact should be deactivated and a new one created for the new company, as described in the warning message.
And there would be still another even more unpleasant issue regarding the invoice: If the user would actually save his changes, the invoicing address would now be assigned to a new company. The claim, however, would not have been “re-assigned,” since the posting record is still assigned to the previous commercial partner. When a payment is posted, this issue leads to an error message, informing you that the accounts do not match. The reason for this message is that Odoo tries to write the new company’s debtor account to the posting record of the payment when entering data. When the system tries to reconcile the accounts, it realizes that the debtor account of the receivable does not match the payment that a settlement is, therefore, impossible.
This is difficult to resolve since posted bookings are sacrosanct.