data-dwh-dbt-project/models/intermediate/xero/int_xero__invoice_line_items.sql
2024-05-13 16:52:55 +02:00

29 lines
1.2 KiB
SQL

with int_xero__invoices as (select * from {{ ref("int_xero__invoices") }})
select
i.id_invoice,
j.id_line_item,
j.id_item,
j.item_code,
j.quantity::numeric,
j.unit_amount::numeric,
j.line_amount::numeric,
j.tax_amount::numeric,
j.tax_type,
i.invoice_currency_iso_4217,
j.line_description
from int_xero__invoices i
cross join
lateral(
select
(jsonb_array_elements(i.line_items) ->> 'LineItemID') as id_line_item,
(jsonb_array_elements(i.line_items) -> 'Item') ->> 'ItemID' as id_item,
(jsonb_array_elements(i.line_items) -> 'Item') ->> 'Code' as item_code,
(jsonb_array_elements(i.line_items) -> 'Item') ->> 'Name' as item_name,
(jsonb_array_elements(i.line_items) ->> 'Quantity') as quantity,
(jsonb_array_elements(i.line_items) ->> 'UnitAmount') as unit_amount,
(jsonb_array_elements(i.line_items) ->> 'LineAmount') as line_amount,
(jsonb_array_elements(i.line_items) ->> 'TaxAmount') as tax_amount,
(jsonb_array_elements(i.line_items) ->> 'TaxType') as tax_type,
(jsonb_array_elements(i.line_items) ->> 'Description') as line_description
) j