Spike: Remove dependence on Order model for paid Subscriptions
Problem
As outlined in the Zuora SSOT discussion paper, the Order model contains duplicated data with Zuora. This duplication leads to data integrity problems that are difficult to sort out due to a lack of clarity on the source of truth. More Pros and Cons are listed in the discussion paper.
Proposal
Determine a plan for transitioning away from using orders for paid subscriptions. We must still use orders for trials (at least until a better plan arises) as these are not stored in Zuora.
These items were identified in the discussion paper as being part of the desired state:
- For GL.com subs, we may need to add a custom field on the Subscription object to store the namespace ID.
- When a customer changes the associated namespace on the portal, we may need to sync this info with Zuora.
- A custom field may be needed on the Zuora subscription to manage the CI minutes sync (last_extra_ci_minutes_sync_at).
- A similar custom field will be required for self managed subs in order to avoid sending the same license key twice.
Some fields from the orders
table will likely no longer be necessary when the SOR for paid subscriptions is Zuora. Information about fields being removed can be found at https://docs.google.com/spreadsheets/d/1TSeaQlMG8zopRqR_0ZcX0IKLN3IpIb3AY-36m6p6pc4/edit#gid=0.