This differential maintains a changelog entry for every modification to an entitlement, as it happens.
After a period of time (most notably, 13 days, 14 days, 15 days, 1 month, 2 months, etc.), the expected charges can be calculated from that changelog.
There's a number of TODOs left;
* Actual charging of the wallet.[x] Pro rata temporis calculation
* Prediction of the next[] Actual charge (when, what and how much)ing of the wallet.
* Collate the 'creating' and 'charging' queries to ->sum() the values of the columns.[] Prediction of the next charge (when, what and how much)
*[] Collate the 'creating' and 'charging' queries to ->sum() the values of the columns.
[] Evaluate the number of duplicate 'cost' columns
[] subscription period for the sku (i.e. domain registered with us -> yearly)