Affects Version/s: 3.6.0, 4.0.0-b1
Fix Version/s: 4.3.0-b1
- Add a new setting under Settings > Company > Billing/Payment > Invoice and Charge Options above the setting "Allow Clients to Create Addons for Existing Services"
- Call the setting "Allow Addon Services to be Synchronized with their Parent Service"
- Add a tooltip that says, "When checked, newly-created addon services that match the parent's monthly or yearly terms will be prorated to the parent's renew date."
- This setting is also used by client group company settings for add/edit, so it should be available and working there too
- Create a migration that adds this company setting and enables it by default
- Update the documentation to describe this setting
- Integrate the functionality that on addon service creation from anywhere in the system, the addon can be synched with the parent service as described below
- In the admin interface, the addon can be created as a new invoice or appended to an existing invoice. We may be able to re-use the ServiceDataPresenter to calculate line items and prorate prices, otherwise we'll need to figure out how to do so otherwise
When an addon service is created from
- An order form
- The admin interface
- The client interface
... the addon should be set the same renew date as the parent service and prorated to that date iff the following conditions are met:
- The setting is enabled to allow addon services to be synchronized with their parent on creation (this is a new setting added for this task)
- The addon term and period are the same as the parent service
- The service periods are either 'month' or 'year'
- The addon package does not have pro rata enabled
When an addon service is created it will renew on the anniversary of its creation date. Instead, addon services should be prorated and synchronized to renew at the same time as their parent services if possible.
- The addon service is for the same term and period as the parent, with the exception of one-time services
- The addon package does not have "Enable Pro rata" enabled. This option should take precedence.
It is probably a good idea to add a new setting, enabled by default, for this behavior. It may be desirable for some people to keep these out of sync, and this will maintain backwards compatibility.