Free & Open Source

Turn messy Excel files into Odoo-ready imports

CleanSheet cleans, maps, and transforms your spreadsheets so you can import contacts, products, invoices, sales orders, purchase orders, bills of materials, employees, and journal entries into Odoo without the headache.

100%
Client-side
9+
Odoo Models
200+
UoM Mappings

Everything you need to clean your data

Powerful features designed specifically for Odoo ERP imports.

Smart Header Mapping

Automatically maps your column names to Odoo fields. Handles Arabic, English, and common aliases out of the box.

Data Cleaning

Trims whitespace, removes empty rows and duplicates, fixes formatting — all in one click.

Column Mapping

Visually map, rename, skip, or reorder columns with a live preview of sample data from your sheet.

Merge & Clone Columns

Combine multiple columns into one with custom separators, or clone values from any existing column.

Phone & Email Cleaning

Normalizes phone numbers with country codes and lowercases emails automatically.

UoM Conversion

Converts 200+ unit-of-measure variations (English & Arabic) to Odoo-standard names.

Date & Number Formatting

Standardizes dates to YYYY-MM-DD and cleans numbers by removing currency symbols and fixing decimals.

Add Extra Columns

Add new Odoo fields with static values or cloned data — perfect for missing required fields.

Export to XLSX or CSV

Download your cleaned data as an Odoo-compatible Excel or CSV file, ready for direct import.

How it works

Four simple steps from messy spreadsheet to clean Odoo import.

01

Upload your file

Drag & drop your .xlsx, .xls, .xlsm, or .csv file. CleanSheet auto-detects the sheet with the most data.

02

Configure cleaning

Pick your Odoo model, toggle cleaning options, map columns, and add any extra fields you need.

03

Preview results

See your cleaned data, removed rows, and a full change log before exporting. No surprises.

04

Export & import

Download as .xlsx or .csv and import directly into Odoo. Done in seconds, not hours.

Built for Odoo models

Pre-configured field mappings, validations, and defaults for the most common Odoo modules. Plus a custom mode for anything else.

Contacts
res.partner
Name
Email
Phone
Address
VAT
Company
Products
product.template
Name
SKU
Price
Cost
UoM
Barcode
Weight
Invoices
account.move
Partner
Date
Product
Quantity
Price
Tax
Sales Orders
sale.order
Customer
Date
Product
Qty
Unit Price
Purchase Orders
purchase.order
Vendor
Date
Product
Qty
Unit Price
Tax
Bill of Materials
mrp.bom
Product
Component
Quantity
UoM
Type
Employees
hr.employee
Name
Job Title
Department
Email
Phone
Coach
Journal Entries
account.move.line
Date
Journal
Account
Partner
Debit
Credit

Before & After

See what CleanSheet does to your data in a single click.

Before
Product namepriceUOMemail
Widget A $12.50 USDpiecesJohn@EXAMPLE.COM
Gadget B3,200kilogramSALES@acme.COM
Widget A $12.50 USDpiecesJohn@EXAMPLE.COM
Extra spacesCurrency in numbersWrong UoMEmpty rowsDuplicatesUppercase emails
After
namelist_priceuom_idemail
Widget A12.50Unitsjohn@example.com
Gadget B3200kgsales@acme.com
TrimmedClean numbersOdoo UoMNo emptiesDeduplicatedLowercase emails

Your data stays with you

CleanSheet is 100% client-side. Your spreadsheets are processed entirely in your browser — nothing is ever uploaded to a server.

No server uploads

Your files never leave your browser. All processing happens locally using JavaScript.

No tracking

Zero analytics, no cookies, no telemetry. We don't know who you are or what you clean.

No account required

Just open the page and start cleaning. No sign-up, no login, no paywall.

Ready to clean your data?

Stop wasting hours manually fixing spreadsheets. CleanSheet gets your data Odoo-ready in seconds.