Skip to main content
Google Sheets Live Connector — A build-to-order Odoo module that streams any Odoo model into Google Sheets for live analysis, — 1/1Illustrative preview

A build-to-order Odoo module that streams any Odoo model into Google Sheets for live analysis,

reporting and sharing — with scheduled auto-refresh, per-sheet field/filter selection, and an optional two-way write-back.

ECOSIRE scopes, builds, installs and supports it.

What is Google Sheets Live Connector?

A build-to-order Odoo module that streams any Odoo model into Google Sheets for live analysis, reporting and sharing — with scheduled auto-refresh, per-sheet field/filter selection, and an optional two-way write-back. ECOSIRE scopes, builds, installs and supports it. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Sync any Odoo model — `sale.order`, `account.move.line`, `crm.lead`, `stock.quant` or custom `x_` models — into a named Google Sheets range
Per-sheet field selection maps chosen Odoo `fields` (including related and stored compute fields) to spreadsheet columns
Domain-filter builder translates UI conditions into Odoo `search_read` domains (e.g. `[('state','=','done'),('date','>=',...)]`) per connection
Scheduled auto-refresh via an `ir.cron` job or Apps Script time trigger — every 15 min, hourly, daily, or on open
Optional two-way write-back: whitelisted editable columns validated by field type and pushed via `write()` with conflict detection
Reads and writes fully honor `ir.model.access.csv` and record rules — Sheets users never exceed their Odoo user's entitlements
Connections persisted as records in a dedicated `ir.model`, so mappings are versioned, auditable and reusable, not trapped in one macro
Credential-based connection via a dedicated service account / OAuth token configured once — no passwords stored in cells
Reads use paginated `search_read` over JSON-RPC to stream large models without timing out or hitting row limits
Field-type-aware formatting: many2one shown as display name or ID, dates in sheet locale, monetary fields with currency, selection labels resolved
Full write-back audit log (user, timestamp, old/new value, record id) written to an Odoo model for traceability
Rate-limited, batched RPC calls with retry/backoff to stay within Odoo worker and Google quota limits
Compatible with Odoo 17.0, 18.0 and 19.0, Community and Enterprise — no Enterprise-only dependency
Optional row-level refresh status and last-synced timestamp cell so users can see data freshness at a glance

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Analysts and managers do their real work in spreadsheets, but the numbers they need are locked inside Odoo. Today the workaround is a manual dance: open a list view, apply filters, hit Export, download a CSV, re-import into Google Sheets, then fix broken formulas and pivot tables every single time. Odoo's native export is a one-shot snapshot — it has no schedule, no refresh, and no way to write a corrected value back. QWeb reports and dashboards live inside Odoo where a CFO who prefers Sheets can't touch them, and stitching a custom pivot across sale.order, account.move and stock.quant in the UI is painful. The moment someone wants "the same view, but updated automatically and shareable with a link," Odoo native runs out of road.

The Google Sheets Live Connector closes that gap. We build a dedicated Odoo module (__manifest__.py declaring dependencies on base plus whichever business apps your reports touch) that exposes a governed read path over Odoo's JSON-RPC / XML-RPC API and a companion Google Apps Script bound to your target spreadsheet. From a sidebar in Sheets an authorized user picks an Odoo model (sale.order, account.move.line, crm.lead, or any custom model), selects the exact fields and a domain filter, and the data materializes into a named range. A new ir.model in Odoo stores each connection's definition — model, field list, domain, target range, refresh cadence — so the mapping is versioned, auditable, and reusable rather than trapped in one person's macro.

Under the hood, refresh is driven by a ir.cron automated action on the Odoo side (or a time-based trigger in Apps Script) that re-runs each saved query on the schedule you choose — every 15 minutes, hourly, or on open. Reads honor ir.model.access.csv and record rules, so a Sheets user only ever sees rows their linked Odoo user is entitled to see; there is no bypass of Odoo's security layer. Where you need editable lists, we build an optional two-way write-back: edited cells in a whitelisted range are validated against field types and access rights, then pushed back via write() with a full audit log and conflict detection, so a stale cell never silently clobbers a newer Odoo value. Connection uses a dedicated service account or OAuth credential configured once — no passwords pasted into cells.

Because this is build-to-order, nothing ships as a blind download. We start with a short scoping call to map exactly which models, fields, filters and refresh cadences you need, whether you're on Odoo 17.0, 18.0 or 19.0, and Community vs Enterprise (both supported — no Enterprise-only dependency). We then build the module and Apps Script against your data model, run UAT on a staging database, and deploy to production with a rollback plan. Typical delivery is one working week from confirmed scope. You receive the full source, documentation, a training session, and a post-go-live support window — and you own the Git repository outright.

What you get

  • Installable Odoo module source code (`__manifest__.py`, models, security, views) built for your exact Odoo 17.0/18.0/19.0 version, plus the bound Google Apps Script package
  • Installation and configuration on your environment, including service-account/OAuth credential setup and cron scheduling
  • Technical documentation: model/field mapping reference, security model, RPC endpoints, refresh and write-back logic
  • End-user guide plus a live training session for your analysts and administrators
  • Post-go-live support window for bug fixes, adjustments and questions
  • UAT on a staging database with a documented rollback plan before any production deployment
  • Full Git repository handover — you own the source code and history outright
  • Sample connection templates for your most-used models pre-configured after the scoping call

Who this is for

Spreadsheet-first analyst

Lives in Google Sheets building pivots, models and dashboards. Needs live Odoo data — sales, invoices, inventory — landing in named ranges on a schedule instead of re-exporting CSVs by hand every morning.

Finance / ops manager

Wants a shareable, always-current view of KPIs from `account.move` and `sale.order` for the team and leadership, without giving everyone an Odoo login or waiting on IT to rebuild a report.

Odoo administrator

Needs the connector to respect `ir.model.access.csv` and record rules so Sheets access never leaks rows, with credentials centrally managed, refresh cadences controlled, and write-back fully audited.

Operations lead using editable lists

Manages data like forecast adjustments or status updates in a shared sheet and needs validated two-way write-back into Odoo, with conflict detection so concurrent edits don't overwrite fresher values.

How Google Sheets Live Connector Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Live / scheduled refreshAuto-refresh via `ir.cron` or Apps Script trigger, per-connection cadencePossible but you build and maintain the scheduler yourselfOften manual refresh or fixed intervals onlyNone — export is a one-shot CSV snapshot
Security enforcementHonors `ir.model.access.csv` + record rules; runs as real Odoo userDepends entirely on your implementation qualityVaries; some use a shared admin token that bypasses rulesExport respects access, but no Sheets-side governance
Two-way write-backOptional, validated `write()` with audit log + conflict detectionBuildable but conflict handling is easy to get wrongUsually read-onlyNot available
Field & filter selectionPer-sheet field picker + domain-filter builder, saved as recordsHard-coded unless you build a config UILimited to preset fields or basic filtersManual filter in list view before each export
Odoo version coverageBuilt and tested for 17.0 / 18.0 / 19.0, Community + EnterpriseWhatever you target and testMay lag on newest major versionsShips with core, no add-on
Delivery & ownershipone working week build-to-order; full source + Git repo handoverWeeks to months; you own it but carry all the build costInstant install but closed source, licence-lockedImmediate, but no live-connector capability
Support & maintenancePost-go-live window + optional retainer + docs + trainingInternal team owns all upkeepVendor support tiers, upgrade-dependentCommunity/standard Odoo support only
Fit to your data modelScoped to your exact models, custom fields and reportsFully bespoke, at full cost and timelineGeneric; custom models may need workaroundsGeneric export of whatever list you're viewing

Frequently Asked Questions about Google Sheets Live Connector

How long does delivery take?

This is a build-to-order module, not an instant download. After a short scoping call to confirm the models, fields, filters, refresh cadences and your Odoo version, typical delivery is one working week from confirmed scope. We build against your data model, run UAT on staging, then deploy to production with a rollback plan.

How are updates and ongoing support handled?

Every engagement includes a post-go-live support window for bug fixes and adjustments. You also receive the full source and Git repository, so your team can extend it. Version upgrades (e.g. moving from Odoo 17 to 18 or 19) or new models can be handled as a follow-on scope, and we offer optional ongoing support retainers.

Does it work with Odoo Community or only Enterprise?

Both. The connector is built on standard Odoo primitives — the ORM, `ir.cron`, security via `ir.model.access.csv` and record rules, and the JSON-RPC/XML-RPC API — with no Enterprise-only dependency. It targets Odoo 17.0, 18.0 and 19.0, and we confirm your exact version during scoping.

Is the Sheets connection secure, and can users see data they shouldn't?

No. Every read and write runs as a real Odoo user, so `ir.model.access.csv` and record rules are fully enforced — a Sheets user only ever sees or edits rows their linked Odoo user is entitled to. The connection uses a dedicated service account or OAuth credential configured once by an admin; no passwords are stored in the spreadsheet.

Can it write data back into Odoo, or is it read-only?

Both modes are supported. Read-only sync is the default. Where you need editable lists, we build an optional two-way write-back on whitelisted columns: edits are validated against field types and access rights, pushed via the ORM `write()` method, logged to an audit trail, and protected by conflict detection so a stale cell can't overwrite a newer Odoo value.

Will large models or frequent refreshes slow down my Odoo server?

The connector uses paginated, batched `search_read` calls with rate limiting and retry/backoff to stay within Odoo worker and Google API quotas. Refresh cadence is configurable per connection (every 15 minutes, hourly, daily, or on open), and during scoping we size the schedule to your data volume and server capacity.

What exactly do we own at the end?

You own everything: the full Odoo module source, the Google Apps Script package, technical and user documentation, and the complete Git repository with history. There is no vendor lock-in — your team can maintain and extend the module independently.

Request a quote

Google Sheets Live Connector

A build-to-order Odoo module that streams any Odoo model into Google Sheets for live analysis, reporting and sharing — with scheduled auto-refresh, per-sheet field/filter selection, and an optional two-way write-back. ECOSIRE scopes, builds, installs and supports it.

  • Sync any Odoo model — `sale.order`, `account.move.line`, `crm.lead`, `stock.quant` or custom `x_` models — into a named Google Sheets range
  • Per-sheet field selection maps chosen Odoo `fields` (including related and stored compute fields) to spreadsheet columns
  • Domain-filter builder translates UI conditions into Odoo `search_read` domains (e.g. `[('state','=','done'),('date','>=',...)]`) per connection
  • Scheduled auto-refresh via an `ir.cron` job or Apps Script time trigger — every 15 min, hourly, daily, or on open

Request a Quotation

Tell us about your Google Sheets Live Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.