Releases: fivetran/dbt_zuora
Releases · fivetran/dbt_zuora
v0.3.2 dbt_zuora
This release introduces the following updates.
Bug Fixes
- Resolved flipped logic around the
zuora__using_multicurrency
variable. (#22)- Ensured that, for multicurrency users,
*_amount_home_currency
fields are used and that*_amount
values are used for single-currency users. Previously, this was erroneously flipped. The models impacted include:zuora__line_item_history
: This affects thegross_revenue
anddiscount_revenue
values (these values are then used to calculatenet_revenue
).zuora__monthly_recurring_revenue
: This affects themrr_expected_current_month
value.int_zuora__transaction_grouped
: This affects daily amount values for invoices, discounts, taxes and credit balance adjustments to flow downstream into thezuora__account_daily_overview
model.
- Customers must set the
zuora__using_multicurrency
variable totrue
to enable multicurrency. (#22)
- Ensured that, for multicurrency users,
- Leveraged the
{{ dbt.type_timestamp() }}
macro within staging models for all timestamp fields. Certain Redshift warehouses sync these fields astimestamp with time zone
fields by default, causing errors in thezuora
package. This macro appropriately removes timezone values from the UTC timestamps and ensures successful compilations of these models.- For more details, please refer to the dbt_zuora_source v0.2.2 release.
- Also cast
subscription_period_started_at
andsubscription_period_ended_at
as{{ dbt.type_timestamp() }}
inzuora__line_item_enhanced
to remove date/timestamp mismatches on theunion all
function. (#20)
Under the Hood
- Replaced the deprecated
dbt.current_timestamp_backcompat()
function withdbt.current_timestamp()
to ensure all timestamps are captured in UTC. (#20)- This change is applied in the following end models:
zuora__billing_history
zuora__line_item_history
zuora__subscription_overview
- As well as the intermediate models:
int_zuora__account_enriched
int_zuora__mrr_date_spine
int_zuora__transaction_date_spine
- This change is applied in the following end models:
- Added consistency tests within
integration_tests
for thezuora__billing_history
,zuora__monthly_recurring_revenue
andzuora__subscription_overview
models. (#20 & #22) - Updated
run_models.sh
to remove duplicative Buildkite script.
Documentation
- Added Quickstart model counts to README. (#19)
- Corrected references to connectors and connections in the README. (#19)
Full Changelog: v0.3.1...v0.3.2
v0.3.2-a2 dbt_zuora
This pre-release introduces the following updates.
Bug Fixes
- Flipped the variable logic in
zuora__using_multicurrency
in these models so that the*_amount
values are called by default rather than*_amount_home_currency
when the variable isn't set: (#22)zuora__line_item_history
: For setting thegross_revenue
anddiscount_revenue
values (these values are then used to calculatenet_revenue
).zuora__monthly_recurring_revenue
: For setting themrr_expected_current_month
value.int_zuora__transaction_grouped
: For setting daily amount values for invoices, discounts, taxes and credit balance adjustments to flow downsteram into thezuora__account_daily_overview
model.
- Multicurrency customers must set the
zuora__using_multicurrency
variable totrue
to enable that functionality. (#22)
Under the Hood
- Created consistency test within
integration_tests
for thezuora__monthly_recurring_revenue
model. (#22) - Updated
run_models.sh
to remove duplicative Buildkite script.
Full Changelog: v0.3.2-a1...v0.3.2-a2
v0.3.2-a1 dbt_zuora
This pre-release introduces the following updates.
Bug Fixes (originating within the upstream zuora_source
package):
- Leveraged the
{{ dbt.type_timestamp() }}
macro within staging models for all timestamp fields. Certain Redshift warehouses sync these fields astimestamp with time zone
fields by default, causing errors in thezuora
package. This macro appropriately removes timezone values from the UTC timestamps and ensures successful compilations of these models. - For more details, please refer to the relevant dbt_zuora_source v0.2.2-a1 release.
- Updated
subscription_period_started_at
andsubscription_period_ended_at
with the{{ dbt.type_timestamp() }}
cast inzuora__line_item_enhanced
to remove date/timestamp mismatches on theunion all
function. (#20)
Under the Hood
- Replaced the deprecated
dbt.current_timestamp_backcompat()
function withdbt.current_timestamp()
to ensure all timestamps are captured in UTC. (#20) - This change is applied in the following end models:
zuora__billing_history
zuora__line_item_history
zuora__subscription_overview
- As well as the intermediate models:
int_zuora__account_enriched
int_zuora__mrr_date_spine
int_zuora__transaction_date_spine
- Added consistency tests within
integration_tests
for thezuora__billing_history
andzuora__subscription_overview
models. (#20)
Documentation
- Added Quickstart model counts to README. (#19)
- Corrected references to connectors and connections in the README. (#19)
Full Changelog: v0.3.1...v0.3.2-a1
v0.3.1 dbt_zuora
PR #18 includes the following updates:
Fixes
- Removed
zuora__line_item_enhanced
from the publicquickstart.yml
models, as it's disabled by default.
Documentation Update
- Moved badges at top of the README below the H1 header to be consistent with popular README formats.
Full Changelog: v0.3.0...v0.3.1
v0.3.0 dbt_zuora
PR #13 includes the following breaking changes:
Feature Updates
- Addition of the
zuora__line_item_enhanced
model. This model constructs a comprehensive, denormalized analytical table that enables reporting on key revenue, subscription, customer, and product metrics from your billing platform. It’s designed to align with the schema of the*__line_item_enhanced
model found in Zuora, Recharge, Stripe, Shopify, and Recurly, offering standardized reporting across various billing platforms. To see the kinds of insights this model can generate, explore example visualizations in the Fivetran Billing Model Streamlit App. Visit the app for more details.- This model is currently disabled by default. You may enable it by setting the
zuora__standardized_billing_model_enabled
astrue
in yourdbt_project.yml
.
- This model is currently disabled by default. You may enable it by setting the
Under the Hood:
- Updated the pull request templates.
- Included auto-releaser GitHub Actions workflow to automate future releases.
Full Changelog: v0.2.1...v0.3.0
v0.2.1 dbt_zuora
PR #10 includes the following breaking changes:
🔧 Fixes
- Updated
zuora__line_item_history
so that alltax_amount_home_currency
values associated with a giveninvoice_item_id
are summed rather than simply joined. This ensures the grain for this model is kept at theinvoice_item_id
level. - Updated surrogate key
subscription_key
inzuora__subscription_overview
to includeamendment_id
. This accounts for multiple amendments associated with the same record.
Full Changelog: v0.2.0...v0.2.1
v0.2.0 dbt_zuora
PR #8 includes the following breaking changes:
🚨 Breaking Changes 🚨
- Redesigned
zuora__billing_history
soinvoice_id
was the actual grain, accounting for the cases when invoices can be tied to multiple credit balance adjustments and payments. This required the following steps:- All metrics associated with
credit_balance_adjustment_id
inint_zuora__billing_enriched
were aggregated on the invoice level (number of credit balance adjustments,total credit balance amount in home currency, first and last dates of credit balance adjustments on the invoice). Fields associated with an individualcredit_balance_adjustment_id
were removed. - All metrics associated with
payment_id
inint_zuora__billing_enriched
were aggregated on the invoice level (number of payments, total payment amount in home currency, first and last dates of payments on the invoice). Fields associated with an individualpayment_id
were removed. - Aggregated count of
payment_method_id
to gather a count of payment methods on each invoice. - A full list of field changes in
zuora__billing_history
is provided below:
- All metrics associated with
Zuora__billing_history updates | Field changes |
---|---|
Added payment fields | payments , first_payment_date , most_recent_payment_date , payment_methods |
Modified payment fields (aggregated line items) | invoice_amount_unpaid_home_currency |
Removed payment fields | payment_id , payment_number , payment_date , payment_status , payment_type |
Added credit balance adjustment fields | credit_balance_adjustments , first_credit_balance_adjustment_date , most_recent_credit_balance_adjustment_date |
Modified credit balance adjustment fields (aggregated line items) | credit_balance_adjustment_amount_home_currency |
Removed credit balance adjustment fields | credit_balance_adjustment_id , credit_balance_adjustment_number , credit_balance_adjustment_reason_code , credit_balance_adjustment_date |
Added payment method fields | payment_methods |
Removed payment method fields | payment_method_id , payment_method_type , payment_method_subtype , is_payment_method_active |
- Updated yml of
zuora__billing_history
with aggregated fields, and removed non-aggregated fields associated with credit balance adjustments, payments, and payment methods. - Modified
int_zuora__account_enriched
to account for new aggregated metric fields being pulled fromzuora__billing_history
.
🔧 Under The Hood 🔩
- Updated seed files in
integration_tests
to reproduce the initialinvoice_id
uniqueness test issue for multiple credit balance adjustments and payments for one invoice.
Full Changelog: v0.1.0...v0.2.0
v0.1.0 dbt_zuora
🎉 This is the initial release of this package! 🎉
📣 What does this dbt package do?
- Produces modeled tables that leverage Zuora data from Fivetran's connector in the format described by this ERD and build off the output of our Zuora source package.
- The above mentioned models enable you to better understand your Zuora performance metrics at different granularities. It achieves this by:
- Providing intuitive reporting at the account and the subscription levels.
- Creates a billing history model at the invoice level and a line item history model to evaluate data at the invoice item level.
- Builds a daily overview of account balance activity using the billing history data.
- Generates a monthly recurring revenue table at the account level.
- A churn analysis model is also available in the analysis folder to evaluate account churn at the monthly level. More details area available in the DECISIONLOG.
- Generates a comprehensive data dictionary of your source and modeled Zuora data through the dbt docs site.
For more information, refer to the README.