| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/spreadsheet |
| GIT | |
| GIT | https://github.com/OCA/spreadsheet.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/spreadsheet/tree/18.0/spreadsheet_oca |
| VERSION | |
| VERSION | 1.3.1 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CreuBlanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CreuBlanca |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, tarteo, Florent THOMAS, oca-ci, Carlos Roca, CarlosRoca13, christian-ramos-tecnativa, Chris Mann, HItesh Jadav |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/spreadsheet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:18 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - spreadsheet - bus - base - web - portal - web_editor - html_editor - http_routing - base_setup - web_tour - auth_signup - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
spreadsheet_select_row_number_form_view |
spreadsheet.select.row.number.form | spreadsheet.select.row.number | form | New |
spreadsheet_spreadsheet_form_view |
spreadsheet.spreadsheet.tree (in spreadsheet_oca) | spreadsheet.spreadsheet | form | New |
spreadsheet_spreadsheet_import_form_view |
spreadsheet.spreadsheet.import.form (in spreadsheet_oca) | spreadsheet.spreadsheet.import | form | New |
spreadsheet_spreadsheet_kanban_view |
spreadsheet.spreadsheet.kanban | spreadsheet.spreadsheet | kanban | New |
spreadsheet_spreadsheet_search_view |
spreadsheet.spreadsheet.search (in spreadsheet_oca) | spreadsheet.spreadsheet | search | New |
spreadsheet_spreadsheet_tree_view |
spreadsheet.spreadsheet.tree (in spreadsheet_oca) | spreadsheet.spreadsheet | list | New |
No HTTP endpoints found for this module.
No new fields.
Public methods (1)has_parent_relation(self, model_name)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
name
Char
required=True
spreadsheet_binary_data
Binary
default=<expr>
string='Spreadsheet file'
spreadsheet_raw
Serialized
compute='_compute_spreadsheet_raw'
inverse='_inverse_spreadsheet_raw'
spreadsheet_revision_ids
One2many → spreadsheet.oca.revision
domain=<expr>
inverse_name='res_id'
args: 'spreadsheet.oca.revision'
get_spreadsheet_data(self)
open_spreadsheet(self)
send_spreadsheet_message(self, message: CollaborationMessage, access_token=None)
write(self, vals)
client_id
Char
commands
Char
model
Char
required=True
next_revision_id
Char
res_id
Integer
index=True
required=True
server_revision_id
Char
type
Char
No public methods.
dynamic_rows
Boolean
number_of_rows
Integer
No public methods.
badge_image
Image
max_height=1024
max_width=1024
args: 'Badge Background'
company_id
Many2one → res.company
comodel_name='res.company'
help='If set, the spreadsheet will be available only if this company is in the current companies.'
contributor_group_ids
Many2many → res.groups
column1='spreadsheet_id'
column2='group_id'
relation='spreadsheet_group_contributor'
string='Contributors Groups'
args: 'res.groups'
contributor_ids
Many2many → res.users
column1='spreadsheet_id'
column2='user_id'
relation='spreadsheet_contributor'
string='Contributors'
args: 'res.users'
filename
Char
compute='_compute_filename'
owner_id
Many2one → res.users
default=<expr>
required=True
args: 'res.users'
reader_group_ids
Many2many → res.groups
column1='spreadsheet_id'
column2='group_id'
relation='spreadsheet_group_reader'
string='Readers Groups'
args: 'res.groups'
reader_ids
Many2many → res.users
column1='spreadsheet_id'
column2='user_id'
relation='spreadsheet_reader'
string='Readers'
args: 'res.users'
spreadsheet_tag_ids
Many2many → spreadsheet.spreadsheet.tag
comodel_name='spreadsheet.spreadsheet.tag'
string='Tags'
create_document_from_attachment(self, attachment_ids)
can_be_dynamic
Boolean
datasource_name
Char
dynamic
Boolean
help='This field allows you to generate tables that its rows are updated with the filters set in the spreadsheets.'
args: 'Dynamic Rows'
import_data
Serialized
is_tree
Boolean
mode
Char
related='mode_id.code'
mode_id
Many2one → spreadsheet.spreadsheet.import.mode
default=<expr>
required=True
args: 'spreadsheet.spreadsheet.import.mode'
name
Char
number_of_rows
Integer
spreadsheet_id
Many2one → spreadsheet.spreadsheet
insert_pivot(self)
code
Char
required=True
group_ids
Many2many → res.groups
name
Char
required=True
translate=True
sequence
Integer
default=20
No public methods.
color
Integer
default=_get_default_color
help='Transparent tags are not visible in the kanban view'
name
Char
required=True
translate=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/spreadsheet |
| GIT | |
| GIT | https://github.com/OCA/spreadsheet.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/spreadsheet/tree/17.0/spreadsheet_oca |
| VERSION | |
| VERSION | 1.0.6 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CreuBlanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CreuBlanca |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, Weblate, OCA-git-bot, oca-ci, CarlosRoca13, r.perez, christian-ramos-tecnativa, Chris Mann |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/spreadsheet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - spreadsheet - bus - base - web - portal - web_editor - http_routing - base_setup - web_tour - auth_signup - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
spreadsheet_select_row_number_form_view |
spreadsheet.select.row.number.form | spreadsheet.select.row.number | form | New |
spreadsheet_spreadsheet_form_view |
spreadsheet.spreadsheet.tree (in spreadsheet_oca) | spreadsheet.spreadsheet | form | New |
spreadsheet_spreadsheet_import_form_view |
spreadsheet.spreadsheet.import.form (in spreadsheet_oca) | spreadsheet.spreadsheet.import | form | New |
spreadsheet_spreadsheet_search_view |
spreadsheet.spreadsheet.search (in spreadsheet_oca) | spreadsheet.spreadsheet | search | New |
spreadsheet_spreadsheet_tree_view |
spreadsheet.spreadsheet.tree (in spreadsheet_oca) | spreadsheet.spreadsheet | tree | New |
No HTTP endpoints found for this module.
No new fields.
Public methods (0)No public methods.
name
Char
required=True
spreadsheet_binary_data
Binary
default=<expr>
string='Spreadsheet file'
spreadsheet_raw
Serialized
compute='_compute_spreadsheet_raw'
inverse='_inverse_spreadsheet_raw'
spreadsheet_revision_ids
One2many → spreadsheet.oca.revision
domain=<expr>
inverse_name='res_id'
args: 'spreadsheet.oca.revision'
get_spreadsheet_data(self)
open_spreadsheet(self)
send_spreadsheet_message(self, message)
write(self, vals)
client_id
Char
commands
Char
model
Char
required=True
next_revision_id
Char
res_id
Integer
index=True
required=True
server_revision_id
Char
type
Char
No public methods.
can_have_dynamic_cols
Boolean
dynamic_cols
Boolean
dynamic_rows
Boolean
number_of_cols
Integer
number_of_rows
Integer
No public methods.
company_id
Many2one → res.company
comodel_name='res.company'
help='If set, the spreadsheet will be available only if this company is in the current companies.'
contributor_group_ids
Many2many → res.groups
column1='spreadsheet_id'
column2='group_id'
relation='spreadsheet_group_contributor'
string='Contributors Groups'
args: 'res.groups'
contributor_ids
Many2many → res.users
column1='spreadsheet_id'
column2='user_id'
relation='spreadsheet_contributor'
string='Contributors'
args: 'res.users'
filename
Char
compute='_compute_filename'
owner_id
Many2one → res.users
default=<expr>
required=True
args: 'res.users'
reader_group_ids
Many2many → res.groups
column1='spreadsheet_id'
column2='group_id'
relation='spreadsheet_group_reader'
string='Readers Groups'
args: 'res.groups'
reader_ids
Many2many → res.users
column1='spreadsheet_id'
column2='user_id'
relation='spreadsheet_reader'
string='Readers'
args: 'res.users'
create_document_from_attachment(self, attachment_ids)
can_be_dynamic
Boolean
can_have_dynamic_cols
Boolean
datasource_name
Char
dynamic
Boolean
help='This field allows you to generate tables that its rows are updated with the filters set in the spreadsheets.'
args: 'Dynamic Rows'
dynamic_cols
Boolean
help='This field allows you to generate tables that its cols are updated with the filters set in the spreadsheets.'
args: 'Dynamic Columns'
import_data
Serialized
is_tree
Boolean
mode
Char
related='mode_id.code'
mode_id
Many2one → spreadsheet.spreadsheet.import.mode
default=<expr>
required=True
args: 'spreadsheet.spreadsheet.import.mode'
name
Char
number_of_cols
Integer
number_of_rows
Integer
spreadsheet_id
Many2one → spreadsheet.spreadsheet
insert_pivot(self)
code
Char
required=True
group_ids
Many2many → res.groups
name
Char
required=True
translate=True
sequence
Integer
default=20
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/spreadsheet |
| GIT | |
| GIT | https://github.com/OCA/spreadsheet.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/spreadsheet/tree/16.0/spreadsheet_oca |
| VERSION | |
| VERSION | 1.9.2 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CreuBlanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CreuBlanca |
| COMMITTERS | |
| COMMITTERS | Holger Brunn, Sylvain LE GAL, Enric Tobella, Roy Le, Weblate, OCA-git-bot, oca-ci, Nguyễn Đại Dương, Carlos Roca, r.perez, Chris Mann |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/spreadsheet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - spreadsheet - bus - base - web - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
spreadsheet_select_row_number_form_view |
spreadsheet.select.row.number.form | spreadsheet.select.row.number | form | New |
spreadsheet_spreadsheet_form_view |
spreadsheet.spreadsheet.tree (in spreadsheet_oca) | spreadsheet.spreadsheet | form | New |
spreadsheet_spreadsheet_import_form_view |
spreadsheet.spreadsheet.import.form (in spreadsheet_oca) | spreadsheet.spreadsheet.import | form | New |
spreadsheet_spreadsheet_search_view |
spreadsheet.spreadsheet.search (in spreadsheet_oca) | spreadsheet.spreadsheet | search | New |
spreadsheet_spreadsheet_tree_view |
spreadsheet.spreadsheet.tree (in spreadsheet_oca) | spreadsheet.spreadsheet | tree | New |
No HTTP endpoints found for this module.
No new fields.
Public methods (0)No public methods.
name
Char
required=True
spreadsheet_raw
Serialized
spreadsheet_revision_ids
One2many → spreadsheet.oca.revision
domain=<expr>
inverse_name='res_id'
args: 'spreadsheet.oca.revision'
get_spreadsheet_data(self)
open_spreadsheet(self)
send_spreadsheet_message(self, message)
write(self, vals)
client_id
Char
commands
Char
model
Char
required=True
next_revision_id
Char
res_id
Integer
index=True
required=True
server_revision_id
Char
type
Char
No public methods.
can_have_dynamic_cols
Boolean
dynamic_cols
Boolean
dynamic_rows
Boolean
number_of_cols
Integer
number_of_rows
Integer
No public methods.
company_id
Many2one → res.company
comodel_name='res.company'
help='If set, the spreadsheet will be available only if this company is in the current companies.'
contributor_group_ids
Many2many → res.groups
column1='spreadsheet_id'
column2='group_id'
relation='spreadsheet_group_contributor'
string='Contributors Groups'
args: 'res.groups'
contributor_ids
Many2many → res.users
column1='spreadsheet_id'
column2='user_id'
relation='spreadsheet_contributor'
string='Contributors'
args: 'res.users'
data
Binary
filename
Char
compute='_compute_filename'
owner_id
Many2one → res.users
default=<expr>
required=True
args: 'res.users'
reader_group_ids
Many2many → res.groups
column1='spreadsheet_id'
column2='group_id'
relation='spreadsheet_group_reader'
string='Readers Groups'
args: 'res.groups'
reader_ids
Many2many → res.users
column1='spreadsheet_id'
column2='user_id'
relation='spreadsheet_reader'
string='Readers'
args: 'res.users'
spreadsheet_raw
Serialized
compute='_compute_spreadsheet_raw'
inverse='_inverse_spreadsheet_raw'
create_document_from_attachment(self, attachment_ids)
can_be_dynamic
Boolean
can_have_dynamic_cols
Boolean
datasource_name
Char
dynamic
Boolean
help='This field allows you to generate tables that its rows are updated with the filters set in the spreadsheets.'
args: 'Dynamic Rows'
dynamic_cols
Boolean
help='This field allows you to generate tables that its cols are updated with the filters set in the spreadsheets.'
args: 'Dynamic Columns'
import_data
Serialized
is_tree
Boolean
mode
Char
related='mode_id.code'
mode_id
Many2one → spreadsheet.spreadsheet.import.mode
default=<expr>
required=True
args: 'spreadsheet.spreadsheet.import.mode'
name
Char
number_of_cols
Integer
number_of_rows
Integer
spreadsheet_id
Many2one → spreadsheet.spreadsheet
insert_pivot(self)
code
Char
required=True
group_ids
Many2many → res.groups
name
Char
required=True
translate=True
sequence
Integer
default=20
No public methods.