diff --git a/models/intermediate/xero/int_xero__credit_note_line_items.sql b/models/intermediate/xero/int_xero__credit_note_line_items.sql index 08794db..7c1295f 100644 --- a/models/intermediate/xero/int_xero__credit_note_line_items.sql +++ b/models/intermediate/xero/int_xero__credit_note_line_items.sql @@ -1,7 +1,11 @@ -with int_xero__credit_notes as (select * from {{ ref("int_xero__credit_notes") }}), +with + int_xero__credit_notes as (select * from {{ ref("int_xero__credit_notes") }}), stg_xero__accounts as (select * from {{ ref("stg_xero__accounts") }}) select cn.id_credit_note, + cn.credit_note_issued_at_utc, + cn.credit_note_status, + cn.id_contact, j.id_line_item, j.id_item, j.item_code, @@ -73,4 +77,4 @@ cross join (jsonb_array_elements(cn.line_items) ->> 'AccountID') as id_account, (jsonb_array_elements(cn.line_items) ->> 'AccountCode') as account_code ) j -left join stg_xero__accounts a on j.account_code = a.account_code \ No newline at end of file +left join stg_xero__accounts a on j.account_code = a.account_code diff --git a/models/reporting/xero/schema.yml b/models/reporting/xero/schema.yml index 1ce3762..2287731 100644 --- a/models/reporting/xero/schema.yml +++ b/models/reporting/xero/schema.yml @@ -661,6 +661,32 @@ models: data_type: character varying description: Xero's unique identifier for the credit note. + - name: credit_note_issued_at_utc + data_type: timestamp with time zone + description: Date on which the credit note was issued. + + - name: credit_note_status + data_type: character varying + description: | + The status of the credit note. + + Can be one of: PAID, VOIDED, DRAFT, DELETED, AUTHORISED, SUBMITTED. + data_tests: + - not_null + - accepted_values: + values: + - PAID + - VOIDED + - DRAFT + - DELETED + - AUTHORISED + - SUBMITTED + + - name: id_contact + data_type: text + description: | + Xero's unique id for the contact related to this transaction. + - name: id_line_item data_type: text description: Xero's unique identifier for the line item. diff --git a/models/reporting/xero/xero__credit_note_line_items.sql b/models/reporting/xero/xero__credit_note_line_items.sql index afa4226..36b772d 100644 --- a/models/reporting/xero/xero__credit_note_line_items.sql +++ b/models/reporting/xero/xero__credit_note_line_items.sql @@ -5,6 +5,9 @@ with select id_credit_note as id_credit_note, + credit_note_issued_at_utc as credit_note_issued_at_utc, + credit_note_status as credit_note_status, + id_contact as id_contact, id_line_item as id_line_item, id_item as id_item, item_code as item_code, diff --git a/models/reporting/xero/xero__net_fees_by_deal.sql b/models/reporting/xero/xero__net_fees_by_deal.sql index 19e5698..44d466a 100644 --- a/models/reporting/xero/xero__net_fees_by_deal.sql +++ b/models/reporting/xero/xero__net_fees_by_deal.sql @@ -2,7 +2,9 @@ with xero__invoices as (select * from {{ ref("xero__invoices") }}), - xero__credit_notes as (select * from {{ ref("xero__credit_notes") }}), + xero__credit_note_line_items as ( + select * from {{ ref("xero__credit_note_line_items") }} + ), xero__contacts as (select * from {{ ref("xero__contacts") }}), fees_invoiced as ( select @@ -19,14 +21,14 @@ with fees_credited as ( select cast( - date_trunc('month', cn.credit_note_issued_at_utc) as date + date_trunc('month', cnli.credit_note_issued_at_utc) as date ) as credit_note_issued_year_month, c.id_deal, - sum(cn.subtotal_in_gbp) as fees_credited - from xero__credit_notes cn - left join xero__contacts c on cn.id_contact = c.id_contact - where cn.credit_note_status in {{ relevant_document_statuses }} - group by date_trunc('month', cn.credit_note_issued_at_utc), c.id_deal + sum(cnli.line_amount_wo_taxes_in_gbp) as fees_credited + from xero__credit_note_line_items cnli + left join xero__contacts c on cnli.id_contact = c.id_contact + where cnli.credit_note_status in {{ relevant_document_statuses }} + group by date_trunc('month', cnli.credit_note_issued_at_utc), c.id_deal ) select coalesce(