diff --git a/models/intermediate/xero/int_xero__sales_denom_mart.sql b/models/intermediate/xero/int_xero__sales_denom_mart.sql new file mode 100644 index 0000000..5eb38db --- /dev/null +++ b/models/intermediate/xero/int_xero__sales_denom_mart.sql @@ -0,0 +1,50 @@ +with + int_xero__invoice_line_items as ( + select * from {{ ref("int_xero__invoice_line_items") }} + ), + int_xero__credit_note_line_items as ( + select * from {{ ref("int_xero__credit_note_line_items") }} + ) +select + id_invoice as id_document, + id_line_item as id_line_item, + id_item as id_item, + 'invoice' as document_type, + item_code as item_code, + quantity as quantity, + unit_amount as unit_amount, + line_amount_local_curr as line_amount_local_curr, + line_amount_in_gbp as line_amount_in_gbp, + line_amount_wo_taxes_local_curr, + line_amount_wo_taxes_in_gbp, + tax_amount_local_curr as tax_amount_local_curr, + tax_amount_in_gbp as tax_amount_in_gbp, + tax_type as tax_type, + invoice_currency_iso_4217 as invoice_currency_iso_4217, + line_description as line_description + +from int_xero__invoice_line_items + +union all + +select + + id_credit_note, + id_line_item, + id_item, + 'credit note' as document_type, + item_code, + quantity, + unit_amount, + -- We multiply all credit amounts by -1 so aggregations with + -- invoicing side work the way you would expect them to + line_amount_local_curr * -1, + line_amount_in_gbp * -1, + line_amount_wo_taxes_local_curr * -1, + line_amount_wo_taxes_in_gbp * -1, + tax_amount_local_curr * -1, + tax_amount_in_gbp * -1, + tax_type, + credit_note_currency_iso_4217, + line_description +from int_xero__credit_note_line_items