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.0Lets 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
Required by other modules
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-03Confirmation status: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/spreadsheet.
terminal Installation and usage
OCA documentation · Odoo 19.0Usage
Source · Odoo 19.0Create 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-spreadsheetand 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 theaccount_typefield of >account.accountmodel. (income,asset_receivable, etc.)
Edit the columns of a list
- Open the list side panel (
Datamenu, then the list name). - In the
Columnssection 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 listto write the updated columns in the sheet.
Group a pivot by related fields
- Open the pivot side panel and click on
Addin theColumnsorRowssection. - 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.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.