Store information on how payments are processed (revenue splits, when currency exchanges are made and with what rates, etc.) and time periods for each.
Ensure the timescale-granularity with which payment data is stored is high enough to accurately reconcile payments. A new time period needs to start if there is a rule change (any payment pointer change, large exchange rate change, etc.), Ultimately, there can be a second value (e.g. a fiat currency value) which mirrors the rules that the receiving service has for exchange rates and when exchanges are done.
The UI should show the amount that should be in each destination account in the currency that it is ultimately in, and also the raw data and ruleset used to produce that number. Both exportable as CSV, and in an easy-to-read table.
Store information on how payments are processed (revenue splits, when currency exchanges are made and with what rates, etc.) and time periods for each.
Ensure the timescale-granularity with which payment data is stored is high enough to accurately reconcile payments. A new time period needs to start if there is a rule change (any payment pointer change, large exchange rate change, etc.), Ultimately, there can be a second value (e.g. a fiat currency value) which mirrors the rules that the receiving service has for exchange rates and when exchanges are done.
The UI should show the amount that should be in each destination account in the currency that it is ultimately in, and also the raw data and ruleset used to produce that number. Both exportable as CSV, and in an easy-to-read table.