How to Import Customer Invoices in Odoo 19: Complete Guide
By Braincuber Team
Published on May 14, 2026
Importing Customer Invoices into Odoo 19 is an essential step when setting up a new database or migrating from another system. Within the Accounting module, this process helps bring in existing financial transactions such as outstanding customer invoices, ensuring that receivables are accurately reflected from the beginning. Instead of manually entering each record, Odoo provides a structured import mechanism that allows bulk data upload using predefined templates, saving time and reducing errors. This step by step guide is a complete tutorial for importing customer invoices in Odoo 19. Whether you are migrating from another ERP or setting up a new database, this beginner guide covers everything from preparing an import template to validating and posting imported invoices.
What You'll Learn:
- Why importing customer invoices is important for database setup and migration
- How to prepare an import template by exporting an existing customer invoice
- Which key fields are required for a successful invoice import
- How to export invoice data in XLSX or CSV format
- How to import invoice records using Odoo built-in import interface
- How to validate field mapping and test the import file
- How to verify imported invoices and post them from draft stage
Prerequisites
| Requirement | Details |
|---|---|
| Odoo 19 Instance | Access to a running Odoo 19 database with the Accounting module installed |
| Accounting Module | The Accounting app must be installed and configured with at least one journal |
| Customer Partners | Customer records must exist for the partners referenced in the invoice data |
| Chart of Accounts | Properly configured chart of accounts, tax definitions, and payment terms |
| File Preparation | A CSV or XLSX file with invoice data prepared using Odoo import template format |
Understanding the Invoice Import Process
Importing Customer Invoices into Odoo 19 helps bring existing financial transactions such as outstanding customer invoices into the system, ensuring that receivables and payables are accurately reflected from the beginning. Instead of manually entering each record, Odoo provides a structured import mechanism that allows bulk data upload using predefined templates, saving time and reducing errors.
To ensure a successful import, it is important to correctly map key fields such as Customer, Invoice Date, Due Date, Journal, Product, Taxes, and Accounts. Proper configuration of Journals, Payment Terms, and the Chart of Accounts before initiating the import helps maintain consistency and avoid validation issues during the process. Odoo 19 also allows importing invoices in both Draft and Posted states, depending on the business requirement, ensuring that opening balances and historical transactions are properly recorded.
Step by Step Guide to Importing Customer Invoices
Step 1: Prepare the Import Template by Exporting an Existing Invoice
The easiest method to create an import template is to export an existing customer invoice from the Accounting module. Navigate to the Accounting module, go to Customers > Invoices to access the customer invoice records. Select a sample invoice and use the Export option to download the invoice data structure, which can then be used as a reference template.
Open Customer Invoice List View
Go to the Accounting module from the Odoo dashboard. Navigate to Customers > Invoices. The list view displays all existing customer invoice records. Select the sample invoice to use as a reference for the import template.
Access the Export Wizard
Click the Action menu highlighted at the top of the invoice list view. From the dropdown options, select Export to open the export configuration wizard. The export window displays Available Fields on the left and Fields to Export on the right.
Select Required Fields
Add all essential customer invoice fields to the Fields to Export section by clicking the + icon beside each required field. Odoo also provides an option to save the selected field configuration as an export template, allowing the same format to be reused for future exports and imports.
Key Fields for Customer Invoice Import
Including the right fields in your import template is critical for a successful data upload. Each field maps to a specific part of the invoice record in Odoo.
| Field | Description |
|---|---|
| Number | Unique invoice reference assigned to the customer invoice |
| Partner | Customer partner associated with the invoice and responsible for payment |
| Invoice/Bill Date | Invoice date recorded for the customer invoice |
| Journal | Accounting journal in which the invoice entries are posted |
| Payment Term | Payment terms that determine the invoice due date and payment conditions |
| Invoice line/Product | Product or service added to the customer invoice line |
| Invoice line/Quantity | Quantity entered for the selected product or service |
| Invoice line/Unit Price | Unit price configured for the invoice line item |
| Invoice line/Unit | Unit of measure applied to the invoiced product or service |
| Invoice line/Taxes | Customer taxes applied to the corresponding invoice line |
| Invoice line/Account | Income or expense account for recording the accounting entries |
| Sales Team | Sales team assigned to manage the related sales transaction |
| Incoterm | Incoterms specifying delivery responsibilities between buyer and seller |
| Currency | Currency applied to the invoice transaction |
Step 2: Export the Template File
Choose Export Format
After adding all required customer invoice fields to the fields to export section, choose the preferred export format. Odoo supports two primary export file formats: XLSX and CSV. Select the format that matches your editing and import preparation workflow.
Save the Export Template
Click the Export button to generate the file. The system downloads the exported customer invoice data to your local device. This file serves as a structured import template. Open the file and replace the sample data with the customer invoice details you want to import into the Odoo database.
Step 3: Import the Prepared File
After preparing the file with your invoice data, return to the customer invoice list view in Odoo to begin the import process.
Open the Import Records Option
Navigate to the customer invoice list view in the Accounting module. Open the Action menu and select Import Records to begin the invoice import process. Odoo opens the import interface where you can upload your prepared file.
Upload and Validate the File
Select the prepared file containing the customer invoice data. Click the Test button to validate the file structure and field mapping. If the uploaded data and mapped fields are configured correctly, Odoo displays the validation message Everything seems valid.
Execute the Import
Once validation is successful, click the Import button to import the customer invoice records into the Odoo database. Odoo displays a confirmation message indicating that the records have been imported successfully.
Verifying Imported Invoices
After the import process completes, the newly imported invoices appear in the customer invoice list view within the Accounting module. Open an imported invoice to verify the data. All the information entered in the import file, including accounting details, sales team, payment terms, Incoterms, and invoice line items, will be reflected in the invoice form view.
By default, imported invoices remain in the Draft stage until they are confirmed and posted in the Accounting module. This allows you to review each invoice for accuracy before posting. Navigate to the Other Info tab to verify payment terms, accounting journals, accounts, Incoterms, sales teams, and other configured details within the customer invoice record.
Important: Draft vs Posted State
Imported invoices are created in Draft state by default. You must manually post them from the Accounting module to update financial records. To post, open the invoice and click Confirm or use the Action > Post option from the list view for bulk posting. This ensures you can review each imported invoice for accuracy before it affects your accounting balances.
Best Practices for Invoice Import
Always Test Before Import
Use the Test button in the import interface to validate your file structure and field mapping before executing the import. This catches errors early and prevents incorrect data from entering the system.
Use Export as Template
Always export an existing invoice first to understand the correct field structure. Use the exported file as a template for preparing your import data. Save the field configuration as a reusable export template.
Configure Masters First
Ensure all referenced master data such as partners, products, accounts, taxes, journals, and payment terms exist in the database before importing invoices. Missing references cause validation failures.
Import in Draft State
Import invoices in Draft state to review them before posting. Verify all fields, line items, tax calculations, and accounting entries. Post only after confirming accuracy. This prevents accounting errors from bulk imports.
Frequently Asked Questions
What file formats does Odoo 19 support for invoice import?
Odoo 19 supports XLSX and CSV formats for importing customer invoices. XLSX is recommended for complex data with multiple fields, while CSV works well for simpler imports. Both formats can be prepared using the export template as a reference.
What happens if the invoice import validation fails?
If validation fails, Odoo displays specific error messages identifying which fields have issues. Common causes include missing partner records, invalid account codes, incorrect tax configurations, or mismatched field types. Correct the errors in your file and test again.
Can I import invoices in Posted state instead of Draft?
Yes. When preparing your import file, include the Status field and set it to Posted. However, it is recommended to import in Draft state first, review the data for accuracy, and then post invoices in bulk using the Action > Post option from the list view.
How do I create an import template for customer invoices?
The easiest method is to export an existing customer invoice from the Accounting module. Go to Customers > Invoices, select an invoice, click Action > Export, choose the required fields, and export as XLSX or CSV. Use this exported file as your import template by replacing the sample data.
Do I need to configure anything before importing invoices?
Yes. Before importing, ensure that Journals, Payment Terms, Chart of Accounts, Tax definitions, Products, and Customer Partners are properly configured. All master data referenced in your import file must already exist in the Odoo database to avoid validation errors.
Need Help with Odoo 19 Accounting?
Our Odoo experts can help you configure the Accounting module, prepare import templates, migrate invoice data from legacy systems, validate and post imported invoices, and ensure your financial records are accurate and complete.
