Blogs
Odoo 18: How to Import Opening Balances & Inventory Stock for Accurate Accounting
Odoo 18 : How to Import Opening Balances & Inventory Stock for Accurate Accounting

Setting up Odoo 18 for your business? One of the most important tasks is importing your opening balances and inventory opening stock, ensuring accurate financial and inventory management.
Whether you're Migration from another system or starting fresh, this guide will walk you through the complete step-by-step process for both
- Importing opening balances in Odoo 18 for accounting.
- Importing inventory opening stock for serial- and lot-controlled items.
Let’s get started!


Why Opening Balances & Inventory Stock Matter in Odoo 18?
Before diving into imports, let’s understand why this step is crucial for a smooth transition:
Financial Opening Balances
- Ensures your general ledger balances reflect accurate financial standing.
- Helps track customer invoices, vendor bills, and bank balances seamlessly.
Inventory Opening Stock
- Ensures your physical inventory matches system data from day one.
- Ideal for businesses using serial numbers or lot tracking for products.
Part 1: Importing Opening Balances in Accounting Odoo 18
Step 1: Prepare Your Opening Balance Odoo Compatible for Import
Before importing, ensure your data is correctly structured in CSV/XLS file with General Ledger , Invoices and Bills.
Step 2: Import General Ledger Balances
- Navigate to Accounting → General Ledger
- Click Import File, then upload your compatible CSV/XLS file
- Map balances to the correct accounts, such as Receivables, Payables, and Bank Balances
- Use a Suspense Account for any unclassified balances
- Replace specific accounts with the following classifications:
- Accounts Receivable & Accounts Payable → Suspense Account
- Bank Accounts → Outstanding Receipt
- Income Accounts → Suspense Account
- Bills → Expense Account (Payable)
- Payables → Suspense Account
Additionally, some balances may require a Suspense Account for temporary classification.
Step 3: Import Customer Invoices & Vendor Bills
Import Customer Invoices
- Navigate to Accounting → Customer Invoices
- Click Import File and upload invoice data in CSV/XLS format
- Ensure that any outstanding receivables are correctly classified in the Accounts Receivable or Suspense Account (if necessary)
- If customer invoices were impacted by Step 2 changes, ensure correct mapping of Receivables → Suspense Account for temporary classification
Import Vendor Bills
- Navigate to Accounting → Vendor Bills
- Click Import File and upload bill data in CSV/XLS format
- Ensure expense items are mapped accurately to the relevant Expense Accounts (such as Payable → Suspense Account)
- Vendor balances linked to Payables should be reviewed for proper classification
Step 4: Bank Reconciliation
- Navigate to Balance Sheet → Outstanding Receipts Account
- Compare imported balances with actual bank statement (such as Bank Accounts classified under Outstanding Receipts) with the actual bank statement
- Ensure that any Receivables & Payables previously assigned to a Suspense Account are now correctly classified before final reconciliation
- Verify that adjustments from Step 2 (Suspense Account allocations) do not result in mismatches in bank transactions
- Reconcile outstanding balances to confirm accuracy before closing the financial period
For a visual walkthrough, check out the following video tutorials:
Watch the Opening Balances Import Tutorial
Part 2: Importing Inventory Opening Stock in Odoo 18
If your business manages inventory using serial numbers or lot numbers, this section is critical for ensuring accurate stock tracking.


Step 1: Prepare Inventory Data File
Create separate files for:
- Serialized items (Unique serial numbers per item)
- Lot-controlled items(Multiple items under one lot number)
Ensure your CSV/XLS formatting follows UTF-8 encoding and uses exact product codes.
Step 2: Format Your CSV/XLS File
Key Fields to Include Product Codes (Matching Odoo’s product database), Unique Serial Numbers(For serialized items)
Step 3: Import Product Category Data
Upload details including : Name,Costing Method,Stock Valuation Account,Stock Input/Output Account
Watch the Inventory Opening Stock Import Tutorial
Step 4: Import Product Master
Ensure product details include Sales & Purchase Data,Product Type & Unit of Measure,Tracking (Serialized or Lot-based)
Step 5: Import Lot/Serial Numbers & Cost
Import each item’s details with Product Name, Lot/Serial Number and Cost
Step 6: Import Opening Inventory Count
Final inventory setup with Location, Product, Lot/Serial Number, Quantity Counted
Final Checks: Verifying Imported Data
Before wrapping up, double-check the following:
- General Ledger Accuracy (Ensure correct balance mappings)
- Inventory Review (Check stock, serial numbers, & lot numbers)
- Bank Reconciliation(Cross-check transactions)
Conclusion:
Get Your Data Right from Day One! By following this step-by-step guide, you’ll ensure both financial and inventory data are correctly imported into Odoo 18.Whether you’re setting up general ledger entries, invoices, vendor bills, or inventory tracking, this process ensures accuracy, efficiency, and error-free management.