Turn spreadsheets into sales orders in minutes, not hours
Map any column layout, preview every order and line before it is created, and catch duplicates and invalid rows automatically. Import from Excel or CSV with confidence — no re-keying required.
Bulk orders arrive as spreadsheets from wholesale customers, e-commerce exports, and legacy systems, and someone on the sales team has to re-key every header and line by hand. Odoo's generic import tool is unforgiving about column order, gives cryptic errors after the fact, and does not understand what a sales order needs, so one bad row can jeopardize an entire batch.
A guided wizard maps the file to Odoo fields automatically, whatever the column order, then shows a full preview of every order and line before anything is written. Row-by-row validation flags errors, duplicates, and formatting issues up front, so valid rows import with confidence and only the rest need fixing.
Everything a bulk sales order import needs
Every capability below is implemented in the module.
Visual Column Mapping
Any column order is accepted. The wizard auto-detects which Odoo field each column belongs to, and every mapping can be adjusted by hand.
Full Orders or Lines Only
One wizard handles both cases: create complete orders with headers and lines, or append imported lines to an existing draft or quotation.
Pre-Import Preview
See a validation summary of total, valid, error, and duplicate rows before anything is written, so nothing is created blind.
Smart Product Matching
Match products by name, internal reference, or barcode, with auto-detection of which identifier a column holds.
Duplicate Detection
Rows that look like an existing order are flagged in the preview, with an option to skip duplicates automatically on import.
Skip or Block Invalid Rows
Choose to skip invalid rows and import the good ones, or block the whole import until the file is fixed — your call, every time.
Reusable Mapping Profiles
Save a column mapping and product-match preference as a named profile, then apply it instantly to future imports from the same source.
CSV and Excel, Equally
Reads .csv and .xlsx files with delimiter and encoding detection, plus a downloadable sample template for either format.
Import History & Audit Trail
Every run is logged with row counts, state, and notes, with a smart button straight to the orders it created.
How it works
Upload your file
Choose CSV or Excel, pick full orders or lines only, and download a template if you need one.
Map your columns
Columns are auto-matched to Odoo fields; adjust as needed and optionally save the mapping as a profile.
Preview & validate
Review every order and line, with counts of valid, duplicate, and error rows before you commit.
Import & verify
Confirm to create the records, then drill into the import history or jump straight to the new orders.
See it in action
The guided wizard, from upload to a full import audit trail.
The Import Sales Orders wizard opens on the Upload step. Choose Full orders or Order lines only, pick CSV or Excel, set delimiter and encoding, choose the order status, product-match field, and an optional saved profile — then download a template or parse the file.
Switching to Order lines only reveals the Target Order field and hides the order-only options, so the wizard only shows what is relevant to the import type you picked.
The Import History list shows every past run with its state, row counts, and skipped or errored rows at a glance — a full audit trail, not just a one-time import log.
Drill into a single import log to see the row-count breakdown, the product-match field used, per-row notes, and a smart button straight to the orders it created.
Saved Import Mapping Profiles remember column-to-field mappings and the preferred product-match option, so recurring imports from the same source do not need remapping.
Each profile stores its mapping lines — source column to Odoo field — so a file layout from a specific customer or channel maps itself the moment the profile is selected.
Frequently asked
Does the column order in my file matter?
No. The wizard reads the header row and auto-matches each column to an Odoo field regardless of order; you can adjust any mapping manually and save it as a reusable profile.
What happens if some rows have errors?
Every row is validated before anything is imported. You see exactly which rows have errors and why, and can choose to skip invalid rows and import the rest, or block the import until the file is fixed.
How does the module avoid creating duplicate orders?
The preview flags rows that look like duplicates of existing orders before you commit, and a skip-duplicates option lets you exclude them from the import automatically.
Can I import order lines into an existing order instead of creating a new one?
Yes. Switching to Order lines only in the wizard lets you pick a target draft or quotation order and appends the imported lines to it.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Import Sales Orders from Excel/CSV brings guided, forgiving bulk order import to Odoo — visual column mapping, pre-import preview, smart product matching, and a full audit trail.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 1186 |
| Technical Name |
cerevantix_import_sales_order |
| License | OPL-1 |
| Website | https://cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module