Skip to content

v0.16.0 dbt_stripe

Latest
Compare
Choose a tag to compare
@fivetran-data-model-bot fivetran-data-model-bot released this 23 Jan 16:17
ec24e58

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_overview and stripe__customer_overview now 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_values which 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_values variable.
    • Otherwise, amount-based fields will be brought through in their raw form.
    • Examples of currencies using minor units (in which enabling stripe__convert_values is 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).

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.sh script to test for when stripe__convert_values is 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_values variable.
  • 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