Push any Odoo model to Google Sheets on a schedule. Map fields and related paths from dropdowns, filter records with an Odoo domain, choose full or incremental refresh, embed images, and keep an audit log of every sync.
What it does
Google Sheets Connector for Odoo pushes records from any Odoo model straight into Google Sheets, so the spreadsheets your team already lives in stay up to date without copy and paste. You authenticate once with a Google service account, point a connector at a spreadsheet, and map a model to a worksheet. From there the connector keeps the sheet in sync, manually or on a schedule.
Key features
- Map any field, including related paths. Choose columns from dropdowns rather than typing field names. For a relational field such as Customer you can drill into the related record, for example the customer's country, and every column has a format: text, number, date, currency or an embedded image via the Google Sheets IMAGE formula.
- Send exactly the right records. Filter each mapping with a standard Odoo domain, so a worksheet can hold only confirmed orders, this month's invoices, or whatever set you need.
- Full or incremental refresh. Full overwrite rewrites the whole tab. Incremental matches rows by a key field, updates changed rows and appends new ones, and leaves the extra columns and formulas you added in the sheet untouched.
- Manual or scheduled. Push on demand with one click, or set an interval and let a background job keep the sheet current.
- Full observability. Every run writes a sync log with rows written, failures and duration, and a failed scheduled run posts a chatter note and notifies the responsible user.
- Guided setup. The service account form walks you through creating and uploading the key and shows the exact email to share your sheet with, and a connection test button confirms access before your first sync.
Who it's for
Operations, sales and finance teams who report or collaborate in Google Sheets and want their Odoo data to arrive there automatically, and anyone who needs to feed a Google Sheet that other tools or dashboards read from. It runs on Odoo on-premise and Odoo.sh.
Frequently asked questions
How do I export Odoo data to Google Sheets automatically?
Create a connector pointing at your Google Sheet, map an Odoo model to a worksheet, and set the connector to Scheduled. A background job then pushes the latest records to the sheet on the interval you choose, and every run is written to a sync log.
Can I choose which records and fields are sent to the sheet?
Yes. Each mapping picks its columns from dropdowns, including related fields such as a customer's country, and filters the records with a standard Odoo domain, so only the rows and columns you want are pushed.
Will re-syncing overwrite the extra columns I added in the sheet?
Not if you use incremental refresh. Incremental matches rows by a key field, updates changed rows and appends new ones, and leaves any extra columns or formulas you added in the sheet in place. Full overwrite mode is also available when you want a clean rewrite.
How does the connector authenticate with Google?
It uses a Google service account. You upload the service account JSON key in Odoo and share your Google Sheet with the service account email shown on the form. The in-app guide walks you through creating the key in Google Cloud.
Does this work on Odoo Online (SaaS)?
The service account connector runs on Odoo on-premise and Odoo.sh, which allow the required Python libraries. Odoo Online (SaaS) does not allow installing those libraries, so use on-premise or Odoo.sh for this app.
Which Odoo versions does this support?
Use the version selector at the top of this page to pick your Odoo release. The app is maintained across the supported versions.
Want this in your Odoo?
See the full feature list and screenshots, or talk to our certified Odoo team about setup and customization.