OdooWiki OCA HUB

Sustainability

sustainability folder_open OCA/sustainability open_in_new
Accounting/Sustainability License: LGPL-3

The Odoo Sustainability Module is designed to seamlessly integrate sustainability management and the carbon CO2 emissions footprint computation into your Odoo ERP system. This module empowers businesses to track, manage, and improve their environmental impact directly within Odoo. This tool is designed with the GHG Protocol in mind to facilitate CSRD compliance. More details on MyCompanyCO2

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Track the CO2 equivalent footprint of your accounting entries directly in Odoo. Emission factors can be attached to accounts, products, suppliers and contacts, and the resulting carbon amounts appear on invoices, journal entries and analytic lines.

This module adds a carbon (CO2 equivalent) layer on top of standard accounting. You maintain a library of emission factors, each with one or more values over time, a compute method (physical or monetary), an uncertainty percentage, a country or country group, and a hierarchy of parent/child factors. Factors can be linked to accounts, products, product categories, suppliers and contacts, and can be split across several factors using distribution templates whose percentages must add up to 100%.

On invoices and journal entries, each line gets computed carbon fields: CO2 debit, CO2 credit, CO2 balance, uncertainty, and a flag telling whether the line is carbon positive. The move itself shows a total CO2 equivalent and a CO2 uncertainty. A button lets you force a recomputation of carbon values on the lines. Lines dated before the company carbon lock date are excluded from recomputation.

Carbon amounts are also pushed into analytic lines, so you can analyse your footprint by analytic plan. Smart buttons on forms open the list of carbon origins, i.e. the detailed factor values behind each computed amount. A dedicated report prints the carbon factor values, and the invoice report is extended. Configuration options are available in the settings, and a carbon currency (kgCO2e) is provided.

Depends on

accountweb_hierarchy

Menus it adds

SustainabilityCarbon FootprintEmission FactorsEmission Factor DatabasesEmission Factor ContributorsEmission Factor TypesDistributionsDistribution TemplatesDecarbonizationScenariosAction PlansActionsReportingEmission Factors By VintageConfigurationSettingsNomenclaturesOverviewCategoriesSub CategoriesApproachesCharacterizations
Models and fields (30)
  • uom.uom · extends an existing modelsustainability_is_physical (Is physical)
  • res.company · new modelcarbon_lock_date (CO2e Computation Lock Date), carbon_in_is_manual, invoice_display_co2 (Display CO2 in Invoices), carbon_out_is_manual, invoice_report_footer, carbon_default_data_uncertainty_percentage
  • res.country · new model
  • res.partner · new modelcarbon_in_mode, carbon_out_mode, carbon_line_origin_ids (Origins), has_computed_carbon_mode
  • account.move · new modelcarbon_balance (CO2 Equivalent), carbon_currency_id, carbon_uncertainty_value (CO2 Uncertainty)
  • carbon.mixin · new modelmodel_name, carbon_in_mode, carbon_out_mode, carbon_in_factor_id (Emission Factor Purchases), carbon_in_is_manual, carbon_out_factor_id (Emission Factor Sales), carbon_out_is_manual, carbon_in_value_origin (Value origin), carbon_out_value_origin (Value origin ), carbon_in_use_distribution (Use Distribution), carbon_out_use_distribution (Use Distribution ), carbon_in_fallback_reference (Fallback record), carbon_out_fallback_reference (Fallback record ), carbon_in_distribution_line_ids, carbon_in_has_valid_distribution, carbon_out_distribution_line_ids, carbon_out_has_valid_distribution, carbon_in_distribution_template_id (Distribution Template), carbon_out_distribution_template_id (Distribution Template)
  • carbon.factor · new modelname, root, color, active, comment, category, sequence, child_ids, child_qty, hierarchy, parent_id (Parent), value_ids (Value List), country_id (Country), unit_label, carbon_date, contact_qty, parent_path, carbon_value (Value), carbon_uom_id, ghg_view_mode (Show greenhouse gases detail), descendant_ids, recent_value_id, account_move_qty, country_group_id (Country Group), supplierinfo_qty, has_invalid_value, product_categ_qty, required_type_ids (Required Types), carbon_currency_id, carbon_database_id (Database)
  • account.account · new modelcarbon_in_factor_id, carbon_line_origin_ids (Origins)
  • product.product · new modelcarbon_line_origin_ids (Origins)
  • product.category · new modelcarbon_line_origin_ids (Origins)
  • product.template · new modelcarbon_line_origin_ids (Origins)
  • account.move.line · new modelcarbon_debit (CO2 Debit), carbon_credit (CO2 Credit), carbon_balance (CO2 Balance), is_invoice_line, carbon_supplier_id (Supplier Info), is_carbon_positive, carbon_is_date_locked
  • carbon.copy.mixin · new model
  • carbon.line.mixin · new modelcarbon_debt (CO2), carbon_is_locked, carbon_origin_ids, carbon_currency_id, carbon_origin_json, carbon_uncertainty_value (CO2 Uncertainty), carbon_data_uncertainty_percentage (CO2 Uncertainty %)
  • carbon.factor.type · new modelcode, name (Description)
  • carbon.line.origin · new modelvalue (Factor Value), res_id (Res id), uom_id, comment, move_id (Journal Entry), quantity, factor_id (Emission Factor), move_date (Invoice Date), res_model (Model), company_id, move_state (Status), carbon_value (Value), distribution, move_line_id (Journal Item), res_model_id, signed_value (Total), compute_method, factor_value_id (Factor value), move_line_label (Label), computation_level, move_line_balance (Balance), uncertainty_value, factor_category_id (Factor Category), factor_database_id (Database), factor_value_type_id (Factor Value Type), monetary_currency_id (Currency), move_line_account_id (Account), move_line_journal_id (Journal), move_line_partner_id (Partner), move_line_product_id (Product)
  • carbon.common.mixin · new modelcarbon_line_origin_qty, carbon_origin_child_ids, carbon_origin_child_qty
  • carbon.factor.value · new modeldate, comment, type_id, ch4_value (CH4 (kgCO2e)), co2_value (CO2 (kg)), factor_id, hfc_value (HFC (kgCO2e)), n2o_value (N2O (kgCO2e)), nf3_value (NF3 (kgCO2e)), pfc_value (PFC (kgCO2e)), sf6_value (SF6 (kgCO2e)), unit_label ( ), carbon_value (Total not broken down (kgCO2)), display_name, carbon_uom_id (Unit of measure), other_ghg_value (Other GHG (kgCO2e)), carbon_compute_method, carbon_currency_label, is_ghg_detailed_value, is_carbon_value_computed, carbon_monetary_currency_id (Currency)
  • res.config.settings · extends an existing modelcarbon_lock_date, extra_module_names, carbon_in_factor_id (Emission Factor Purchases), invoice_display_co2, carbon_out_factor_id (Emission Factor Sales), invoice_report_footer, available_module_names, module_sustainability_sale, module_sustainability_stock, module_sustainability_purchase, module_sustainability_mis_builder, module_sustainability_website_sale, module_sustainability_account_asset, module_sustainability_point_of_sale, module_sustainability_purchase_stock, module_sustainability_hr_expense_report, module_sustainability_employee_commuting, module_sustainability_product_label_print, carbon_default_data_uncertainty_percentage, module_sustainability_account_asset_management
  • product.supplierinfo · new model
  • account.analytic.line · extends an existing modelcarbon_debt (CO2), carbon_currency_id
  • sustainability.action · new modelname, image, active, budget, complexity, description, scenario_qty, action_plan_ids, action_plan_qty, reduction_potential
  • carbon.factor.database · new modelurl, name
  • sustainability.approach · new modelname
  • sustainability.scenario · new modelname, active, end_date, action_qty, description, action_plan_ids, action_plan_qty
  • carbon.distribution.line · new modelres_id, factor_id (Carbon Factor), res_in_id, res_model, percentage, res_out_id, carbon_type, res_model_id
  • carbon.factor.contributor · new modelname
  • carbon.factor.value.report · new modeldate, name, root, active, type_id (Type), category, factor_id (Factor), parent_id (Parent), country_id (Country), carbon_value (Average CO2 (kg)), carbon_uom_id (Unit of measure), ghg_view_mode (Show greenhouse gases detail), country_group_id (Country Group), carbon_database_id (Database), carbon_compute_method (Compute Method), carbon_contributor_id (Contributor), uncertainty_percentage (Uncertainty (%))
  • sustainability.action.plan · new modelname, active, end_date, action_ids (Actions), action_qty, start_date, description, scenario_id
  • sustainability.nomenclature · new modelurl, name, is_default

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 17.0

Confirmed on 2026-11-03 in branch 17.0 of OCA/sustainability.

terminal Installation and usage

No verified information

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.

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.