Odoo Accounting for Small Businesses: Setup, Invoices and Bank Reconciliation
Odoo accounting is two apps on one database: Invoicing and Accounting. See what each includes, how to set up the chart of accounts and taxes, and how invoices, payments and bank reconciliation fit together.
DEBy DevMarket Editorial·Published: ·9 min read
On this page
Odoo accounting comes in two apps on one database: Invoicing, which creates customer invoices, records vendor bills and tracks payments, and Accounting, which Odoo's documentation says adds standard financial reports, bank reconciliation, budgets and asset management. For a small business the real work is setup: the right country package, a chart of accounts you recognise, correct taxes, and journals, bank accounts and payment terms that match how you trade. This guide follows the Odoo 19.0 documentation as of October 2026. It is general information, not accounting advice: have your accountant review the setup before you post real entries.
In short
Odoo's editions page lists Invoicing in Community and Enterprise, and the full Accounting app in Enterprise only.
The country chosen at database creation installs a fiscal localisation package (chart of accounts, taxes, fiscal positions), which cannot be changed after the first journal entry is posted.
A sale runs from a draft to a posted invoice, a payment, a bank transaction and a reconciliation. A credit note is the correct way to cancel or change an issued invoice.
Bank synchronisation needs an Enterprise subscription, per the documentation. Statement files and manual entry also work.
Rehearse on a copy, and have an accountant approve the setup.
Odoo Invoicing or Accounting: which app do you need?
Odoo describes Invoicing as a standalone app for invoices, vendor bills and payments, and Accounting as the app that does the same and adds more. The table shows where the documentation and Odoo's editions page place each feature, and Odoo Community vs Enterprise explains the wider split.
Invoicing and Accounting share one database: Accounting adds reports, bank reconciliation, budgets and assets on top of invoicing.
Standard financial reports, bank reconciliation, budgets, asset management
Accounting
Edition, per the editions page
Invoicing: Community and Enterprise. Comprehensive Accounting: Enterprise only
The documentation's menu paths start with Accounting, but the Invoicing app's top-level menu is called Invoicing in the 19.0 source, so some menus below may be named differently if you only run Invoicing. Several of these pages were nearly identical in the 20.0 documentation on 21 October 2026, but screens may still differ.
What do the chart of accounts and the country package do?
The chart of accounts lists every account Odoo uses to record transactions (Accounting > Configuration > Chart of Accounts). You do not build it from nothing: when you create the database, Odoo installs a fiscal localisation package for your country, with taxes, fiscal positions, a standard chart and legal statements. Some countries have several packages, so check yours under Accounting > Configuration > Settings, in the Package field of Fiscal Localization. You cannot select another package once a journal entry has been posted.
Adapt the chart instead of replacing it. Rename or recode a standard account that matches one of yours, and create or import the rest. Codes must be unique. Do not delete standard accounts or change their type: they are defaults on products, contacts and settings, and removing them can break tasks such as creating an invoice.
How do taxes and fiscal positions work?
You add taxes on document lines, and Odoo computes the amounts and the tax journal items behind the tax report. A localisation package usually activates only the main tax rate, so open Accounting > Configuration > Taxes, switch on the others you need and set Sales Taxes and Purchase Taxes on your products. In the Taxes section of the Accounting settings, choose whether prices are Tax Excluded or Tax Included by default.
Fiscal positions swap taxes and accounts for certain customers or vendors, such as a foreign buyer. Odoo can apply one automatically (Detect Automatically, using a VAT number or a country), manually from the Other Info tab, or from the partner record.
How does an invoice become a payment?
Create. Make a draft from a sales order (Create Invoice) or from the Customer Invoices journal on the Accounting dashboard. The customer's payment terms, fiscal position and receivable account come along.
Confirm. The invoice becomes Posted, with its unique number and journal entry. Odoo's documentation says a credit note is the only legal way to cancel, refund or change a validated invoice.
Send, pay and reconcile. Email the invoice, register the payment, then match it with the bank transaction.
Payment terms (Accounting > Configuration > Payment Terms) set due dates, instalments and early-payment discounts. A document has either payment terms or a due date, never both, and payment terms are not down payments or terms and conditions.
Vendor bills mirror this. Create them under Accounting > Vendors > Bills, by emailing the purchase journal's alias, or by uploading a PDF. Digitising scans uses In-App Purchase credits, and the editions page lists Vendor Bill OCR under Enterprise.
By default, a registered payment creates no journal entry, and the invoice shows In payment until you reconcile it with a bank transaction. If you set outstanding receipts and payments accounts on the journal's payment methods, Odoo posts an entry and reduces the amount due at once. If the outstanding account is the main bank account, the invoice goes straight to Paid, which skips the bank check.
How do journals, bank statements and reconciliation work?
Odoo files every entry in a journal. The six types are Bank, Cash, Credit Card, Sales, Purchase and Miscellaneous, and you can have several of one type, such as separate B2B and B2C sales journals. Adding a bank account creates its journal and account, while cash journals are set up by hand.
Transactions reach a bank journal in three ways: bank synchronisation (the documentation says it needs an Enterprise subscription and third-party providers, so check Odoo's list of supported institutions for your bank), a statement file such as CAMT.053, CSV, XLSX, OFX or QIF, or manual entry with a label and a date. Create an opening transaction for the balance on your start date so Odoo agrees with the bank.
Reconciliation matches each transaction with an invoice, bill or payment, or writes it off to an account. Open the Bank Matching view from the journal card. Odoo proposes matches by amount when a partner is set, and by comparing the label with references when it is not. Accept with Reconcile, or use Set Account for items such as bank fees, and let reconciliation models automate repeated cases.
Which reports does Odoo accounting give you, and how do you close a period?
Odoo lists generic reports that work in every country: Balance Sheet, Profit and Loss, General Ledger, Aged Receivable, Aged Payable, Cash Flow Statement, Tax Report and Audit Trail. They update in real time, compare periods and export to PDF or XLSX. For tax, set the periodicity in the Accounting settings, then use Accounting > Accounting > Tax Returns, where each period goes through review, submit and pay.
To close, reconcile the bank, post or cancel draft entries and review overdue receivables and payables. Then set a Lock Everything date under Accounting > Accounting > Lock Dates: posted entries on or before it can no longer be changed, unless an administrator makes an exception. Once a tax report is posted, corrections go into the next period. At year-end, Odoo 19 shows the result as a dynamic Result Brought Forward line until your accountant posts an allocation entry. The fiscal year ends on 31 December by default and can be changed in the settings.
Multi-currency at a high level
Odoo stores each transaction in the company currency and the document's currency. Enable extra currencies under Accounting > Configuration > Currencies, set rates by hand or automatically, and Odoo posts exchange differences to a dedicated journal when items are reconciled.
First setup, step by step
Choose and rehearse. Pick the app, edition and hosting, and work in a copy. Odoo recommends rehearsing alongside the old workflow.
Create the database with the right country and check the Package.
Complete company data: name, address, VAT number, tax return periodicity, fiscal year end and tax-included or tax-excluded prices.
Review the chart of accounts: rename, recode, add, and never delete defaults.
Set up taxes: activate the ones you use, set them on products and add fiscal positions for cases such as exports.
Create journals and payment terms: one journal per bank account, cash and credit card, with outstanding accounts on the payment methods, plus the terms you use.
Import master data in order: product categories, products, contacts.
Load opening balances if you are migrating. The end of a fiscal year is the easiest cut-over, and Odoo advises against switching mid tax period. Use clearing accounts so open invoices are not counted twice.
Test a full cycle: sale, payment, reconciliation, credit note, vendor bill and tax report. Ask your accountant to review, then set a lock date and go live.
Common mistakes to avoid
The wrong country package. It cannot be changed after the first posted entry.
Deleting standard accounts. Rename and recode them instead.
Counting opening balances twice. Loading both the receivables balance and the open invoices without a clearing account doubles what customers owe.
Mixing payment terms and due dates, or treating payment terms as down payments.
Frequently asked questions
Is Odoo accounting free?
Odoo Community has no licence fee and includes the Invoicing app. The Accounting app is part of Enterprise, which is paid per user. How much Odoo costs lists the other costs.
Can I do bank reconciliation in Odoo Community?
Odoo's overview lists bank reconciliation as an Accounting app feature, and its editions page puts bank statement reconciliation under Enterprise. Some third-party modules aim to fill such gaps; review any module first, as in how to choose an Odoo module.
Yes. Odoo describes giving the accountant a user with Administrator access in the Accounting section, or emailing a journal's invoices and bills to them.
Next steps
Build a test database, follow the nine steps above and list your questions for your accountant. Still choosing an edition? Read Odoo Community vs Enterprise. Operating in the Kingdom? Continue with Odoo for Saudi Arabia. For add-ons, browse Odoo modules.
Compare the three Odoo hosting options from Odoo documentation: what each allows, who runs what, which editions fit, where data sits, what costs to expect and how to move between them.
An Odoo implementation is a project, not an installation. Follow the phases from scope to go-live, see who does what, decide between a partner and doing it yourself, and use a go-live checklist.
Odoo Studio changes Odoo without code; custom modules add code. See what each can do, which edition and hosting allow them, what upgrades mean for both, and how to decide by need.
·9 min read
Find the right software for the job
Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.