Wednesday, February 5, 2025
1 change · saas-18.1
Enhancements to existing features
Subscription updates now become effective on the correct accounting date, especially when upsells happen mid-period. This prevents unrelated future changes, such as discount removals or renewals, from being applied too early and keeps subscription reporting and billing behavior aligned with the invoice timeline.
Original PR description
Before this commit, when a subscription move was posted all sale.order.log without effective_date were updated. As a result, some upsell flows could be wrong: - Create a contract, invoice it. Create…
Before this commit, when a subscription move was posted all sale.order.log without effective_date were updated. As a result, some upsell flows could be wrong: - Create a contract, invoice it. Create log is effective. - Remove discount for next year. without invoicing. The log is not effective. - A few days later, in the middle of the period, upsell and invoice the upsell. Only the upsell change log should be effective - At the end of the invoicng period, renew the contract with a new invoice: the discount log should be effective. With this commit the effective match the accouting date - A subscription start: effective_date = deferred_start_date - An upsell is invoiced: effective_date = deferred_start_date only for the log generated by the upsell - A subscription is churn or renewed: All the log without effective_date: effective_date = deferred_end_date - A subscription is reopen: All the log with the effective_date = deferred_end_date get effective_date = False task id: 4452545