[19.0][ADD] spreadsheet_dashboard_subscription_oca: subscription dashboards#1472
Closed
alvaro-domatix wants to merge 3 commits into
Closed
[19.0][ADD] spreadsheet_dashboard_subscription_oca: subscription dashboards#1472alvaro-domatix wants to merge 3 commits into
alvaro-domatix wants to merge 3 commits into
Conversation
Add two stored computed monetary fields on `sale.subscription`: * `recurring_monthly` — sum of the subscription lines normalised to a monthly amount (Monthly Recurring Revenue). * `recurring_yearly` — twelve times the monthly figure (Annual Recurring Revenue). Each line also exposes its own `recurring_monthly`, derived from `price_subtotal` and the template recurrence. A line that bills every N `days`, `weeks`, `months` or `years` is converted to months using 30.4375 average days per month for sub-monthly cadences and a direct multiplier otherwise, then divided by the `recurring_interval`. This makes subscriptions of different cadences directly comparable and sum-able, so reports can answer the basic "how much do I bill per month?" question without external spreadsheets. The fields are visible as a new MRR/ARR stat button on the subscription form, as optional columns with sum aggregation on the list view, and as a "With recurring revenue" filter on the search view. Migration: pure ORM recompute on `-u subscription_oca`. Expect roughly two seconds per ten thousand subscription lines.
popadron
reviewed
Jun 24, 2026
popadron
left a comment
There was a problem hiding this comment.
From my perspective, this addon would fit better in OCA/spreadsheet
Add a Reporting menu to analyse subscriptions with pivot and graph views, in the spirit of the Enterprise subscription reports but based only on community views: - New sale.subscription.report SQL view with one row per subscription line, exposing the customer, template, product, category, stage, close reason, salesperson, team, dates and the monthly/annual recurring revenue in company currency. - Three actions under Subscriptions > Reporting: Subscriptions Analysis, MRR Breakdown (running subscriptions by template and product) and Churn Analysis (closed subscriptions and lost revenue by close reason). - Read access for salesmen and a multi-company record rule on the report model.
…for subscriptions
d21be03 to
18147fe
Compare
Author
|
Following @popadron's placement review, this addon has been moved to its natural home in OCA/spreadsheet, where the rest of the ➡️ Continued in OCA/spreadsheet#118 (OCA/spreadsheet#118). Closing this one in favour of that PR. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds ready-to-use spreadsheet dashboards for subscriptions, built on the community
spreadsheet_dashboardengine with no Enterprise dependency. Four dashboards are shipped under a dedicated Subscriptions group in the Dashboards app (auto_installwires them up when bothspreadsheet_dashboardandsubscription_ocaare present):All dashboards expose global filters (salesperson, sales team, customer, template).