Accounting and Invoicing

Odoo Invoicing is a standalone app designed to create invoices, send them to customers, and manage payments. It also handles flows involving vendor bills. On the other hand, the Accounting app is a comprehensive accounting solution that allows the same actions and includes additional features such as standard financial reports, bank reconciliation, budgets, asset management, and more.

Double-entry bookkeeping

Odoo automatically creates all the underlying journal entries for all accounting transactions (e.g., customer invoices, vendor bills, point-of-sales orders, expenses, inventory valuations, etc.).

Odoo uses the double-entry bookkeeping system, whereby every entry needs a corresponding and opposite counterpart in a different account, with one account debited and the other credited. It ensures that all transactions are recorded accurately and consistently and that the accounts always balance.

Accrual and cash basis

Both accrual and cash basis accounting are supported in Odoo. This allows reporting income and expense either when the transaction occurs (accrual basis) or when the payment is made or received (cash basis).

See also

Cash basis

Multi-company

Multiple companies can be managed within the same database. Each company has its own chart of accounts, but accounts can be shared, which is useful when viewing consolidation reports. Users can view records and reports from multiple companies simultaneously but can only work on a single company’s accounting at a time.

Multi-currency environment

A multi-currency environment with an automated exchange rate to ease international transactions is available in Odoo. Every transaction is recorded in the company’s default currency; for transactions occurring in another currency, Odoo stores both the value in the company’s currency and the transactions’ currency value. Odoo generates currency gains and losses after reconciling the journal items.

Branches

Parent companies and their branches can be managed within a single database, operating under shared accounting and reporting rules, including the following:

  • The parent company’s chart of accounts, main currency, and taxes apply to all branches.

  • Branches can manage their own dedicated journals and related records.

  • The parent company manages a common fiscal period, so its lock and closing dates apply across all branches. However, branches may set earlier lock dates if needed.

  • The parent company can access all reports, invoices, bills, etc., from its branches, while each branch can only view its own data.

Note

The Fiscal localization package is set on the parent company.

Warning

Adding a branch to a company enables multi-company functions.

For more information, refer to Odoo’s pricing page or contact your Odoo account manager.

Reporting

The parent company consolidates accounting operations from all branches, providing a centralized view of financial reports, such as profit and loss or balance sheets.

VAT

Each company and branch must be configured with its own legal information, including a VAT number when applicable. Depending on the structure, branches may share the parent company’s VAT number or have their own, resulting in a common or separate VAT return.

This flexible setup allows users to generate individual reports and tax returns for each entity if needed.

International standards

Odoo Accounting supports over 100 countries and provides standardized features and mechanisms applicable across all regions. Country-specific modules are included to comply with local accounting regulations. Fiscal localizations handle regional requirements, such as charts of accounts, taxes, or any other legal obligations.

Accounts receivable and payable

By default, one account is designated for accounts receivable entries and another for accounts payable entries. As transactions are linked to contacts, it is possible to run a report per customer, vendor, or supplier.

The Partner Ledger report displays the balance of customers and suppliers. To access it, go to Accounting ‣ Reporting ‣ Partner Ledger.

Reporting

The following financial reports are available and updated in real-time:

Financial reports

Statement

Balance sheet

Profit and loss

Cash flow statement

Executive summary

Tax return

EC sales list

Audit

General ledger

Trial balance

Journal audit

Intrastat report

Check register

Partner

Partner ledger

Aged receivable

Aged payable

Management

Invoice analysis

Analytic report

Audit trail

Budget report

Unrealized currency gains/losses

Deferred revenue

Deferred expense

Depreciation schedule

Disallowed expenses

Loans analysis

Product margins

1099 report

Tip

Create and customize reports with Odoo’s report engine.

Tax return

In the Tax return, Odoo computes all accounting transactions for the specific tax period and uses these totals to calculate the tax obligation.

Note

Depending on the country’s localization, an XML version of the tax report can be generated to be uploaded to the VAT platform of the relevant taxation authority.

Bank synchronization

The bank synchronization system directly connects with banking institutions to automatically import all transactions into the database. It gives an overview of the cash flow without logging into an online banking system or waiting for paper bank statements.

Inventory valuation

Both periodic (manual) and perpetual (automated) inventory valuations are supported in Odoo. The available methods are standard price, average price, LIFO and FIFO (First-In, First-Out).

Retained earnings

Retained earnings are the portion of income retained by a business. Odoo calculates current year earnings in real-time, so no year-end journal or rollover is required. The profit and loss balance is automatically reported on the balance sheet report.

Fiduciaries

The Accounting Firms mode can be activated by going to Accounting ‣ Configuration ‣ Settings. When enabled:

  • The document’s sequence becomes editable on all documents;

  • The Total (tax incl.) field appears to speed up and control the encoding by automating line creation with the right account and tax;

  • Invoice Date and Bill Date are pre-filled when encoding a transaction.

  • A Quick encoding option is available for customer invoices and vendor bills.

Accountant access rights

To grant access to the company’s accountant, add the accountant as a new user and configure the appropriate access rights in the Accounting section to enable access to the company’s financial data:

  • Accounting: Select Accountant.

  • Bank: Allow bank account validation.

Note

Adding an accountant as a new user in Odoo Online is free if the accountant has an Odoo account registered with the same email address as the one listed for the company user. However, Odoo.sh and Odoo On-premise may involve extra charges for each additional user. For more pricing information, see Odoo’s pricing.

For a multi-company environment, set the appropriate access.