OdooWiki OCA HUB

Spreadsheet Oca

spreadsheet_oca folder_open OCA/spreadsheet open_in_new
Uncategorised License: AGPL-3

This module adds a functionality for adding and editing Spreadsheets using Odoo CE.

It is an alternative to the proprietary module spreadsheet_edition of Odoo Enterprise Edition.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Lets users create, edit and share spreadsheets inside Odoo Community, with collaboration, access rights, tags and import of pivot/list data into a spreadsheet.

This module adds a full spreadsheet tool to Odoo Community, as an alternative to the Enterprise spreadsheet edition. Users get a new "Spreadsheets" menu where they can create spreadsheets, open them in an editor, save them, and download them as XLSX files.

  • Each spreadsheet has an owner, optional contributors (users or groups) and readers (users or groups), so you can decide who may edit and who may only view. A company can be set to restrict visibility, and tags help organise sheets.
  • Spreadsheets appear as a kanban board with a badge image, a list and a form, with an "Edit" button to open the editor. A chatter is available on the form.
  • Several people can work on the same spreadsheet at the same time: changes are exchanged live, and each change is stored as a revision so the document can be rebuilt.
  • From list, pivot and graph views users can import data into a spreadsheet, either into a new spreadsheet or an existing one. Imported tables can be dynamic, meaning their rows follow the filters set in the spreadsheet, with a chosen number of rows.
  • The editor offers filters, charts (including charts linked to an Odoo menu), and a save/download menu.
  • Access is controlled by user and manager groups, with record rules for owner, contributor, reader, company and manager, plus a rule limiting which import modes each group sees.

It touches the spreadsheet models, revisions, tags, import modes and the import wizard, and extends ir.model and the websocket channel security.

Depends on

spreadsheetbase_sparse_fieldbus
Models and fields (8)
  • ir.model · extends an existing model
  • spreadsheet.abstract · new modelname, active, spreadsheet_raw, spreadsheet_binary_data (Spreadsheet file), spreadsheet_revision_ids
  • spreadsheet.spreadsheet · new modelfilename, owner_id, company_id, reader_ids (Readers), badge_image (Badge Background), contributor_ids (Contributors), reader_group_ids (Readers Groups), spreadsheet_tag_ids (Tags), contributor_group_ids (Contributors Groups)
  • spreadsheet.oca.revision · new modeltype, model, res_id, commands, client_id, next_revision_id, server_revision_id
  • spreadsheet.spreadsheet.tag · new modelname, color
  • spreadsheet.select.row.number · new modeldynamic_rows, number_of_rows
  • spreadsheet.spreadsheet.import · new modelmode, name, dynamic (Dynamic Rows), is_tree, mode_id, import_data, can_be_dynamic, number_of_rows, spreadsheet_id, datasource_name
  • spreadsheet.spreadsheet.import.mode · new modelcode, name, sequence, group_ids

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 4 confirmed, 5 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/spreadsheet.

terminal Installation and usage

OCA documentation · Odoo 19.0

Create a new spreadsheet

  • Go to 'Spreadsheet' menu
  • Click on 'Create'
  • Put a name, then click on the "Edit" button
  • At this point you switch to spreadsheet editing mode. The editor is named o-spreadsheet and looks like another common spreadsheet web editors. (OnlyOffice, Ethercalc, Google Sheets (non-free)).
  • You can use common functions SUM(), AVERAGE(), etc. in the cells. For a complete list of functions and their syntax, Refer to the documentation or go to and click on "Insert \> Function".
  • Note: Business Odoo module can add "business functions". This is currently the case for the accounting module, which adds the following features: > - ODOO.CREDIT(account_codes, date_range): Get the total credit for > the specified account(s) and period. > - ODOO.DEBIT(account_codes, date_range): Get the total debit for > the specified account(s) and period. > - ODOO.BALANCE(account_codes, date_range): Get the total balance > for the specified account(s) and period. > - ODOO.FISCALYEAR.START(day): Returns the starting date of the > fiscal year encompassing the provided date. > - ODOO.FISCALYEAR.END(day): Returns the ending date of the fiscal > year encompassing the provided date. > - ODOO.ACCOUNT.GROUP(type): Returns the account ids of a given > group where type should be a value of the account_type field of > account.account model. (income, asset_receivable, etc.)

Edit the columns of a list

  • Open the list side panel (Data menu, then the list name).
  • In the Columns section you can remove or reorder the columns, and add new ones with the field selector. Relational fields can be followed to add related values, e.g. Company > Name (company_id.name).
  • Click on Insert list to write the updated columns in the sheet.

Group a pivot by related fields

  • Open the pivot side panel and click on Add in the Columns or Rows section.
  • Click on the arrow next to a many2one field to see the fields of the related model, then pick one, e.g. Company > Fiscal Country.
  • Only stored fields can be used, as the grouping is done in the database.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.