macro logic, need to clean a bit
This commit is contained in:
parent
75fe0e510a
commit
93c2de6f03
4 changed files with 26 additions and 56 deletions
|
|
@ -1,4 +1,4 @@
|
|||
{% macro generate_xero_net_fees_model(fees_to_include) %}
|
||||
{% macro generate_xero_net_fees_model(item_codes_to_include) %}
|
||||
|
||||
{% set relevant_document_statuses = "('PAID', 'AUTHORISED')" %}
|
||||
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
left join xero__invoices i on i.id_invoice = ili.id_invoice
|
||||
where
|
||||
i.invoice_status in {{ relevant_document_statuses }}
|
||||
and ili.item_code in {{ relevant_item_codes }}
|
||||
and ili.item_code in {{ item_codes_to_include }}
|
||||
group by
|
||||
extract(year from i.invoice_issued_date_utc),
|
||||
extract(month from i.invoice_issued_date_utc)
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
on cn.id_credit_note = cnli.id_credit_note
|
||||
where
|
||||
cn.credit_note_status in {{ relevant_document_statuses }}
|
||||
and cnli.item_code in {{ relevant_item_codes }}
|
||||
and cnli.item_code in {{ item_codes_to_include }}
|
||||
group by
|
||||
extract(year from cn.credit_note_issued_date_utc),
|
||||
extract(month from cn.credit_note_issued_date_utc)
|
||||
|
|
@ -56,4 +56,5 @@
|
|||
booking_fees_credited c
|
||||
on i.invoice_issued_year = c.credit_note_issued_year
|
||||
and i.invoice_issued_month = c.credit_note_issued_month
|
||||
order by i.invoice_issued_year desc, i.invoice_issued_month desc
|
||||
|
||||
{% endmacro %}
|
||||
|
|
@ -1,54 +1,7 @@
|
|||
-- depends_on: {{ ref('xero__invoice_line_items') }}
|
||||
-- depends_on: {{ ref('xero__invoices') }}
|
||||
-- depends_on: {{ ref('xero__credit_note_line_items') }}
|
||||
-- depends_on: {{ ref('xero__credit_notes') }}
|
||||
{% set relevant_item_codes = "('EU Booking Fee','ZAR Bookings','Booking fee - non-UK','USD Bookings','CAD Bookings','Booking fee - UK','AUD Bookings')" %}
|
||||
|
||||
with
|
||||
xero__invoice_line_items as (select * from {{ ref("xero__invoice_line_items") }}),
|
||||
xero__invoices as (select * from {{ ref("xero__invoices") }}),
|
||||
xero__credit_note_line_items as (
|
||||
select * from {{ ref("xero__credit_note_line_items") }}
|
||||
),
|
||||
xero__credit_notes as (select * from {{ ref("xero__credit_notes") }}),
|
||||
booking_fees_invoiced as (
|
||||
select
|
||||
extract(year from i.invoice_issued_date_utc) as invoice_issued_year,
|
||||
extract(month from i.invoice_issued_date_utc) as invoice_issued_month,
|
||||
sum(ili.line_amount_wo_taxes_in_gbp) as fees_invoiced
|
||||
from xero__invoice_line_items ili
|
||||
left join xero__invoices i on i.id_invoice = ili.id_invoice
|
||||
where
|
||||
i.invoice_status in {{ relevant_document_statuses }}
|
||||
and ili.item_code in {{ relevant_item_codes }}
|
||||
group by
|
||||
extract(year from i.invoice_issued_date_utc),
|
||||
extract(month from i.invoice_issued_date_utc)
|
||||
),
|
||||
booking_fees_credited as (
|
||||
select
|
||||
extract(
|
||||
year from cn.credit_note_issued_date_utc
|
||||
) as credit_note_issued_year,
|
||||
extract(
|
||||
month from cn.credit_note_issued_date_utc
|
||||
) as credit_note_issued_month,
|
||||
sum(cnli.line_amount_wo_taxes_in_gbp) as fees_credited
|
||||
from reporting.xero__credit_note_line_items cnli
|
||||
left join
|
||||
reporting.xero__credit_notes cn on cn.id_credit_note = cnli.id_credit_note
|
||||
where
|
||||
cn.credit_note_status in {{ relevant_document_statuses }}
|
||||
and cnli.item_code in {{ relevant_item_codes }}
|
||||
group by
|
||||
extract(year from cn.credit_note_issued_date_utc),
|
||||
extract(month from cn.credit_note_issued_date_utc)
|
||||
)
|
||||
select
|
||||
i.invoice_issued_year as issued_year,
|
||||
i.invoice_issued_month as issued_month,
|
||||
coalesce(i.fees_invoiced, 0) as fees_invoiced,
|
||||
coalesce(c.fees_credited, 0) as fees_credited,
|
||||
(coalesce(i.fees_invoiced, 0) - coalesce(c.fees_credited, 0)) as net_fees
|
||||
from booking_fees_invoiced i
|
||||
left join
|
||||
booking_fees_credited c
|
||||
on i.invoice_issued_year = c.credit_note_issued_year
|
||||
and i.invoice_issued_month = c.credit_note_issued_month
|
||||
order by i.invoice_issued_year desc, i.invoice_issued_month desc
|
||||
{{ generate_xero_net_fees_model(relevant_item_codes) }}
|
||||
|
|
|
|||
8
models/reporting/xero/xero__listing_fees_net.sql
Normal file
8
models/reporting/xero/xero__listing_fees_net.sql
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
-- depends_on: {{ ref('xero__invoice_line_items') }}
|
||||
-- depends_on: {{ ref('xero__invoices') }}
|
||||
-- depends_on: {{ ref('xero__credit_note_line_items') }}
|
||||
-- depends_on: {{ ref('xero__credit_notes') }}
|
||||
{% set relevant_item_codes = "('USD Listings','Listing fee - non UK','ZAR Listings','CAD Listings','Listing fee - UK','AUD Listings','EU Listings')" %}
|
||||
|
||||
|
||||
{{ generate_xero_net_fees_model(relevant_item_codes) }}
|
||||
8
models/reporting/xero/xero__verification_fees_net.sql
Normal file
8
models/reporting/xero/xero__verification_fees_net.sql
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
-- depends_on: {{ ref('xero__invoice_line_items') }}
|
||||
-- depends_on: {{ ref('xero__invoices') }}
|
||||
-- depends_on: {{ ref('xero__credit_note_line_items') }}
|
||||
-- depends_on: {{ ref('xero__credit_notes') }}
|
||||
{% set relevant_item_codes = "('Verification Fee')" %}
|
||||
|
||||
|
||||
{{ generate_xero_net_fees_model(relevant_item_codes) }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue