Chart of Accounts

Installing a Chart of Accounts (CoA)

If you use the Invoicing or Account apps in Odoo you will need to install the “Fiscal Localization” for your country. This includes a basic Chart of Accounts (and taxes), but you can easily adapt this to suit your requirements.

  • If you have multiple companies you can use different fiscal localization / CoA for each one
  • You cannot change the Fiscal Localization after posting journals, but you can change the Chart of Accounts (more here)

Deleting accounts

As a general rule, it’s better not to delete accounts, but can change the account code and name.

  • Why not delete accounts? Because they may be used somewhere in Odoo.
    • Once you are familiar with all the postings in Odoo you may know that a particular account is not used, and in that case you might be able to delete it.

Creating new accounts

It’s straightforward to create new accounts, and if you make a mistake you can change all the parameters (yes, even the account type), but you need to remember that this will affect journals that have already been posted.

Here’s an example for Inventory Postings, creating a Stock Interim Account:

Simply navigate to Accounting -> Configuration -> (Accounting) -> Chart of Accounts, click on “New” and type in the account code, account name and type:

This is using the “Generic COA” (which is something like US GAAP).

Account Code

It’s simplest to use the account codes that have been pre-defined, but if for any reason you need to change them you can use export / import, or you can do it manually in the List View.

You might want to change the account codes because:

  • You have an existing CoA and want to continue using this
  • There is some legal requirement in your country and Odoo does not handle that

Use of Account Codes

  • The report structure is not based the account codes, only the types
  • Account Groups do use the codes, so if you use them you probably want to have a logical sequence (e.g. all your Product Sales accounts start with 400nnn).
    • Account Groups can be used to create a hierarchy (i.e. sub-totals)
    • In Odoo 13 and earlier, Account Groups did NOT use the codes and were more flexible.

Account Name

This is totally free format and can be changed. Obviously it needs to be meaningful so users understand which account they are selecting.

Account Type

This controls where balances are shown in the Financial Reports (though you can also change the layout of the reports).

# Type Name B/s pr P&L
1 asset_receivable Receivable Balance sheet
2 liability_payable Payable Balance sheet
3 asset_cash Bank and Cash Balance sheet
4 liability_credit_card Credit Card Balance sheet
5 asset_current Current Assets Balance sheet
6 asset_non_current Non-current Assets Balance sheet
7 asset_prepayments Prepayments Balance sheet
8 asset_fixed Fixed Assets Balance sheet
9 liability_current Current Liabilities Balance sheet
10 liability_non_current Non-current Liabilities Balance sheet
11 equity Equity Balance sheet
12 equity_unaffected Current Year Earnings Balance sheet
13 income (Operating) Income Profit & loss
14 income_other Other Income Profit & loss
15 expense Expenses Profit & loss
16 expense_depreciation Depreciation Profit & loss
17 expense_direct_cost Cost of Revenue Profit & loss
18 off_balance Off-Balance Sheet

In Odoo 15 (??) and earlier, the number was used in defining the structure of Financial Reports, since then the type is used. Note that the off-balance sheet accounts don’t affect the P&L or the Balance Sheet.

Another way to visualize this is

Balance Sheet
Assets
Receivable
Bank and Cash
Current Assets
Non-current Assets
Prepayments
Fixed Assets
Liabilities
Payable
Credit Card
Current Liabilities
Non-current Liabilities
Equity
Equity
Current Year Earnings

Profit & Loss
Income
Income
Other Income
Expense
Expenses
Depreciation
Cost of Revenue
Other
Off-Balance Sheet

Changing the Account Type

If you change the Account Type that will change how postings to that account are shown on the Balance Sheet, P&L and some other reports . This will affect anything already posted as well as all future postings.

  • The advantage of this flexibility is that if you set up an account wrongly, you can correct it without needing to do reversals and adjustments.
  • The possible disadvantage is that making changes after you have finalized your accounts for a period is going to cause problems!

Allow Reconciliation

This is only used with certain types of Balance Sheet accounts:

  • All Receivables (Debtors Control Account / Sundry Debtors)
  • All Payable (Creditors Control Account, Wages and Taxes)
  • Selected Current Assets

Other setting are accessed by clicking on the “View” button:

Default Taxes

This will add taxes automatically to sales or purchase invoices when this account is selected. This might possibly be used if the inventory app is not installed

Tags

These are used in the Cash Flow statement (which is not configurable)

  • Operating Activities (e.g. Sales)
  • Financing Activities (e.g. Currency Gains & Losses)
  • Investing & Extraordinary Activities

Allowed Journals

Not sure why you would use this, but it does seem to prevent you from selecting this account on other journal types!

Account Currency

Another one that is not normally used

Deprecated

This can be used to archive / deprecate an account that already has postings (Odoo won’t allow you to delete them)

Create Assets

This applies to Fixed Assets only

You have three choices for the Automation tab:

  1. No: this is the default value. Nothing happens.
  2. Create in draft: whenever a transaction is posted on the account, a draft entry is created but not validated. You must first fill out the corresponding form.
  3. Create and validate: you must also select a Deferred Expense Model. Whenever a transaction is posted on the account, an entry is created and immediately validated.

Companies

This has changed in v18 – the same accounts can now be used in multiple companies (but with different codes if required). In earlier versions accounts were unique to companies.

Weirdness

It wouldn’t be Odoo without some weirdness!

Are account numbers important

No, because the structure of the key Financial Reports don’t rely on account numbers (codes) and the standard CoAs aren’t organized like that!

So why is the CoA presented like this?

Wouldn’t it be more logical like this:

Shareholder Equity

This comes from an Odoo Help question.

This is the Accounting Cheat Sheet from Odoo:

Yes, all makes sense!

But…the standard Balance Sheet report in Odoo doesn’t have a section for Common Stock, and all these four “Equity” accounts will appear in Retained Earnings:

300000 Called up share capital
301000 Share premium account
302000 Revaluation reserve
303000 Other reserves

Strange!

Source: Chart of Accounts – Odoo tricks and tips