How to Configure Default Accounts in Odoo 18 Accounting: Complete Guide
By Braincuber Team
Published on December 29, 2025
Setting up accurate default accounts in your accounting system is like building the foundation of a house. Without a solid base, everything else becomes unstable. In Odoo 18 Accounting, default accounts ensure that every financial transaction lands in the right place automatically, whether it's a customer payment, vendor bill, bank transfer, or discount entry.
This comprehensive guide walks you through configuring default accounts in Odoo 18, explaining the Chart of Accounts structure, and showing you how to assign specific accounts for various business operations. By the end, you'll have a clear understanding of how to streamline your bookkeeping and maintain financial accuracy across the board.
What You'll Learn:
- Understanding the Chart of Accounts in Odoo 18
- Creating and managing accounting records
- Configuring default accounts for automated posting
- Setting up accounts for currency exchange, bank transfers, and deferrals
- Managing discount and product-specific accounts
Understanding the Chart of Accounts
The Chart of Accounts is the backbone of any accounting system. Think of it as a comprehensive directory of every financial account your business uses to record transactions. In Odoo 18, accessing this is straightforward:
- Open the Accounting Module: Navigate to the main Accounting application from your Odoo 18 dashboard.
- Access Configuration: Click on the Configuration menu in the top navigation.
- Select Chart of Accounts: Choose "Chart of Accounts" from the dropdown options.
Once you're in the Chart of Accounts view, you'll see a detailed list showing all the accounts currently configured in your system. Each account displays essential information including the account code, name, type, reconciliation status, and associated company.
Key Fields in the Chart of Accounts
| Field Name | Purpose | Example |
|---|---|---|
| Code | Unique identifier for quick reference | 1000, 2000, 4000 |
| Account Name | Descriptive name for the account | Accounts Receivable, Cash |
| Type | Category for reporting and year-end closing | Asset, Liability, Revenue |
| Allow Reconciliation | Enables matching entries with invoices/payments | Yes/No |
| Company | Links account to specific company in multi-company setups | Main Company |
Pro Tip: The "Type" field is crucial for accurate financial reporting. Odoo uses this to generate country-specific legal reports, define year-end closing procedures, and create opening entries for new fiscal years.
Using Filters for Better Navigation
Odoo 18 provides several built-in filters to help you quickly find the accounts you need:
Receivable
Payable
Equity
Assets
Liability
Income
Expenses
Inactive Accounts
You can also create custom filters and groupings based on your specific reporting needs using the "Add Custom Filter" and "Add Custom Group" options available in the view.
Creating a New Account
Adding a new account to your Chart of Accounts in Odoo 18 is a straightforward process:
- Click the "New" Button: Located at the top of the Chart of Accounts list view.
- Fill in Account Details: Enter the account code, name, type, and select whether reconciliation should be allowed.
- Add Tags (Optional): Tags are useful for creating custom reports and filtering accounts based on specific criteria.
- Save the Account: Click save to add the account to your chart.
Account Creation Example:
- Code: 1050
- Account Name: Petty Cash
- Type: Bank and Cash
- Allow Reconciliation: No
- Tags: Internal, Operating Expenses
Once created, you can view the account's balance using the Balance smart button, which displays both debit and credit balances for quick reference.
Configuring Default Accounts
After setting up your Chart of Accounts, the next step is configuring default accounts. These accounts automatically handle specific types of transactions, reducing manual work and minimizing errors.
To access default account settings:
- Navigate to Accounting → Configuration → Settings
- Scroll down to the Default Accounts section
- Configure accounts for various financial operations
1. Exchange Difference Entries
When your business deals with multiple currencies, exchange rate fluctuations can create gains or losses. Odoo 18 handles this automatically when you configure the following:
- Journal: The journal where exchange difference entries are recorded
- Gain Account: Records profit from favorable exchange rate changes
- Loss Account: Records losses from unfavorable exchange rate movements
Example: If you invoice a customer in USD but receive payment when the exchange rate has improved, the gain is automatically posted to the Exchange Gain account.
2. Bank Transactions and Payments
Bank-related default accounts ensure smooth reconciliation and transfer processing:
| Account Type | Purpose |
|---|---|
| Bank Suspense Account | Temporary holding account for unidentified bank transactions during reconciliation |
| Internal Transfer Account | Used during fund transfers between your company's bank accounts |
How It Works: When you import bank statements and a transaction doesn't match any existing invoice or bill, it's temporarily posted to the Bank Suspense Account until you can identify and match it properly.
3. Deferred Revenue Entries
Deferred revenue occurs when you receive payment in advance for services or products to be delivered later. Proper accounting requires spreading this revenue over the service period.
- Journal: Dedicated journal for posting deferred revenue entries (e.g., "Deferred Revenue Journal")
- Deferred Revenue Account: Holds advance payments until revenue is earned
- Generate Entries: Automatically creates a deferral schedule when the invoice is validated
- Based On: Choose whether to defer by months, days, or other periods
Example: A customer pays $12,000 upfront for a 12-month service contract. Odoo will automatically recognize $1,000 per month as revenue, spreading it evenly across the contract period.
4. Deferred Expense Entries
Similar to deferred revenue, deferred expenses handle prepaid costs that benefit multiple future periods:
- Journal: Journal for recording deferred expense entries
- Deferred Expense Account: Temporarily holds prepaid expenses
- Generate Entries: Starts the expense recognition schedule when the vendor bill is validated
Example: You pay $6,000 for a 6-month insurance policy. Instead of expensing the entire amount immediately, Odoo recognizes $1,000 per month over the policy period.
5. Early Payment Discounts
Early payment discount accounts track financial impacts when you or your customers take advantage of prompt payment terms:
Early Discount Gain
Records savings when you pay vendors early and receive a discount
Early Discount Loss
Records the cost of offering early payment discounts to your customers
6. Product Accounts
Product-specific default accounts streamline sales and purchase transactions:
| Account | Usage |
|---|---|
| Income Account | Default account for recording sales revenue |
| Expense Account | Default account for recording product purchase costs |
| Down Payment Account | Holds advance payments received from customers |
These accounts can be overridden at the product category or individual product level if you need more granular control over where revenues and expenses are recorded.
7. Invoice Line Discounts
Configure how line-item discounts are handled in customer invoices and vendor bills:
- Customer Invoices: Discounts are typically recorded in the same income account as the product being sold
- Vendor Bills: Purchase discounts reduce the value in the product's expense account
Important Note: Invoice line discounts differ from global discounts. Line discounts apply to individual products and are posted to specific accounts, while global discounts affect the entire invoice.
Practical Example: Invoice Discount in Action
Let's say you create a sales quotation with a 10% line discount:
- Create a quotation with a product priced at $1,000
- Apply a 10% discount on the invoice line
- Confirm and create the invoice
- The discount amount ($100) is automatically posted to your configured Invoice Discount account
Best Practices for Default Account Configuration
1. Review Your Chart of Accounts Regularly
Keep your account structure clean and organized. Archive accounts you no longer use rather than deleting them to maintain historical accuracy.
2. Use Consistent Naming Conventions
Develop a standardized naming system for accounts to make them easily identifiable across your organization.
3. Test Configuration with Sample Transactions
Before going live, create test invoices, bills, and payments to ensure default accounts are posting correctly.
4. Document Your Account Structure
Maintain documentation explaining what each default account is used for, making it easier for new team members to understand your setup.
Frequently Asked Questions
What is the difference between the Chart of Accounts and Default Accounts?
The Chart of Accounts is the complete list of all accounts available in your system. Default Accounts are specific accounts from that list that Odoo uses automatically for particular types of transactions, like bank transfers, discounts, or exchange differences.
Can I change default accounts after transactions have been posted?
Yes, you can change default account settings at any time. However, the change only affects future transactions. Previously posted entries will remain in their original accounts and won't be automatically transferred.
Why is the "Allow Reconciliation" option important?
Enabling "Allow Reconciliation" lets you match transactions to invoices or payments. This is crucial for accounts like Accounts Receivable and Accounts Payable, where you need to track which invoices have been paid and which remain outstanding.
How do deferred revenue and deferred expense accounts work?
Deferred accounts spread revenue or expenses over multiple periods. When you validate an invoice or bill with deferral settings, Odoo automatically creates journal entries that recognize the amount incrementally over the specified timeframe, ensuring accurate financial reporting.
What happens if I don't configure default accounts?
Without default accounts configured, Odoo may not know where to post certain transactions, leading to errors or requiring manual account selection for each transaction. This increases workload and the risk of posting errors.
Can default accounts be different for each company in a multi-company setup?
Yes, Odoo allows you to configure different default accounts for each company. This is particularly useful when different entities have different accounting requirements or use different charts of accounts.
How do I handle invoice discounts vs. early payment discounts?
Invoice line discounts are applied directly on the invoice and posted to the product's income/expense account. Early payment discounts are separate - they're offered as incentives for paying before the due date and are posted to dedicated Early Discount Gain or Loss accounts.
Conclusion
Properly configuring default accounts in Odoo 18 is fundamental to running a smooth and accurate accounting operation. By setting up the right accounts for exchange differences, bank transactions, deferrals, discounts, and product-specific entries, you create an automated system that requires minimal manual intervention while maintaining financial accuracy.
The time invested in understanding and configuring your Chart of Accounts and default account settings pays dividends in reduced errors, faster month-end closing, and clearer financial reporting. Remember to regularly review your account structure, test configurations with sample transactions, and document your setup for future reference.
With these foundations in place, your Odoo 18 accounting system becomes a powerful tool that not only tracks financial data but actively supports better business decisions through accurate, timely, and organized financial information.
Need Expert Help with Odoo 18 Accounting Setup?
Our certified Odoo consultants can help you configure your Chart of Accounts, set up default accounts, and optimize your entire accounting workflow for maximum efficiency.
