Skip to Content

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

Odoo 18

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!
Odoo 18
Odoo 18
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:
  1. Accounts Receivable & Accounts Payable → Suspense Account
  2. Bank Accounts → Outstanding Receipt
  3. Income Accounts → Suspense Account
  4. Bills → Expense Account (Payable)
  5. 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.

Odoo 18
Odoo 18

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.

Ready to Optimize Your Odoo 18 Setup? Let’s Make It Happen!