Accounting Module Overview
Odoo Accounting covers everything from invoicing to financial reporting: chart of accounts, journal entries, bank reconciliation, tax reporting, multi-currency, budgets, and financial statements. It is a full double-entry accounting system compliant with IFRS and local GAAP standards.
Initial Setup Steps
1. Chart of Accounts
Odoo provides pre-configured charts of accounts for most countries. Select your country during installation.
# Account types in Odoo:
# - Assets (Current Assets, Fixed Assets, Bank & Cash)
# - Liabilities (Current Liabilities, Long-term Liabilities)
# - Equity (Equity, Current Year Earnings)
# - Income (Revenue, Other Income)
# - Expense (Cost of Revenue, Operating Expenses)2. Fiscal Year
Settings → Accounting → Fiscal Year. Define the start and end dates. Most companies: January 1 to December 31. Some countries: April 1 to March 31 (India, UK).
3. Taxes
Accounting → Configuration → Taxes
# Common tax configurations:
# US: Sales Tax (varies by state, 0-10%)
# EU: VAT (15-27% depending on country)
# India: GST (5%, 12%, 18%, 28%)
# UAE: VAT (5%)
# Tax types:
# - Sales Tax (applied on customer invoices)
# - Purchase Tax (applied on vendor bills)
# - Included in Price vs Added on top4. Journals
Journals organize transactions by type:
| Journal | Type | Use |
|---|---|---|
| Sales | Sale | Customer invoices |
| Purchase | Purchase | Vendor bills |
| Bank | Bank | Bank transactions |
| Cash | Cash | Cash transactions |
| Miscellaneous | General | Manual journal entries |
| Exchange Difference | General | Currency gains/losses |
5. Bank Accounts
- Accounting → Configuration → Bank Accounts
- Connect to your bank (Plaid, Yodlee, or manual CSV import)
- Set up bank reconciliation rules for automatic matching
6. Payment Terms
# Common payment terms:
# - Immediate Payment
# - Net 15 (pay within 15 days)
# - Net 30 (pay within 30 days)
# - 2/10 Net 30 (2% discount if paid within 10 days, otherwise net 30)
# - 50% Now, 50% on DeliveryDaily Operations
Customer Invoices
- Create invoice (manually or from Sales Order)
- Confirm invoice (creates journal entry)
- Send to customer (email or print)
- Register payment when received
- Reconcile with bank statement
Vendor Bills
- Create bill (manually or from Purchase Order)
- Match against purchase order
- Confirm (creates journal entry)
- Schedule payment
- Reconcile with bank statement
Bank Reconciliation
- Import bank statement (CSV, OFX, or bank sync)
- Odoo suggests matches automatically
- Validate matched transactions
- Create entries for unmatched transactions
Financial Reports
- Balance Sheet — Assets, liabilities, equity at a point in time
- Profit & Loss — Revenue and expenses over a period
- Cash Flow Statement — Cash movements by activity
- General Ledger — All journal entries by account
- Aged Receivable/Payable — Outstanding amounts by age
- Tax Report — Tax collected and owed for filing
Multi-Currency
Enable multi-currency in Settings → Accounting. Odoo automatically creates exchange difference journal entries when rates change. Configure automatic rate updates from ECB, Fed, or custom sources.
Common Mistakes
- Wrong chart of accounts — Select the correct country template during setup
- Not reconciling bank regularly — Reconcile weekly at minimum
- Manual journal entries for sales/purchases — Always use invoices/bills for audit trail
- Wrong fiscal year lock date — Lock completed periods to prevent accidental changes
DeployMonkey + Accounting
DeployMonkey's AI agent helps set up Odoo Accounting — configuring chart of accounts, taxes, journals, and payment terms based on your country and business type. It diagnoses accounting errors and explains journal entries in plain language.