Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
111 changes: 111 additions & 0 deletions spreadsheet_dashboard_subscription_oca/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=======================================
Subscription OCA Spreadsheet Dashboards
=======================================

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

.. |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%2Fspreadsheet-lightgray.png?logo=github
:target: https://github.com/OCA/spreadsheet/tree/19.0/spreadsheet_dashboard_subscription_oca
:alt: OCA/spreadsheet
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/spreadsheet-19-0/spreadsheet-19-0-spreadsheet_dashboard_subscription_oca
: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/spreadsheet&target_branch=19.0
:alt: Try me on Runboat

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

This module adds spreadsheet dashboards for subscriptions, built on top
of the community ``spreadsheet_dashboard`` engine and the analysis
models provided by ``subscription_oca``. No enterprise dependency is
required.

It ships four ready-to-use dashboards under the **Dashboards**
application, in a dedicated *Subscriptions* group:

- **Subscriptions**: monthly/annual recurring revenue, active
subscriptions and average MRR, with breakdowns by template, product
category, sales team, salesperson, start month and stage.
- **Salesperson**: recurring revenue and number of subscriptions broken
down by salesperson and sales team.
- **MRR Evolution**: net/new/churned MRR and the cumulated MRR over
time, with a monthly new-vs-churn breakdown. MRR change events are
derived from the current state of the subscriptions (a positive event
at the start date and a negative one at the closing date); mid-life
expansion/contraction is not tracked, which would require a dedicated
MRR event log.
- **Retention**: cohort sizes and recurring revenue per start month,
plus a retention/survival curve built from the start and closing
dates.

All dashboards expose global filters (salesperson, sales team, customer,
template) and refresh automatically from the subscription analysis
models.

**Table of contents**

.. contents::
:local:

Usage
=====

Open the **Dashboards** application. The four dashboards are available
in the *Subscriptions* group. Use the filters at the top (salesperson,
sales team, customer, template) to narrow down the figures. The data is
aggregated from the ``sale.subscription.report``,
``sale.subscription.mrr.report`` and
``sale.subscription.retention.report`` analysis models and refreshes
automatically.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/spreadsheet/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/spreadsheet/issues/new?body=module:%20spreadsheet_dashboard_subscription_oca%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
-------

* Domatix

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.

This module is part of the `OCA/spreadsheet <https://github.com/OCA/spreadsheet/tree/19.0/spreadsheet_dashboard_subscription_oca>`_ 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 spreadsheet_dashboard_subscription_oca/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Copyright 2026 Domatix - Alvaro Domatix
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import models
19 changes: 19 additions & 0 deletions spreadsheet_dashboard_subscription_oca/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2026 Domatix - Alvaro Domatix
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Subscription OCA Spreadsheet Dashboards",
"version": "19.0.1.0.0",
"license": "AGPL-3",
"author": "Domatix, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/spreadsheet",
"category": "Productivity/Dashboard",
"summary": "Spreadsheet dashboards for subscriptions (MRR, salesperson)",
"depends": ["spreadsheet_dashboard", "subscription_oca"],
"data": [
"security/ir.model.access.csv",
"report/sql_report_views.xml",
"data/spreadsheet_dashboards.xml",
],
"auto_install": True,
"development_status": "Beta",
}
Loading
Loading