Breaking Change - Potential Change in Values May Impact Downstream Queries
- The aggregated net, gross, sale, charge, refund, and fee amount-based fields in
stripe__daily_overviewandstripe__customer_overviewnow reflect the raw smallest units (e.g., cents), following Stripe's raw data, instead of converted dollar amounts. This change standardizes values across all models.- Customers using these models should note that the values will appear inflated compared to the previous dollar-based representation.
- The cent-to-dollar conversion has been moved upstream and is now controlled by a new variable:
stripe__convert_valueswhich is disabled by default. - See the below Feature Update notes for more context behind these changes and for detailed setup instructions, see the README.
Feature Update: Optional Conversion to Major Units
Stripe passes amount-based fields, such as amount, net, and fee, in the smallest denomination as raw form. This means, if your currency has minor and major units such as USD, 100 represents 100 cents, the minor unit, or 1 USD, the major unit. Alternatively, if your currency doesn't use minor units such as JPY, 100 represents 100 JPY.
- This PR introduces a variable
stripe__convert_values(disabled by default) upstream in the staging models which allows users the option to divide all amount-based fields by 100.- For information on how to enable the division, refer to the README on configuring the
stripe__convert_valuesvariable. - Otherwise, amount-based fields will be brought through in their raw form.
- Examples of currencies using minor units (in which enabling
stripe__convert_valuesis relevant) include United States Dollar (USD), Euro (EUR), and the Canadian Dollar (CAD). - Examples of currencies NOT using minor units (in which it makes more sense to keep the amount-based fields in raw form) include Japanese Yen (JPY), Indonesian Rupiah (IDR), and Korean Won (KRW).
- For information on how to enable the division, refer to the README on configuring the
Notes
- This update is not providing multiple currency support; however, we're interested in exploring this functionality if there's a need. As such, we have created a feature request to support multiple currencies where you are welcome to provide feedback or contribute to the discussion.
Under the Hood
- Updated the
run_models.shscript to test for whenstripe__convert_valuesis set to True. - Added a consistency test for
stripe__customer_overview.
Documentation
- Updated the descriptions for all amount-based fields to specify the grain of the values and add information about the
stripe__convert_valuesvariable. - Added Quickstart model counts to README. (#103)
- Corrected references to connectors and connections in the README. (#103)
Full Changelog: v0.15.1...v0.16.0