$ 173.10
In-App Purchases| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Subscriptions (sale_subscription)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 340 |
| Technical Name |
sale_subscription_group_invoice |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Subscriptions (sale_subscription)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 340 |
| Technical Name |
sale_subscription_group_invoice |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Versions | 18.0 19.0 |
Group Subscription Invoices by Commercial Partner
For each commercial partner will group subscription invoices based on the template and company.
Overview
When a customer has several active subscriptions, Odoo's recurring
invoice cron creates one invoice per subscription. This module
extends the standard sale_subscription.invoice_consolidation
mechanism with a per-partner toggle, so customers flagged for
grouping receive one consolidated invoice covering all their
subscriptions, while everyone else keeps individual invoices.
A second per-partner field, Subscription Invoice Day, pins the day of the month at which the partner's recurring invoices are generated (1–28). When set, the first invoice date of every new subscription is normalised to that day — useful to align billing on a single date per customer, regardless of when each subscription actually starts.
The grouping logic plugs into the recurring-invoice cron: at every run, eligible subscriptions are split between grouped and non-grouped partners and each group is processed separately, so existing automation continues to work without changes.
Built & supported by NextERP Romania
Romanian Odoo specialists, here for the long run — from implementation to localization and day-to-day production support.
What we do
Odoo Solutions
From quick-start rollouts to multi-company deployments and custom modules built for your processes.
Romanian Localization
SAF-T (D406), e-Factura, e-Transport, D300 / D390 / D394, ANAF integration, full chart of accounts and fiscal positions.
Our Services
Implementation, customization, migration, integration, support and consultancy — Romanian-speaking, SLA-backed.
Features
- Per-partner grouping toggle — the new Group Invoice Subscriptions checkbox on the partner form decides, customer by customer, whether their recurring invoices are consolidated into a single document or generated one per subscription.
- Defaults to grouped —
subscription_group = Truefor new partners, matching the most common business case (one invoice per customer per cycle). - Auto-enables the consolidation parameter — ticking the
checkbox automatically sets
sale_subscription.invoice_consolidation = True, so the two features stay in sync without an extra config step. - Custom invoice day — the Subscription Invoice Day integer (1–28) pins the recurring invoice date to a chosen day of the month; the first invoice date is shifted forward when the start date is later in the month.
- Cron-aware splitting — the recurring-invoice cron splits
eligible subscriptions into grouped vs non-grouped and calls
the super implementation for each set, with
no_grouping=Truefor the non-grouped one. - Postpaid safety — for fully-postpaid subscriptions with a partner-specific invoice day and no invoice yet, the next invoice date is left untouched so the first cycle is not skipped.
Configuration
Grouping is decided on the partner record; the related global parameter is enabled automatically when needed.
-
As a Sales Administrator, open Contacts → → Accounting. In the Subscription Invoice group you will find two new fields:
- Group Invoice Subscriptions — tick to consolidate every recurring invoice run for this customer into a single invoice; untick to keep one invoice per subscription.
- Subscription Invoice Day — integer between 1 and 28. When set, every subscription created for this partner is normalised so its first invoice date falls on that day of the month.


-
Save. The first time you tick Group Invoice Subscriptions, the global parameter
sale_subscription.invoice_consolidationis set to True automatically — there is no separate switch to flip in the Settings page. -
New subscriptions inherit the day-of-month rule via
_compute_next_invoice_date: if the subscription starts after the configured day, the first invoice rolls to the next month; otherwise it stays in the current month.
Mixing modes is supported: you can have grouped and non-grouped partners in the same database — the recurring-invoice cron processes each set independently.
How it works
The module is fully driven by the recurring-invoice cron — once partners are configured, no extra action is needed at billing time.
-
Each time the Sale Subscription: generate recurring invoices cron runs, eligible subscriptions are fetched and split in two sets based on the partner-level Group Invoice Subscriptions flag.
-
For partners with the flag ticked, all their due subscriptions are consolidated: every subscription contributes its invoice lines to a single
account.movefor that partner / template / company.

Opening either subscription's Invoices shows the same shared invoice with all subscription lines merged.

-
For partners with the flag unticked, the cron falls back to the standard Odoo behaviour — one invoice per subscription — using the
no_grouping=Truecontext. -
When the partner has a Subscription Invoice Day configured, the first invoice of every new subscription for that partner is aligned to that day, so all the customer's subscriptions end up sharing the same monthly cycle and can be grouped cleanly on the next run.
The module is compatible with sale_subscription_suspended_periods
(a dependency), so suspension days continue to be deducted line by
line before the lines are consolidated.
Versions
19.0.1.0.1 (2026-05-25)
- Changelog tracking starts at this release.
Discover the NextERP suite
Other modules from the same publisher, built to work together.
NextERP Romania
Odoo implementation, customization, Romanian localization and long-term support since 2018.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.





Please log in to comment on this module