Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
8e6e492
mgmtsystem_kpi rename to kpi (#543)
naousse Dec 2, 2016
2764bd1
Increase version
ivantodorovich Dec 13, 2017
07f81b0
[MIG] kpi to v11
AdriaGForgeFlow Nov 12, 2018
a5c6dd8
[IMP] kpi: Add Kanban Views. Improve python code, Allow to access Odoo
etobella Nov 27, 2018
ab5586c
[kpi] allow to return kpi and color in a single call without thresholds.
JordiBForgeFlow Dec 28, 2018
3a448d6
[12.0][MIG] Migrate module kpi to v12
AdriaGForgeFlow Jan 2, 2019
950eb92
[ADD] icon.png
OCA-git-bot Sep 2, 2019
595e6ac
Translated using Weblate (Portuguese (Brazil))
Sep 2, 2019
66a9c3e
Update translation files
oca-transbot Sep 23, 2019
e35c627
Translated using Weblate (Portuguese (Brazil))
Nov 24, 2019
549af6c
[IMP] kpi: black, isort
Jun 4, 2020
c4fe0d3
[UPD] Update kpi.pot
oca-travis May 15, 2021
2e18f68
[UPD] README.rst
OCA-git-bot May 15, 2021
517e6b2
Apply dotfiles
sbidoul Jul 27, 2021
76437b8
kpi 13.0.1.0.1
OCA-git-bot Jul 27, 2021
eeeaa5d
Translated using Weblate (Italian)
mymage Mar 30, 2023
e6e8ad8
[UPD] README.rst
OCA-git-bot Sep 3, 2023
41487dc
Update translation files
weblate Oct 9, 2023
8947f29
Translated using Weblate (Italian)
mymage Mar 28, 2024
3ef1030
[IMP] kpi: pre-commit auto fixes
EdgarRetes Oct 9, 2024
1182c83
[UPD] Update kpi.pot
Nov 30, 2024
d89f886
[BOT] post-merge updates
OCA-git-bot Nov 30, 2024
687093a
Update translation files
weblate Nov 30, 2024
792a8ef
Translated using Weblate (Italian)
mymage Dec 2, 2024
4f8e94c
[IMP] kpi: Add chatter to kpi
max3903 Jul 25, 2025
1434af5
[UPD] Update kpi.pot
Sep 22, 2025
62de83d
[BOT] post-merge updates
OCA-git-bot Sep 22, 2025
5ceb478
Update translation files
weblate Sep 22, 2025
42ed3e9
Translated using Weblate (Italian)
mymage Oct 7, 2025
dd4ed11
[IMP] kpi: expose datetime in safe_eval context
miquelrosell99 May 20, 2026
0fd875b
[BOT] post-merge updates
OCA-git-bot May 26, 2026
bc53c58
[MIG] kpi: Migration to 18.0
max3903 Jun 13, 2026
bb73a48
[UPD] Update kpi.pot
Jun 18, 2026
3de3bcd
[BOT] post-merge updates
OCA-git-bot Jun 18, 2026
2bd7943
[MIG] kpi: Migration to 19.0
max3903 Jun 18, 2026
00acd9b
[UPD] Update kpi.pot
max3903 Jun 18, 2026
966e385
[FIX] kpi: fix pre-commit for 19.0
max3903 Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 121 additions & 0 deletions kpi/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

==========================
Key Performance Indicators
==========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:b55759a786268bb27cb57fcca6173b3aa0b4602d1d4ac6aac9c8f99c0a2764c0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github
:target: https://github.com/OCA/reporting-engine/tree/19.0/kpi
:alt: OCA/reporting-engine
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/reporting-engine-19-0/reporting-engine-19-0-kpi
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module provides the basis for creating key performance indicators,
including static and dynamic thresholds (SQL query or Python code), on
local and remote data sources.

The module also provides the mecanism to update KPIs automatically. A
scheduler is executed every hour and updates the KPI values, based on
the periodicity of each KPI. KPI computation can also be done manually.

A threshold is a list of ranges and a range is:

- a name (like Good, Warning, Bad)
- a minimum value (fixed, sql query or python code)
- a maximum value (fixed, sql query or python code)
- color (RGB code like #00FF00 for green, #FFA500 for orange, #FF0000
for red)

**Table of contents**

.. contents::
:local:

Usage
=====

Example of usage: https://www.youtube.com/watch?v=OC4-y2klzIk

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20kpi%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Savoir-faire Linux
* Gray Matter Logic

Contributors
------------

- Daniel Reis <dreis.pt@hotmail.com>
- Glen Dromgoole <gdromgoole@tier1engineering.com>
- Loic Lacroix <loic.lacroix@savoirfairelinux.com>
- Sandy Carter <sandy.carter@savoirfairelinux.com>
- Gervais Naoussi <gervaisnaoussi@gmail.com>
- Iván Todorovich <ivan.todorovich@gmail.com>
- Adrià Gil <adria.gil@eficent.com>
- `Guadaltech <https://www.guadaltech.es>`__:

- Fernando La Chica <fernando.lachica@guadaltech.es>

- `Gray Matter Logic <https://www.graymatterlogic.com>`__:

- Maxime Chambreuil <maxime.chambreuil@graymatterlogic.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px
:target: https://github.com/max3903
:alt: max3903

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-max3903|

This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/19.0/kpi>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions kpi/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
31 changes: 31 additions & 0 deletions kpi/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright 2012 - Now Savoir-faire Linux <https://www.savoirfairelinux.com/>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Key Performance Indicators",
"version": "19.0.1.0.0",
"author": "Savoir-faire Linux, Gray Matter Logic, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/reporting-engine",
"license": "AGPL-3",
"category": "Report",
"depends": ["base_external_dbsource", "spreadsheet_dashboard"],
"data": [
"security/kpi_security.xml",
"security/ir.model.access.csv",
"views/kpi_category_views.xml",
"views/kpi_history_views.xml",
"views/kpi_threshold_range_views.xml",
"views/kpi_threshold_views.xml",
"views/kpi_views.xml",
"views/menu.xml",
"data/ir_cron.xml",
],
"images": [
"images/kpi_definition.png",
"images/kpi_computation.png",
"images/kpi_threshold.png",
"images/kpi_range.png",
],
"development_status": "Beta",
"maintainers": ["max3903"],
}
11 changes: 11 additions & 0 deletions kpi/data/ir_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<odoo>
<record id="ir_cron_kpi_action" model="ir.cron">
<field name="name">Update KPI values</field>
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="model_id" ref="model_kpi" />
<field name="state">code</field>
<field name="code">model.update_kpi_value()</field>
</record>
</odoo>
Loading
Loading