In both Stock Items and Contacts you can set a Revenue Ledger Account
What Revenue Ledger Account code would we send to Xero if we post an order selling “23CH” to Customer “ABC Restaurant”? Well it depends on this setting.
If we prefer Contact we will first look at the Revenue Ledger Code in the Contact. If it exists, in this case it does, we would send that code (200) to Xero. If Contact Revenue Ledger Code is not set, we will fall back and see if the Stock Item has a Revenue Ledger Code. If it does, we will use that code (201).
You can imagine what happens if we prefer Stock Item. We would just look at Stock Item’s Revenue Ledger Account (201) first before checking for the Contact’s Revenue Ledger Account (200).
In the cases where both Stock Items and Contacts don’t have any Revenue Ledger Account setup. We will use the account setup here in the Xero Configuration.
If your Revenue Accounts are differentiated by something like sales channels, sales market, or who are are selling to. It would make sense to setup Revenue Ledger Codes in your Contacts and leave all your Stock Item’s Revenue Ledger Account empty. To get Freight/Shipping Code to work with this case, you would prefer Stock Item in the setting and ONLY set the Revenue Code of Freight/Shipping Stock Item. This would make it so that Freight/Shipping will always go to the same account regardless of who you are selling to.
If your Revenue Accounts are differentiated by what you are selling e.g. white vs red wine or types of spirits. It would make sense to setup Revenue Ledger Codes for your Stock Items and leave all your Contact’s Revenue Ledger Account empty. In this situation Freight/Shipping works by default.