TIP: You can type at any time to perform a new search.
Sustainability
sustainability · OCA/sustainability
- Repository
- OCA/sustainability · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Accounting/Sustainability
- Folder size
- 1.81 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://github.com/sustainability-suite/sustainability-odoo
- Last tracking update
- 2026-09-21 11:33:45
- Authors
- Open Net Sàrl, MCO2
- Maintainers
- Open Net Sàrl, MCO2
- Committers
- Julien Guenat, SustainabilityBot
- Odoo dependencies
- Python dependencies
- odoo_upgrade @ git+https://github.com/odoo/upgrade-util@master, openupgradelib, packaging
- System dependencies
- None
- Required by
- sustainability_purchase, sustainability_spreadsheet_dashboard
- Description
Code Analysis ⓘ
Views touched (42)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
carbon_distribution_template_form |
carbon.distribution.template.form | carbon.distribution.template | form | New |
carbon_factor_contributor_tree |
carbon.factor.contributor.list | carbon.factor.contributor | list | New |
carbon_factor_database_form |
carbon.factor.database.form | carbon.factor.database | form | New |
carbon_factor_database_tree |
carbon.factor.database.list | carbon.factor.database | list | New |
carbon_factor_filter |
carbon.factor.select | carbon.factor | search | New |
carbon_factor_form |
carbon.factor.form | carbon.factor | form | New |
carbon_factor_hierarchy |
carbon.factor.hierarchy | carbon.factor | New | |
carbon_factor_tree |
carbon.factor.list | carbon.factor | list | New |
carbon_factor_type_tree |
carbon.factor.type.list | carbon.factor.type | list | New |
carbon_factor_value_report_search |
carbon.factor.value.report.search | carbon.factor.value.report | search | New |
carbon_factor_view_graph |
carbon.factor.graph.view | carbon.factor | graph | New |
carbon_factor_view_kanban |
carbon.factor.kanban.view | carbon.factor | kanban | New |
carbon_factor_view_pivot |
carbon.factor.pivot.view | carbon.factor | pivot | New |
carbon_line_origin_filter |
carbon.line.origin.select | carbon.line.origin | search | New |
carbon_line_origin_tree |
carbon.line.origin.list | carbon.line.origin | list | New |
carbon_line_origin_view_graph |
carbon.line.origin.graph.view | carbon.line.origin | graph | New |
carbon_line_origin_view_pivot |
carbon.line.origin.pivot.view | carbon.line.origin | pivot | New |
report_invoice_document |
report_invoice_document | ir.ui.view | qweb | Inherits account.report_invoice_document |
res_config_settings_view_form |
res.config.settings.view.form.inherit.co2 | res.config.settings | form | Inherits base.res_config_settings_view_form |
sustainability_action_filter |
sustainability.action.select | sustainability.action | search | New |
sustainability_action_form |
sustainability.action.form | sustainability.action | form | New |
sustainability_action_plan_filter |
sustainability.action.plan.select | sustainability.action.plan | search | New |
sustainability_action_plan_form |
sustainability.action.plan.form | sustainability.action.plan | form | New |
sustainability_action_plan_tree |
sustainability.action.plan.list | sustainability.action.plan | list | New |
sustainability_action_tree |
sustainability.action.list | sustainability.action | list | New |
sustainability_scenario_filter |
sustainability.scenario.select | sustainability.scenario | search | New |
sustainability_scenario_form |
sustainability.scenario.form | sustainability.scenario | form | New |
sustainability_scenario_tree |
sustainability.scenario.list | sustainability.scenario | list | New |
view_account_analytic_line_form |
account.analytic.line.form | account.analytic.line | form | Inherits analytic.view_account_analytic_line_form |
view_account_analytic_line_tree |
account.analytic.line.list | account.analytic.line | list | Inherits analytic.view_account_analytic_line_tree |
view_approach_characterization_list |
sustainability.approach.characterization.list | sustainability.approach.characterization | list | New |
view_approach_list |
sustainability.approach.list | sustainability.approach | list | New |
view_carbon_factor_value_report_graph |
carbon.factor.value.report.graph.view | carbon.factor.value.report | graph | New |
view_invoice_tree_inherit |
account.move.list.inherit.tree.sustainability | account.move | tree | Inherits account.view_invoice_tree |
view_move_form |
view_move_form | account.move | form | Inherits account.view_move_form |
view_move_line_tree |
view_move_line_tree | account.move.line | tree | Inherits account.view_move_line_tree |
view_move_tree |
view_move_tree | account.move | tree | Inherits account.view_move_tree |
view_nomenclature_category_list |
sustainability.nomenclature.category.list | sustainability.nomenclature.category | list | New |
view_nomenclature_list |
sustainability.nomenclature.list | sustainability.nomenclature | list | New |
view_nomenclature_reporting_list |
sustainability.nomenclature.reporting.list | sustainability.nomenclature.reporting | list | New |
view_nomenclature_sub_category_form |
sustainability.nomenclature.sub_category.form | sustainability.nomenclature.sub_category | form | New |
view_nomenclature_sub_category_list |
sustainability.nomenclature.sub_category.list | sustainability.nomenclature.sub_category | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (35)
New fields (2)
-
carbon_in_factor_idMany2onetracking=True -
carbon_line_origin_idsOne2many → carbon.line.origincomodel_name='carbon.line.origin'inverse_name='move_line_account_id'string='Origins'
No public methods.
New fields (2)
-
carbon_currency_idMany2one → res.currencyrelated='move_line_id.carbon_currency_id' args: 'res.currency' -
carbon_debtMonetarycurrency_field='carbon_currency_id'string='CO2'
No public methods.
New fields (3)
-
carbon_balanceMonetarycompute='_compute_carbon_balance'currency_field='carbon_currency_id'store=Truestring='CO2 Equivalent'tracking=True -
carbon_currency_idMany2one → res.currencycompute='_compute_carbon_currency_id' args: 'res.currency' -
carbon_uncertainty_valueMonetarycompute='_compute_carbon_uncertainty_value'currency_field='carbon_currency_id'store=Truestring='CO2 Uncertainty'tracking=True
-
action_recompute_carbon(self) -> dictForce re-computation of carbon values for lines
New fields (7)
-
carbon_balanceMonetarycompute='_compute_carbon_balance'currency_field='carbon_currency_id'store=Truestring='CO2 Balance' -
carbon_creditMonetarycompute='_compute_carbon_debit_credit'currency_field='carbon_currency_id'store=Truestring='CO2 Credit' -
carbon_debitMonetarycompute='_compute_carbon_debit_credit'currency_field='carbon_currency_id'store=Truestring='CO2 Debit' -
carbon_is_date_lockedBooleancompute='_compute_carbon_is_date_locked'store=False -
carbon_supplier_idMany2one → product.supplierinfocomodel_name='product.supplierinfo'compute='_compute_carbon_supplier_id'string='Supplier Info' -
is_carbon_positiveBooleancompute='_compute_is_carbon_positive'readonly=Truestore=False -
is_invoice_lineBooleancompute='_compute_is_invoice_line'default=False
-
action_recompute_carbon(self) -> dict -
can_use_account_id_carbon_value(self) -> bool -
can_use_carbon_supplier_id_carbon_value(self) -> bool -
can_use_partner_id_carbon_value(self) -> bool -
can_use_product_id_carbon_value(self) -> bool -
get_account_id_carbon_compute_values(self) -> dict -
get_carbon_sign(self) -> int -
get_carbon_supplier_id_carbon_compute_values(self) -> dict -
get_product_id_carbon_compute_values(self) -> dict -
is_credit(self) -> bool -
is_debit(self) -> bool
New fields (3)
-
carbon_line_origin_qtyIntegercompute='_compute_carbon_line_origin_qty' -
carbon_origin_child_idsOne2many → carbon.line.origincomodel_name='carbon.line.origin'compute='_compute_carbon_origin_child_ids' -
carbon_origin_child_qtyIntegercompute='_compute_carbon_origin_child_qty'
-
action_see_carbon_line_origin_ids(self) -
action_see_clo_child_ids(self)Open a new window to display the carbon.line.origin records from the child field for smart button.
New fields (0)
No new fields.
Public methods (1)-
copy(self, default=None)
New fields (8)
-
carbon_typeSelectionrequired=True args: [('in', 'In'), ('out', 'Out'), ('template', 'Template')] -
factor_idMany2one → carbon.factorcomodel_name='carbon.factor'domain="[('recent_value_id', '!=', False)]"required=Truestring='Carbon Factor' -
percentageFloatrequired=True -
res_idMany2oneReferenceindex=Truemodel_field='res_model' -
res_in_idMany2oneReferencecompute='_compute_res_in_out_id'index=Trueinverse='_inverse_res_in_out_id'model_field='res_model'store=True -
res_modelCharindex=Trueprecompute=Truereadonly=Truerelated='res_model_id.model'store=True -
res_model_idMany2one → ir.modelindex=Trueondelete='cascade'required=True args: 'ir.model' -
res_out_idMany2oneReferencecompute='_compute_res_in_out_id'index=Trueinverse='_inverse_res_in_out_id'model_field='res_model'store=True
-
create(self, vals_list)@api.model_create_multi -
get_record(self)
New fields (5)
-
carbon_distribution_line_idsOne2many → carbon.distribution.linebypass_search_access=Truedomain="[('carbon_type', '=', 'template')]"required=True args: 'carbon.distribution.line', 'res_id', 'Distribution lines' -
carbon_has_valid_distributionBooleancompute='_compute_carbon_has_valid_distribution' -
nameCharrequired=True -
product_product_qtyIntegercompute='_compute_product_product_qty' -
product_template_qtyIntegercompute='_compute_product_template_qty'
-
action_see_product_product_ids(self) -
action_see_product_template_ids(self) -
has_valid_carbon_distribution(self)
New fields (44)
-
account_move_qtyIntegercompute='_compute_account_move_qty' -
activeBooleandefault=Truetracking=True -
carbon_compute_methodSelectionselection=[('physical', 'Physical'), ('monetary', 'Monetary')]string='Compute method'tracking=True -
carbon_contributor_idMany2one → carbon.factor.contributorcomodel_name='carbon.factor.contributor'string='Contributor'tracking=True -
carbon_currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_carbon_currency_id' -
carbon_currency_labelCharcompute='_compute_carbon_currency_id'default='kgCO2e' -
carbon_database_idMany2one → carbon.factor.databasecomodel_name='carbon.factor.database'string='Database'tracking=True -
carbon_dateDaterelated='recent_value_id.date'store=True -
carbon_line_origin_idsOne2many → carbon.line.origincomodel_name='carbon.line.origin'inverse_name='factor_id'string='Origins' -
carbon_line_origin_qtyIntegercompute='_compute_carbon_line_origin_qty' -
carbon_monetary_currency_idMany2onerelated='recent_value_id.carbon_monetary_currency_id' -
carbon_uom_idMany2onerelated='recent_value_id.carbon_uom_id'store=True -
carbon_valueFloatcompute='_compute_carbon_value'store=Truestring='Value' -
categoryCharcompute='_compute_category'store=True -
chart_of_account_qtyIntegercompute='_compute_chart_of_account_qty' -
child_idsOne2many → carbon.factorcomodel_name='carbon.factor'inverse_name='parent_id' -
child_qtyIntegercompute='_compute_child_qty' -
colorIntegerdefault=<expr>export_string_translation=False -
commentHtml -
contact_qtyIntegercompute='_compute_contact_qty' -
country_group_idMany2one → res.country.groupstring='Country Group'tracking=True args: 'res.country.group' -
country_idMany2one → res.countrystring='Country'tracking=True args: 'res.country' -
descendant_idsMany2many → carbon.factorcomodel_name='carbon.factor'compute='_compute_descendant_ids'recursive=True -
distribution_template_qtyIntegercompute='_compute_distribution_template_qty' -
factor_value_type_idMany2onerelated='recent_value_id.type_id'store=Truestring='Factor Value Type' -
ghg_view_modeBooleanhelp='Toggle to show GHG details'string='Show greenhouse gases detail'tracking=True -
has_invalid_valueBooleancompute='_compute_has_invalid_value' -
hierarchyCharcompute='_compute_hierarchy'recursive=True -
nameCharrequired=Truetracking=True -
parent_idMany2one → carbon.factorcomodel_name='carbon.factor'index=Trueondelete='restrict'string='Parent'tracking=True -
parent_pathCharindex=True -
product_categ_qtyIntegercompute='_compute_product_categ_qty' -
product_product_qtyIntegercompute='_compute_product_product_qty' -
product_supplierinfo_idsOne2many → product.productcomodel_name='product.product'compute='_compute_product_supplierinfo_ids' -
product_supplierinfo_qtyIntegercompute='_compute_product_supplierinfo_qty' -
product_template_qtyIntegercompute='_compute_product_template_qty' -
recent_value_idMany2one → carbon.factor.valuecomodel_name='carbon.factor.value'compute='_compute_recent_value'store=True -
required_type_idsMany2many → carbon.factor.typestring='Required Types' args: 'carbon.factor.type' -
rootCharcompute='_compute_root'store=True -
sequenceInteger -
supplierinfo_qtyIntegercompute='_compute_supplierinfo_qty' -
uncertainty_percentageFloataggregator=Falsedefault=0.0string='Uncertainty (%)'tracking=True -
unit_labelCharrelated='recent_value_id.unit_label' -
value_idsOne2many → carbon.factor.valuecomodel_name='carbon.factor.value'inverse_name='factor_id'string='Value List'tracking=True
-
action_carbon_recompute_entries(self) -
action_see_account_move_ids(self) -
action_see_carbon_line_origin_ids(self) -
action_see_chart_of_account_ids(self) -
action_see_child_ids(self) -
action_see_contact_ids(self) -
action_see_distribution_template_ids(self) -
action_see_product_categ_ids(self) -
action_see_product_product_ids(self) -
action_see_product_supplier_ids(self) -
action_see_product_template_ids(self) -
check_distribution(self, distribution: <expr>) -> <expr>Check that the distribution is valid and update it if needed -
get_carbon_value(self, distribution: <expr>=None, **kwargs) -> <expr>Return a value computed depending on the calculation method of carbon (qty/price) and the type of operation (credit/debit) Used in carbon.line.mixin to compute carbon debt of a line model Returns: - total_value (float): the carbon value - total_uncertainty_value (float): the uncertainty value - factor_to_details (dict): the details of the computation with this data structure: { carbon.factor.id: { carbon.factor.value.id: { 'value': ..., 'distribution': ..., 'uncertainty_percentage': ..., 'uncertainty_value': ..., 'compute_method': ..., 'carbon_value': ..., 'uom_id': ..., 'monetary_currency_id': ..., }, carbon.factor.value.id: { ... }, }, } -
write(self, vals)
New fields (1)
-
nameCharrequired=True
No public methods.
New fields (2)
-
nameCharrequired=True -
urlChar
No public methods.
New fields (2)
-
codeCharrequired=True -
nameCharrequired=True args: 'Description'
No public methods.
New fields (21)
-
carbon_compute_methodSelectionrelated='factor_id.carbon_compute_method'store=True -
carbon_currency_labelCharrelated='factor_id.carbon_currency_label' -
carbon_monetary_currency_idMany2one → res.currencystring='Currency'tracking=True args: 'res.currency' -
carbon_uom_idMany2one → uom.uomstring='Unit of measure'tracking=True args: 'uom.uom' -
carbon_valueFloatcompute='_compute_carbon_value'digits='Carbon Factor value'readonly=Falserequired=Truestore=Truestring='Total not broken down (kgCO2)'tracking=True -
ch4_valueFloatdigits='Carbon Factor value'string='CH4 (kgCO2e)'tracking=True -
co2_valueFloatdigits='Carbon Factor value'string='CO2 (kg)'tracking=True -
commentChar -
dateDaterequired=Truetracking=True -
display_nameCharcompute='_compute_display_name'recursive=Truestore=True -
factor_idMany2one → carbon.factorondelete='cascade'required=True args: 'carbon.factor' -
hfc_valueFloatdigits='Carbon Factor value'string='HFC (kgCO2e)'tracking=True -
is_carbon_value_computedBooleancompute='_compute_carbon_value'default=Falsestore=True -
is_ghg_detailed_valueBooleancompute='_compute_is_ghg_detailed_value' -
n2o_valueFloatdigits='Carbon Factor value'string='N2O (kgCO2e)'tracking=True -
nf3_valueFloatdigits='Carbon Factor value'string='NF3 (kgCO2e)'tracking=True -
other_ghg_valueFloatdigits='Carbon Factor value'string='Other GHG (kgCO2e)'tracking=True -
pfc_valueFloatdigits='Carbon Factor value'string='PFC (kgCO2e)'tracking=True -
sf6_valueFloatdigits='Carbon Factor value'string='SF6 (kgCO2e)'tracking=True -
type_idMany2one → carbon.factor.typetracking=True args: 'carbon.factor.type' -
unit_labelCharcompute='_compute_unit_label'string=' '
-
action_reset_precision_value(self) -
get_infos(self) -> <expr>
New fields (17)
-
activeBooleanreadonly=True -
carbon_compute_methodSelectionreadonly=Trueselection=[('physical', 'Physical'), ('monetary', 'Monetary')]string='Compute Method' -
carbon_contributor_idMany2one → carbon.factor.contributorreadonly=Truestring='Contributor' args: 'carbon.factor.contributor' -
carbon_database_idMany2one → carbon.factor.databasereadonly=Truestring='Database' args: 'carbon.factor.database' -
carbon_uom_idMany2one → uom.uomreadonly=Truestring='Unit of measure' args: 'uom.uom' -
carbon_valueFloataggregator='avg'readonly=Truestring='Average CO2 (kg)' -
categoryCharreadonly=True -
country_group_idMany2one → res.country.groupreadonly=Truestring='Country Group' args: 'res.country.group' -
country_idMany2one → res.countryreadonly=Truestring='Country' args: 'res.country' -
dateDatereadonly=True -
factor_idMany2one → carbon.factorreadonly=Truestring='Factor' args: 'carbon.factor' -
ghg_view_modeBooleanreadonly=Truestring='Show greenhouse gases detail' -
nameCharreadonly=True -
parent_idMany2one → carbon.factorcomodel_name='carbon.factor'readonly=Truestring='Parent' -
rootCharreadonly=True -
type_idMany2one → carbon.factor.typereadonly=Truestring='Type' args: 'carbon.factor.type' -
uncertainty_percentageFloatreadonly=Truestring='Uncertainty (%)'
No public methods.
New fields (7)
-
carbon_currency_idMany2one → res.currencycompute='_compute_carbon_currency_id' args: 'res.currency' -
carbon_data_uncertainty_percentageFloatdefault=<expr>string='CO2 Uncertainty %' -
carbon_debtMonetarycompute='_compute_carbon_debt'currency_field='carbon_currency_id'help="A positive value means that your system's debt grows, a negative value means it shrinks"inverse='_inverse_carbon_debt'readonly=Falsestore=Truestring='CO2' -
carbon_is_lockedBooleandefault=False -
carbon_origin_idsOne2many → carbon.line.originbypass_search_access=True args: 'carbon.line.origin', 'res_id', 'Carbon value origin details' -
carbon_origin_jsonJsoncompute='_compute_carbon_debt'store=True -
carbon_uncertainty_valueMonetarycompute='_compute_carbon_debt'currency_field='carbon_currency_id'readonly=Falsestore=Truestring='CO2 Uncertainty'
-
action_recompute_carbon(self) -> dictForce re-computation of carbon values for lines -
action_see_carbon_origin(self) -
action_switch_locked(self) -
create(self, vals_list)@api.model_create_multi -
get_carbon_sign(self) -> intReturn the sign of the carbon value (1 or -1) Mainly used for account.move.line to determine if the line is a credit or a debit -
unlink(self) -
write(self, vals)
New fields (38)
-
carbon_data_uncertainty_percentageFloatreadonly=Truerelated='move_line_id.carbon_data_uncertainty_percentage'store=False -
carbon_valueFloatdigits='Carbon Factor value'string='Value' -
commentChar -
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company_id'store=True -
computation_levelChar -
compute_methodChar -
distributionFloat -
factor_category_idMany2onerelated='factor_id.parent_id'store=Truestring='Factor Category' -
factor_contributor_idMany2onerelated='factor_id.carbon_contributor_id'store=Truestring='Contributor' -
factor_database_idMany2onerelated='factor_id.carbon_database_id'store=Truestring='Database' -
factor_idMany2onerelated='factor_value_id.factor_id'store=Truestring='Emission Factor' -
factor_value_idMany2one → carbon.factor.valuestring='Factor value' args: 'carbon.factor.value' -
factor_value_type_idMany2onerelated='factor_value_id.type_id'store=Truestring='Factor Value Type' -
monetary_currency_idMany2one → res.currencystring='Currency' args: 'res.currency' -
move_company_currency_idMany2onereadonly=Truerelated='move_id.company_currency_id'store=Falsestring='Company Currency' -
move_dateDatereadonly=Truerelated='move_id.date'store=Truestring='Invoice Date' -
move_idMany2onerelated='move_line_id.move_id'store=Truestring='Journal Entry' -
move_line_account_idMany2onerelated='move_line_id.account_id'store=Truestring='Account' -
move_line_balanceMonetarycurrency_field='move_company_currency_id'readonly=Truerelated='move_line_id.balance'store=Falsestring='Balance' -
move_line_idMany2one → account.move.linecompute='_compute_many2one_lines'store=Truestring='Journal Item' args: 'account.move.line' -
move_line_is_invoice_lineBooleanreadonly=Truerelated='move_line_id.is_invoice_line'store=True -
move_line_journal_idMany2onerelated='move_line_id.journal_id'store=Truestring='Journal' -
move_line_labelCharreadonly=Truerelated='move_line_id.name'store=Falsestring='Label' -
move_line_partner_idMany2onerelated='move_line_id.partner_id'store=Truestring='Partner' -
move_line_product_category_idMany2onereadonly=Truerelated='move_line_id.product_category_id'store=Falsestring='Product Category' -
move_line_product_idMany2onereadonly=Truerelated='move_line_id.product_id'store=Truestring='Product' -
move_line_product_tmpl_idMany2onereadonly=Truerelated='move_line_product_id.product_tmpl_id'store=Truestring='Product Template' -
move_stateSelectionreadonly=Truerelated='move_id.state'string='Status' -
quantityFloatcompute='_compute_quantity'readonly=Truestore=True -
res_idMany2oneReferenceindex=Truemodel_field='res_model'string='Res id' -
res_modelCharindex=Trueprecompute=Truereadonly=Truerelated='res_model_id.model'store=Truestring='Model' -
res_model_idMany2one → ir.modelindex=Trueondelete='cascade'required=True args: 'ir.model' -
signed_uncertainty_valueFloatcompute='_compute_signed_uncertainty_value'digits='Carbon value'store=True -
signed_valueFloatcompute='_compute_signed_value'digits='Carbon value'store=Truestring='Total' -
uncertainty_percentageFloatdefault=0.0string='Uncertainty' -
uncertainty_valueFloatdefault=0.0digits='Carbon Factor value' -
uom_idMany2one → uom.uomargs: 'uom.uom' -
valueFloatdigits='Carbon value'required=Truestring='Factor Value'
-
get_record(self)Return the record that generated this origin
New fields (19)
-
carbon_in_distribution_line_idsOne2many → carbon.distribution.linebypass_search_access=Truedomain="[('carbon_type', '=', 'in')]" args: 'carbon.distribution.line', 'res_in_id', 'Distribution lines IN' -
carbon_in_distribution_template_idMany2one → carbon.distribution.templateondelete='set null'string='Distribution Template' args: 'carbon.distribution.template' -
carbon_in_factor_idMany2one → carbon.factordomain=<expr>ondelete='set null'string='Emission Factor Purchases' args: 'carbon.factor' -
carbon_in_fallback_referenceReferencereadonly=Trueselection='_selection_fallback_model'string='Fallback record' -
carbon_in_has_valid_distributionBooleancompute='_compute_carbon_in_has_valid_distribution' -
carbon_in_is_manualBooleandefault=False -
carbon_in_modeSelectioncompute='_compute_carbon_in_mode'default='auto'selection=[('auto', 'Automatic'), ('manual', 'Manual')]store=True -
carbon_in_use_distributionBooleandefault=Falsehelp='Todo: add help'string='Use Distribution' -
carbon_in_value_originCharreadonly=Truestring='Value origin' -
carbon_out_distribution_line_idsOne2many → carbon.distribution.linebypass_search_access=Truedomain="[('carbon_type', '=', 'out')]" args: 'carbon.distribution.line', 'res_out_id', 'Distribution lines OUT' -
carbon_out_distribution_template_idMany2one → carbon.distribution.templateondelete='set null'string='Distribution Template' args: 'carbon.distribution.template' -
carbon_out_factor_idMany2one → carbon.factordomain=<expr>ondelete='set null'string='Emission Factor Sales' args: 'carbon.factor' -
carbon_out_fallback_referenceReferencereadonly=Trueselection='_selection_fallback_model'string='Fallback record ' -
carbon_out_has_valid_distributionBooleancompute='_compute_carbon_out_has_valid_distribution' -
carbon_out_is_manualBooleandefault=False -
carbon_out_modeSelectioncompute='_compute_carbon_out_mode'default='auto'selection=[('auto', 'Automatic'), ('manual', 'Manual')]store=True -
carbon_out_use_distributionBooleandefault=Falsestring='Use Distribution ' -
carbon_out_value_originCharreadonly=Truestring='Value origin ' -
model_nameCharcompute='_compute_model_name'
-
auto_carbon_distribution(self, carbon_types: <expr>=None) -
can_compute_carbon_value(self, carbon_type: str) -> bool -
create(self, vals_list)@api.model_create_multi -
generate_origin_string(self, path: <expr>, carbon_type: str) -> str@api.model -
get_carbon_distribution(self, carbon_type: str) -> <expr>Return factors and their distributions for a given carbon type -
has_valid_carbon_distribution(self, carbon_type: str) -
has_valid_carbon_fallback(self, carbon_type: str) -
has_valid_carbon_value(self, carbon_type: str) -
write(self, vals)
New fields (1)
-
carbon_line_origin_idsOne2many → carbon.line.origincomodel_name='carbon.line.origin'inverse_name='move_line_product_category_id'string='Origins'
No public methods.
New fields (1)
-
carbon_line_origin_idsOne2many → carbon.line.origincomodel_name='carbon.line.origin'inverse_name='move_line_product_id'string='Origins'
No public methods.
New fields (0)
No new fields.
Public methods (2)-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (1)
-
carbon_line_origin_idsOne2many → carbon.line.origincomodel_name='carbon.line.origin'inverse_name='move_line_product_tmpl_id'string='Origins'
No public methods.
New fields (6)
-
carbon_default_data_uncertainty_percentageFloatdefault=0.0 -
carbon_in_is_manualBooleandefault=True -
carbon_lock_dateDatehelp=''string='CO2e Computation Lock Date'tracking=True -
carbon_out_is_manualBooleandefault=True -
invoice_display_co2Booleandefault=Truehelp='Display CO2 equivalent values in invoice documents'string='Display CO2 in Invoices' -
invoice_report_footerHtmltranslate=True
-
create(self, vals_list)@api.model_create_multi
New fields (20)
-
available_module_namesCharcompute='_compute_available_modules' -
carbon_default_data_uncertainty_percentageFloatreadonly=Falserelated='company_id.carbon_default_data_uncertainty_percentage' -
carbon_in_factor_idMany2onereadonly=Falserelated='company_id.carbon_in_factor_id'string='Emission Factor Purchases' -
carbon_lock_dateDatereadonly=Falserelated='company_id.carbon_lock_date' -
carbon_out_factor_idMany2onereadonly=Falserelated='company_id.carbon_out_factor_id'string='Emission Factor Sales' -
extra_module_namesCharcompute='_compute_available_modules' -
invoice_display_co2Booleanreadonly=Falserelated='company_id.invoice_display_co2' -
invoice_report_footerHtmlreadonly=Falserelated='company_id.invoice_report_footer'translate=True -
module_sustainability_account_assetBoolean -
module_sustainability_account_asset_managementBoolean -
module_sustainability_employee_commutingBoolean -
module_sustainability_hr_expense_reportBoolean -
module_sustainability_mis_builderBoolean -
module_sustainability_point_of_saleBoolean -
module_sustainability_product_label_printBoolean -
module_sustainability_purchaseBoolean -
module_sustainability_purchase_stockBoolean -
module_sustainability_saleBoolean -
module_sustainability_stockBoolean -
module_sustainability_website_saleBoolean
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (4)
-
carbon_in_modeSelectionrecursive=True -
carbon_line_origin_idsOne2many → carbon.line.origincomodel_name='carbon.line.origin'inverse_name='move_line_partner_id'string='Origins' -
carbon_out_modeSelectionrecursive=True -
has_computed_carbon_modeBooleandefault=False
No public methods.
New fields (10)
-
action_plan_idsMany2many → sustainability.action.planrequired=False args: 'sustainability.action.plan' -
action_plan_qtyIntegercompute='_compute_action_plan_qty' -
activeBooleandefault=True -
budgetSelectionrequired=Truetracking=True args: _levels -
complexitySelectionrequired=Truetracking=True args: _levels -
descriptionTextrequired=Truetracking=True -
imageImagemax_height=1920max_width=1920required=False -
nameCharrequired=Truetracking=True -
reduction_potentialSelectionrequired=Truetracking=True args: _levels -
scenario_qtyIntegercompute='_compute_scenario_qty'
-
action_see_action_plans(self) -
action_see_scenarios(self)
New fields (8)
-
action_idsMany2many → sustainability.actionstring='Actions' args: 'sustainability.action' -
action_qtyIntegercompute='_compute_action_qty' -
activeBooleandefault=True -
descriptionTextrequired=Truetracking=True -
end_dateDaterequired=Truetracking=True -
nameCharrequired=Truetracking=True -
scenario_idMany2one → sustainability.scenarioondelete='restrict'required=Truetracking=True args: 'sustainability.scenario' -
start_dateDaterequired=Truetracking=True
-
action_see_actions(self)
New fields (1)
-
nameCharhelp='Examples: Physical control, Operational control, Share of capital'required=True
No public methods.
New fields (4)
-
approach_idMany2one → sustainability.approachcomodel_name='sustainability.approach'required=True -
is_defaultBooleandefault=Falsehelp='Allows defining a default characterization for the chosen approach for the default nomenclature. For example, for "Energy" -> "Non-operated"' -
nameCharhelp='Examples: Operated, Non-operated, Supported, Non-operated, Unsupported'required=True -
regulatory_nomenclature_category_idMany2one → sustainability.nomenclature.categorycomodel_name='sustainability.nomenclature.category'required=True
No public methods.
New fields (3)
-
is_defaultBooleandefault=Falsehelp='To manage categories of the regulatory method (Energy, Non-Energy, Inputs...) guiding the characterizations (Physical control, Operational control...)' -
nameCharhelp='Examples: Carbon Balance, GHG Protocol, ISO/TR 14069, Regulatory Method'required=True -
urlCharrequired=True
No public methods.
New fields (4)
-
descriptionCharrequired=True -
nameCharhelp='Examples: Direct GHG emissions, Indirect emissions associated with energy'required=True -
nomenclature_idMany2one → sustainability.nomenclaturecomodel_name='sustainability.nomenclature'required=True -
reporting_sectionCharrequired=True
No public methods.
New fields (5)
-
approach_characterization_idMany2one → sustainability.approach.characterizationcomodel_name='sustainability.approach.characterization' -
emission_factor_category_idMany2one → carbon.factorcomodel_name='carbon.factor' -
emission_factor_type_idMany2one → carbon.factor.typecomodel_name='carbon.factor.type' -
nomenclature_sub_category_idMany2one → sustainability.nomenclature.sub_categorycomodel_name='sustainability.nomenclature.sub_category'required=True -
rule_orderIntegerhelp='Move items up/down'required=True
No public methods.
New fields (8)
-
activity_dataChar -
category_idMany2one → sustainability.nomenclature.categorycomodel_name='sustainability.nomenclature.category'required=True -
descriptionCharrequired=True -
emission_sourcesChar -
examplesChar -
nameCharhelp='Examples: Direct emissions from fixed combustion sources, Upstream freight transport'required=True -
other_informationChar -
reporting_sectionCharrequired=True
No public methods.
New fields (7)
-
action_plan_idsOne2many → sustainability.action.planargs: 'sustainability.action.plan', 'scenario_id' -
action_plan_qtyIntegercompute='_compute_action_plan_qty' -
action_qtyIntegercompute='_compute_action_qty' -
activeBooleandefault=True -
descriptionTextrequired=Truetracking=True -
end_dateDaterequired=Truetracking=True -
nameCharrequired=Truetracking=True
-
action_see_action_plans(self) -
action_see_actions(self)
New fields (1)
-
sustainability_is_physicalBooleancompute='_compute_sustainability_is_physical'readonly=Falsestore=Truestring='Is physical'
No public methods.
Loading…
Loading…
Loading…