Skip to content

Commit 2e0b297

Browse files
Modify class coalesce order, update CHANGELOG and yml
1 parent 0ea5062 commit 2e0b297

20 files changed

+80
-71
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# New feature
2+
- Addition of `class_id` to `quickbooks__general_ledger` and `quickbooks_general_ledger_by_period`, provide class values for all relevant models.
13
# dbt_quickbooks_source v0.6.0
24
## 🚨 Breaking Changes 🚨:
35
[PR #51](https://github.com/fivetran/dbt_quickbooks/pull/51) includes the following breaking changes:

models/double_entry_transactions/int_quickbooks__bill_double_entry.sql

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ items as (
2020
item.*,
2121
parent.expense_account_id as parent_expense_account_id,
2222
parent.income_account_id as parent_income_account_id
23-
from {{ref('stg_quickbooks__item')}} item
23+
from {{ ref('stg_quickbooks__item') }} item
2424

25-
left join {{ref('stg_quickbooks__item')}} parent
25+
left join {{ ref('stg_quickbooks__item') }} parent
2626
on item.parent_item_id = parent.item_id
2727
),
2828

@@ -35,7 +35,7 @@ bill_join as (
3535
coalesce(bill_lines.account_expense_account_id, items.expense_account_id, items.parent_expense_account_id, items.expense_account_id, items.parent_income_account_id, items.income_account_id) as payed_to_account_id,
3636
bills.payable_account_id,
3737
coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,
38-
coalesce(bill_lines.account_expense_class_id, bill_lines.item_expense_class_id) as class_id,
38+
coalesce(bill_lines.item_expense_class_id, bill_lines.account_expense_class_id) as class_id,
3939
bills.vendor_id
4040
from bills
4141

models/double_entry_transactions/int_quickbooks__credit_card_pymt_double_entry.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Table that creates a debit record to the associated bank account and a credit re
77

88
with credit_card_payments as (
99
select *
10-
from {{ref('stg_quickbooks__credit_card_payment_txn')}}
10+
from {{ ref('stg_quickbooks__credit_card_payment_txn') }}
1111
where is_most_recent_record
1212
),
1313

models/double_entry_transactions/int_quickbooks__credit_memo_double_entry.sql

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ Table that creates a debit record to Discounts Refunds Given and a credit record
77

88
with credit_memos as (
99
select *
10-
from {{ref('stg_quickbooks__credit_memo')}}
10+
from {{ ref('stg_quickbooks__credit_memo') }}
1111
),
1212

1313
credit_memo_lines as (
1414
select *
15-
from {{ref('stg_quickbooks__credit_memo_line')}}
15+
from {{ ref('stg_quickbooks__credit_memo_line') }}
1616
),
1717

1818
items as (
1919
select *
20-
from {{ref('stg_quickbooks__item')}}
20+
from {{ ref('stg_quickbooks__item') }}
2121
),
2222

2323
accounts as (
@@ -43,7 +43,7 @@ credit_memo_join as (
4343
credit_memo_lines.amount,
4444
coalesce(credit_memo_lines.sales_item_account_id, items.income_account_id, items.expense_account_id) as account_id,
4545
credit_memos.customer_id,
46-
coalesce(credit_memos.class_id, credit_memo_lines.sales_item_class_id, credit_memo_lines.discount_class_id) as class_id
46+
coalesce(credit_memo_lines.sales_item_class_id, credit_memo_lines.discount_class_id, credit_memos.class_id) as class_id
4747

4848
from credit_memos
4949

models/double_entry_transactions/int_quickbooks__deposit_double_entry.sql

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ specific other account indicated in the deposit line.
88

99
with deposits as (
1010
select *
11-
from {{ref('stg_quickbooks__deposit')}}
11+
from {{ ref('stg_quickbooks__deposit') }}
1212
),
1313

1414
deposit_lines as (
1515
select *
16-
from {{ref('stg_quickbooks__deposit_line')}}
16+
from {{ ref('stg_quickbooks__deposit_line') }}
1717
),
1818

1919
accounts as (

models/double_entry_transactions/int_quickbooks__invoice_double_entry.sql

+6-10
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ Table that creates a debit record to accounts receivable and a credit record to
77

88
with invoices as (
99
select *
10-
from {{ref('stg_quickbooks__invoice')}}
10+
from {{ ref('stg_quickbooks__invoice') }}
1111
),
1212

1313
invoice_lines as (
1414
select *
15-
from {{ref('stg_quickbooks__invoice_line')}}
15+
from {{ ref('stg_quickbooks__invoice_line') }}
1616
),
1717

1818
items as (
@@ -32,6 +32,7 @@ accounts as (
3232

3333

3434
{% if var('using_invoice_bundle', True) %}
35+
3536
invoice_bundles as (
3637
select *
3738
from {{ref('stg_quickbooks__invoice_line_bundle')}}
@@ -57,8 +58,8 @@ income_accounts as (
5758
bundle_income_accounts as (
5859
select distinct
5960
coalesce(parent.income_account_id, income_accounts.account_id) as account_id,
60-
bundle_items.bundle_id,
61-
bundle_items.class_id
61+
bundle_items.bundle_id
62+
6263
from items
6364

6465
left join items as parent
@@ -95,12 +96,7 @@ invoice_join as (
9596
coalesce(invoice_lines.account_id, items.income_account_id) as account_id,
9697
{% endif %}
9798

98-
99-
{% if var('using_invoice_bundle', True) %}
100-
coalesce(invoices.class_id, invoice_lines.sales_item_class_id, invoice_lines.discount_class_id, bundle_income_accounts.class_id) as class_id,
101-
{% else %}
102-
coalesce(invoices.class_id, invoice_lines.sales_item_class_id, invoice_lines.discount_class_id) as class_id,
103-
{% endif %}
99+
coalesce(invoice_lines.sales_item_class_id, invoice_lines.discount_class_id, invoices.class_id) as class_id,
104100

105101
invoices.customer_id
106102

models/double_entry_transactions/int_quickbooks__journal_entry_double_entry.sql

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ Table that provides the debit and credit records of a journal entry transaction.
77

88
with journal_entries as (
99
select *
10-
from {{ref('stg_quickbooks__journal_entry')}}
10+
from {{ ref('stg_quickbooks__journal_entry') }}
1111
),
1212

1313
journal_entry_lines as (
1414
select *
15-
from {{ref('stg_quickbooks__journal_entry_line')}}
15+
from {{ ref('stg_quickbooks__journal_entry_line') }}
1616
),
1717

1818
final as (

models/double_entry_transactions/int_quickbooks__payment_double_entry.sql

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ Table that creates a debit record to either undeposited funds or a specified cas
77

88
with payments as (
99
select *
10-
from {{ref('stg_quickbooks__payment')}}
10+
from {{ ref('stg_quickbooks__payment') }}
1111
),
1212

1313
payment_lines as (
1414
select *
15-
from {{ref('stg_quickbooks__payment_line')}}
15+
from {{ ref('stg_quickbooks__payment_line') }}
1616
),
1717

1818
accounts as (

models/double_entry_transactions/int_quickbooks__purchase_double_entry.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ Table that creates a debit record to a specified expense account and a credit re
33
*/
44
with purchases as (
55
select *
6-
from {{ref('stg_quickbooks__purchase')}}
6+
from {{ ref('stg_quickbooks__purchase') }}
77
),
88

99
purchase_lines as (
1010
select *
11-
from {{ref('stg_quickbooks__purchase_line')}}
11+
from {{ ref('stg_quickbooks__purchase_line') }}
1212
),
1313

1414
items as (
1515
select
1616
item.*,
1717
parent.expense_account_id as parent_expense_account_id
18-
from {{ref('stg_quickbooks__item')}} item
18+
from {{ ref('stg_quickbooks__item') }} item
1919

20-
left join {{ref('stg_quickbooks__item')}} parent
20+
left join {{ ref('stg_quickbooks__item') }} parent
2121
on item.parent_item_id = parent.item_id
2222
),
2323

@@ -32,7 +32,7 @@ purchase_join as (
3232
case when coalesce(purchases.credit, false) = true then 'debit' else 'credit' end as payed_from_transaction_type,
3333
case when coalesce(purchases.credit, false) = true then 'credit' else 'debit' end as payed_to_transaction_type,
3434
purchases.customer_id,
35-
coalesce(purchase_lines.account_expense_class_id, purchase_lines.item_expense_class_id) as class_id,
35+
coalesce(purchase_lines.item_expense_class_id, purchase_lines.account_expense_class_id) as class_id,
3636
purchases.vendor_id
3737
from purchases
3838

models/double_entry_transactions/int_quickbooks__refund_receipt_double_entry.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ Table that creates a debit record to the specified asset account and a credit re
77

88
with refund_receipts as (
99
select *
10-
from {{ref('stg_quickbooks__refund_receipt')}}
10+
from {{ ref('stg_quickbooks__refund_receipt') }}
1111
),
1212

1313
refund_receipt_lines as (
1414
select *
15-
from {{ref('stg_quickbooks__refund_receipt_line')}}
15+
from {{ ref('stg_quickbooks__refund_receipt_line') }}
1616
),
1717

1818
items as (
1919
select
2020
item.*,
2121
parent.income_account_id as parent_income_account_id
22-
from {{ref('stg_quickbooks__item')}} item
22+
from {{ ref('stg_quickbooks__item') }} item
2323

24-
left join {{ref('stg_quickbooks__item')}} parent
24+
left join {{ ref('stg_quickbooks__item') }} parent
2525
on item.parent_item_id = parent.item_id
2626
),
2727

@@ -34,7 +34,7 @@ refund_receipt_join as (
3434
refund_receipts.deposit_to_account_id as credit_to_account_id,
3535
coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as debit_account_id,
3636
refund_receipts.customer_id,
37-
coalesce(refund_receipts.class_id, refund_receipt_lines.sales_item_class_id, refund_receipt_lines.discount_class_id) as class_id
37+
coalesce(refund_receipt_lines.sales_item_class_id, refund_receipt_lines.discount_class_id, refund_receipts.class_id) as class_id
3838
from refund_receipts
3939

4040
inner join refund_receipt_lines

models/double_entry_transactions/int_quickbooks__sales_receipt_double_entry.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ Table that creates a debit record to the specified cash account and a credit rec
77

88
with sales_receipts as (
99
select *
10-
from {{ref('stg_quickbooks__sales_receipt')}}
10+
from {{ ref('stg_quickbooks__sales_receipt') }}
1111
),
1212

1313
sales_receipt_lines as (
1414
select *
15-
from {{ref('stg_quickbooks__sales_receipt_line')}}
15+
from {{ ref('stg_quickbooks__sales_receipt_line') }}
1616
),
1717

1818
items as (
1919
select
2020
item.*,
2121
parent.income_account_id as parent_income_account_id
22-
from {{ref('stg_quickbooks__item')}} item
22+
from {{ ref('stg_quickbooks__item') }} item
2323

24-
left join {{ref('stg_quickbooks__item')}} parent
24+
left join {{ ref('stg_quickbooks__item') }} parent
2525
on item.parent_item_id = parent.item_id
2626
),
2727

@@ -34,7 +34,7 @@ sales_receipt_join as (
3434
sales_receipts.deposit_to_account_id as debit_to_account_id,
3535
coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as credit_to_account_id,
3636
sales_receipts.customer_id,
37-
coalesce(sales_receipts.class_id, sales_receipt_lines.sales_item_class_id, sales_receipt_lines.discount_class_id) as class_id
37+
coalesce(sales_receipt_lines.sales_item_class_id, sales_receipt_lines.discount_class_id, sales_receipts.class_id) as class_id
3838
from sales_receipts
3939

4040
inner join sales_receipt_lines

models/double_entry_transactions/int_quickbooks__transfer_double_entry.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Table that creates a debit record to the receiveing account and a credit record
77

88
with transfers as (
99
select *
10-
from {{ref('stg_quickbooks__transfer')}}
10+
from {{ ref('stg_quickbooks__transfer') }}
1111
),
1212

1313
transfer_body as (

models/double_entry_transactions/int_quickbooks__vendor_credit_double_entry.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ Table that creates a debit record to payable account and a credit record to the
77

88
with vendor_credits as (
99
select *
10-
from {{ref('stg_quickbooks__vendor_credit')}}
10+
from {{ ref('stg_quickbooks__vendor_credit') }}
1111
),
1212

1313
vendor_credit_lines as (
1414
select *
15-
from {{ref('stg_quickbooks__vendor_credit_line')}}
15+
from {{ ref('stg_quickbooks__vendor_credit_line') }}
1616
),
1717

1818
items as (
1919
select
2020
item.*,
2121
parent.income_account_id as parent_income_account_id
22-
from {{ref('stg_quickbooks__item')}} item
22+
from {{ ref('stg_quickbooks__item') }} item
2323

24-
left join {{ref('stg_quickbooks__item')}} parent
24+
left join {{ ref('stg_quickbooks__item') }} parent
2525
on item.parent_item_id = parent.item_id
2626
),
2727

@@ -34,7 +34,7 @@ vendor_credit_join as (
3434
vendor_credits.payable_account_id as debit_to_account_id,
3535
coalesce(vendor_credit_lines.account_expense_account_id, items.parent_income_account_id, items.income_account_id, items.expense_account_id) as credit_account_id,
3636
coalesce(account_expense_customer_id, item_expense_customer_id) as customer_id,
37-
coalesce(account_expense_class_id, item_expense_class_id) as class_id,
37+
coalesce(item_expense_class_id, account_expense_class_id) as class_id,
3838
vendor_credits.vendor_id
3939
from vendor_credits
4040

models/intermediate/int_quickbooks__bill_join.sql

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,27 @@
33

44
with bills as (
55
select *
6-
from {{ref('stg_quickbooks__bill')}}
6+
from {{ ref('stg_quickbooks__bill') }}
77
),
88

99
bill_lines as (
1010
select *
11-
from {{ref('stg_quickbooks__bill_line')}}
11+
from {{ ref('stg_quickbooks__bill_line') }}
1212
),
1313

1414
bills_linked as (
1515
select *
16-
from {{ref('stg_quickbooks__bill_linked_txn')}}
16+
from {{ ref('stg_quickbooks__bill_linked_txn') }}
1717
),
1818

1919
bill_payments as (
2020
select *
21-
from {{ref('stg_quickbooks__bill_payment')}}
21+
from {{ ref('stg_quickbooks__bill_payment') }}
2222
),
2323

2424
bill_payment_lines as (
2525
select *
26-
from {{ref('stg_quickbooks__bill_payment_line')}}
26+
from {{ ref('stg_quickbooks__bill_payment_line') }}
2727

2828
where bill_id is not null
2929
),

models/intermediate/int_quickbooks__general_ledger_balances.sql

+5-1
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@ gl_period_balance as (
2020
account_sub_type,
2121
financial_statement_helper,
2222
account_class,
23+
class_id,
2324
cast({{ dbt.date_trunc("year", "transaction_date") }} as date) as date_year,
2425
cast({{ dbt.date_trunc("month", "transaction_date") }} as date) as date_month,
2526
sum(adjusted_amount) as period_balance
2627
from general_ledger
2728

28-
{{ dbt_utils.group_by(12) }}
29+
{{ dbt_utils.group_by(13) }}
2930
),
3031

3132
gl_cumulative_balance as (
@@ -50,6 +51,7 @@ gl_beginning_balance as (
5051
account_sub_type,
5152
financial_statement_helper,
5253
account_class,
54+
class_id,
5355
date_year,
5456
date_month,
5557
period_balance as period_net_change,
@@ -72,6 +74,7 @@ gl_patch as (
7274
coalesce(gl_beginning_balance.account_type, gl_accounting_periods.account_type) as account_type,
7375
coalesce(gl_beginning_balance.account_sub_type, gl_accounting_periods.account_sub_type) as account_sub_type,
7476
coalesce(gl_beginning_balance.account_class, gl_accounting_periods.account_class) as account_class,
77+
coalesce(gl_beginning_balance.class_id, gl_accounting_periods.class_id) as class_id,
7578
coalesce(gl_beginning_balance.financial_statement_helper, gl_accounting_periods.financial_statement_helper) as financial_statement_helper,
7679
coalesce(gl_beginning_balance.date_year, gl_accounting_periods.date_year) as date_year,
7780
gl_accounting_periods.period_first_day,
@@ -118,6 +121,7 @@ final as (
118121
account_type,
119122
account_sub_type,
120123
account_class,
124+
class_id,
121125
financial_statement_helper,
122126
date_year,
123127
period_first_day,

models/intermediate/int_quickbooks__general_ledger_date_spine.sql

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ final as (
7878
general_ledger.account_sub_type,
7979
general_ledger.account_class,
8080
general_ledger.financial_statement_helper,
81+
general_ledger.class_id,
8182
date_spine.date_year,
8283
date_spine.period_first_day,
8384
date_spine.period_last_day,

0 commit comments

Comments
 (0)