Blog · Spreadsheet automation

How to sync Odoo to Google Sheets automatically

Stop exporting from Odoo and pasting into spreadsheets by hand. Set up an automatic sync and the sheet fills itself — on a schedule, from live Odoo data, without anyone touching it.

June 2026 · 8 min read

Why the manual export needs to stop

In most businesses running Odoo, at least one person exports a CSV from Odoo every week, pastes it into a spreadsheet, cleans up the formatting, and sends it round. It takes 30–60 minutes of someone’s time, the file is stale the moment it’s finished, and the day that person is away the report simply doesn’t happen.

An automatic sync from Odoo to Google Sheets eliminates all of that. The same spreadsheet your team already uses gets the current Odoo data pushed into it on a schedule. Nobody has to remember to do it.

Setting up the sync — four steps

1. Install the Google Sheets Connector on your Odoo

Install the KSROlabs Google Sheets Connector from the Odoo App Store on your Odoo 16, 17, 18, or 19 instance. The module adds a Sheets menu to Odoo with no disruption to your existing setup.

2. Authorise Odoo to write to Google Sheets

Grant Odoo access to your Google Sheets via the OAuth flow inside the connector settings. This is a one-time step that lets Odoo push data to your chosen spreadsheet.

3. Create a sync profile

Choose the Odoo model to sync (e.g., sale.order, account.move, stock.quant), pick the fields, set filters if needed (active records only, specific date range), and point it at a target Google Sheet or a new one.

4. Set a schedule and run

Configure how often the sync should run — hourly, daily, on demand. The connector pushes the selected Odoo data into the Sheet on that schedule. The first sync populates the sheet; subsequent syncs update it incrementally.

What you can sync

Any Odoo model, any fields, with filters. Here are common use cases teams run with a single connector install.

💰

Weekly sales summary

Sales orders and confirmed revenue in a Google Sheet your finance team can filter and pivot themselves, refreshed every morning — no more Monday export.

🧾

Accounts receivable tracker

Outstanding invoices with due dates and amounts in a shared sheet, so finance can see aged debt and flag collections without touching Odoo.

📦

Live inventory view

Current stock levels exported to a Sheet so the warehouse, purchasing, and management teams all read the same numbers without different Odoo views.

🤝

Partner-facing data share

Share a clean view of orders, shipments, or performance data with a partner or external accountant via Google Sheets — no Odoo login required.

🖥️

Dashboard inside Odoo

Prefer staff not to leave Odoo? The Google Sheets Dashboard module embeds a live Sheets-based view directly in the Odoo UI as a menu item.

📊

Board-level reporting

Push key financial and operational metrics into a formatted board report template in Sheets, refreshed before each board meeting automatically.

Frequently asked questions

Is this a one-way sync? Can data go back from Sheets to Odoo?

The Google Sheets Connector is a one-way push from Odoo to Sheets. Data flows out for reporting and sharing — not back into Odoo. If you need bidirectional or Sheets-to-Odoo workflows, the Webhooks & REST API module handles event-driven integrations.

Which Odoo models can be synced?

Any model available to the Odoo user account behind the connector — sales orders, invoices, purchase orders, stock moves, CRM leads, inventory, contacts, and more. You define exactly which fields to include for each model.

How current is the data?

As current as the sync schedule you set. Hourly syncs give you data that is never more than an hour old. Daily syncs are typical for management reporting. The sync can also be triggered manually at any time from within Odoo.

What happens to existing data in the sheet when a sync runs?

The connector overwrites the target range with the latest Odoo data on each sync, so the sheet always reflects the current Odoo state. You can choose to append rather than overwrite if you want historical row-by-row records.

Can I filter what gets exported?

Yes. You can apply Odoo domain filters to the sync profile — for example, "only confirmed orders", "only invoices from the last 90 days", or "only stock below minimum quantity". This keeps the sheet lean and relevant.

Does this require a developer to set up?

No. The connector installs from the Odoo App Store and the configuration is done through a menu inside Odoo. Free setup support is included so we help you get the first sync profile working without writing any code.

What you need

Google Sheets Connector for Odoo

Available on the Odoo App Store for Odoo 16, 17, 18, and 19. Supports any Odoo model, configurable field selection and domain filters, scheduled or manual sync, and Google OAuth for secure authentication. Free setup support is included with every purchase.

Google Sheets Connector →Sheets Dashboard →

Ready to kill the manual export?

We’ll set up the first sync profile and make sure it runs reliably. Free setup support included.