Anglo-Saxon and Continental Accounting in Odoo

OpenERP / Odoo was originally designed to support “Continental” (or Rhine) accounting principles.

Many other countries use different accounting principles, so a module was added for “Anglo-Saxon” accounting. This is now incorporated into Odoo (both Community and Enterprise editions).

The main differences are related to stock inventory accounting.

Frankly, this is rather confusing and (as is often the case) the explanation in the documentation is not very clear. Here are two extracts from Odoo documentation

The Accounting behind Odoo:

Odoo’s core accounting engine supports:

  • Anglo-Saxon Accounting (U.S., U.K., and other English-speaking countries including Ireland, Canada, Australia, and New Zealand) where costs of good sold are reported when products are sold/delivered.
  • European accounting where expenses are accounted at the supplier bill.

Inventory valuation configuration

  • In continental accounting, the cost of a good is taken into account as soon as the product is received in stock.
  • In anglo-saxon accounting, the cost of a good is only recorded as an expense when this good is invoiced to a final customer.

You may notice that those two descriptions don’t say the same thing, and if you review the examples in the documentation they show something different again!

So, if you plan to use the so-called “Continental” Accounting you will need to look at it again to understand the postings.

To summarize, in Anglo-Saxon accounting:

  1. Cost of Goods Sold is recognized when the Sales Invoice is confirmed (this makes sense because costs and revenues are recognized at the same time).
  2. It’s recommended to define a Price Difference account (on Product Category) that will be used in case the amount on the Vendor Bill is different from the amount on the Purchase Order.
    • This is not available in Continental Accounting
  3. For the Stock Input and Output accounts, Interim Stock Accounts are used (both of which are Asset Accounts in the Balance Sheet).
    • These are defaults and can be changed if required.
    • In Continental Accounting it seems that a single Expense account is used for both input and output accounts.

Switching between the two modes

When Odoo is installed, “Anglo-Saxon” accounting is activated for most non-European countries.

It should be possible to switch between Continental and Anglo-Saxon, but care needs to be taken with this if there are any transactions in progress (because the postings are different).

In some versions of Odoo it is possible to switch this on or off from the Settings:

Enable Developer Mode and navigate to Accounting (or Invoicing) / Configuration / Settings:

It’s not shown in Community Edition, so there are two options if you want to change the setting.

1. Export / Import tool

It’s quite easy to manually update this in the Company Profile (res.company):

  1. Export the company profile(s)
    • You must select import-compatible export
    • You must include the Anglo-Saxon accounting field
  2. Set the field anglo_saxon_accounting to either TRUE or FALSE
  3. Import the file you just downloaded
    • Check that you are updating the company profile and not creating a new company!

2. Extension View

Alternatively you can create an Extension View (but note that this will be in the Company Profile rather than in Invoicing / Settings):

Enable developer mode, navigate to Settings / Technical / Views and create a new view.

View Name: anglo_saxon
View Type: Form
Modelres.company
Inherited Viewres.company.form
View inheritance mode: Extension View

Architecture

<data>
  <xpath expr="//field[@name='favicon']" position="after">
    <field name="anglo_saxon_accounting"/>
  </xpath>
</data>