Commit graph

39 commits

Author SHA1 Message Date
Oriol Roqué Paniagua
b16cb172b6 Merged PR 2349: Retrieve account for xero invoices, credit notes and sales denom mart
Discussing with Jamie on how I can retrieve the information from Xero for E-deposit and Guesty, he told me that these go to a dedicated account. Since these are invoiced, they do not go to the bank transactions.
Specifically:
- 220 - E-Deposit Fees
- 219 - Guesty Fees
- 221 - Guesty Administration fee

After debugging the data (and getting confirmation from Jamie that indeed we were having invoices on e-deposit), I see that this info is available in the original json from staging. This PR aims just to retrieve these 3 fields:
- id_account
- account_code
- account_name

This will be used later on to retrieve the rest of API KPIs

Related work items: #18719
2024-07-18 15:47:14 +00:00
Oriol Roqué Paniagua
bf473ab971 Merged PR 2292: Propagate invoicing metrics for KPIs
This PR aims to propagate the invoicing metrics through the DWH. It does not expose them to users, yet.

This PR effectively computes the following metrics, for both the "global" view (MTD) and the "by deal" view (by_deal):
- Invoiced Operator Revenue
- Host Resolution Count of Payments
- Host Resolution Amount Paid

With these 3 new metrics, we're able to combine them with the existing ones to compute:
- Total Revenue
- Total Revenue per Booking Created
- Total Revenue per Guest Journey Created
- Total Revenue per Deal Booked in Month
- Total Revenue per Listings Booked in Month

You'll also note that I've included standalone metrics for booking fees, listing fees, verification fees and waiver payments. This will not be exposed in this batch 2, but based on the conversation with Finance, will clearly make it for batch 3. I just find it easier to add it now, since it's straight forward.

Main changes:
- `int_mtd_vs_previous_year_metrics` now computes all the above mentioned metrics
- `int_monthly_aggregated_metrics_history_by_deal` now computes all the above mentioned metrics, except Total Revenue per Deal Booked in Month since it does not make sense for the deal view. Additionally, I took the opportunity to include the missing metrics from listings (accommodations). The goal is not necessarily to display them, but at least compute it on our side.

Additional changes:
- In `int_xero__mtd_invoicing_metrics` and `int_xero__monthly_invoicing_history_by_deal`, there's a very silly name change to keep the same convention for fees: from `xero_operator_net_fees` to `xero_operator_net_fees_in_gbp`
- I applied additional changes in `int_monthly_aggregated_metrics_history_by_deal` with the goal to keep the same format as we have in `int_mtd_vs_previous_year_metrics`, this meaning:
1 - explicit alias naming (from `gj` to `guest_journeys`)
2 - keep a similar arrangement of metrics, and clearly separate scopes depending on the metric type
3 - Re-apply autoformatting

Related work items: #18108, #18109, #18110
2024-07-15 07:33:55 +00:00
Oriol Roqué Paniagua
2130226939 Merged PR 2284: KPIs: computing invoicing metrics from Xero
This PR creates 2 new models on intermediate, xero:
- int_xero__mtd_invoicing_metrics (global view)
- int_xero__monthly_invoicing_history_by_deal (by deal view)

This allows for the computation of host metrics (operators), as well as host resolution payments. This will enable in the future to compute total revenue and weighted revenue metrics.
The data displayed from the previous months in the mtd_invoicing_metrics is consistent with 1) revenue figures displayed in business overview for Host tab, as well as Guest tab for Waiver Payments; and 2) host payment figures displayed in the accounting reports.

**Note 1**: the variables at this stage are reused in these models, as well as many other Xero models. We still need to handle the refactor ticket on Xero related reports. This is not under the scope of this PR.

**Note 2**: we noticed that the strategy for mtd models to do a double year, month extraction join is badly performant. Actually, resolution payments subquery was not performing at all with this logic. So it has been changed to a date_trunc('month', related_date)::date = d.first_day_month strategy which works much faster. I'll add a standalone PR to refactor the remaining mtd models separately later

Related work items: #18108, #18110
2024-07-12 10:05:49 +00:00
Pablo Martin
fad85691f3 typo in docs 2024-07-08 17:52:15 +02:00
Pablo Martin
00b7940c25 more schema, more tests 2024-07-08 17:26:10 +02:00
Pablo Martin
003c7cd185 remove duplicated currency field 2024-07-08 17:26:02 +02:00
Pablo Martin
6fcc9fde16 schema 2024-07-08 17:06:23 +02:00
Pablo Martin
a79288a657 add contact data 2024-07-08 16:55:46 +02:00
Pablo Martin
da7b931e8e include header data 2024-07-08 16:47:44 +02:00
Pablo Martin
ff09b2d7a4 propagate field to int 2024-07-08 16:31:53 +02:00
Pablo Martin
7fb5bc90d8 join credit notes 2024-07-08 16:17:20 +02:00
Pablo Martin
0b05f8cb62 join invoices 2024-07-08 16:16:21 +02:00
Pablo Martin
b08695795d line item level 2024-07-08 16:13:37 +02:00
Pablo Martin
487f6701e3 apply transaction sign in line items 2024-07-01 11:45:03 +02:00
Pablo Martin
dd5882a564 propagate transaction sign 2024-07-01 11:44:55 +02:00
Pablo Martin
bb17b7a646 put back accidentally removed column that breaks dbt run 2024-06-25 17:20:36 +02:00
Pablo Martin
86ca7411af remove line items: they have their own tables now 2024-06-25 16:41:41 +02:00
Pablo Martin
88e13182a5 convert currency after subtracting in local currency 2024-06-25 16:24:39 +02:00
Pablo Martin
3973f0a4a6 rename field 2024-06-25 15:07:39 +02:00
Pablo Martin
854afffc1c add account code 2024-06-25 15:07:39 +02:00
Pablo Martin
7a9c913b8a line items 2024-06-25 15:07:39 +02:00
Pablo Martin
d86b6b8627 add tests 2024-06-25 15:07:39 +02:00
Pablo Martin
33d072015c remove full jsons with ids 2024-06-25 15:07:39 +02:00
Pablo Martin
25e9d040ff add internal exchange rates 2024-06-25 15:07:39 +02:00
Pablo Martin
bf54548654 table alias 2024-06-25 15:07:39 +02:00
Pablo Martin
200c324b68 add converted fields 2024-06-25 15:07:39 +02:00
Pablo Martin
447cb3926c bring over bank transactions to int 2024-06-25 15:07:39 +02:00
Pablo Martin
3706a0c21c Revert "remove unnecessary nested objects since they can be joined in dwh"
This reverts commit 4cc9644feb.
2024-05-23 16:23:52 +02:00
Pablo Martin
4cc9644feb remove unnecessary nested objects since they can be joined in dwh 2024-05-23 16:22:02 +02:00
Pablo Martin
791cbd47e8 more credit note work 2024-05-17 14:32:06 +02:00
Pablo Martin
8f6e92c187 credit notes intermediate model 2024-05-17 14:32:06 +02:00
Pablo Martin
eba636b16c a few small details 2024-05-14 16:20:48 +02:00
Pablo Martin
bc4ca1cbc3 lots of currency stuff 2024-05-14 12:26:02 +02:00
Pablo Martin
f8fcf7f2b5 reporting models 2024-05-13 16:52:55 +02:00
Pablo Martin
d0b8d4a8df contacts 2024-05-13 16:09:56 +02:00
Pablo Martin
60d462315e fixed typo 2024-05-13 15:53:44 +02:00
Pablo Martin
bfd7267600 line items model 2024-05-13 15:47:53 +02:00
Pablo Martin
a797f85dc2 fix naming 2024-05-13 15:47:44 +02:00
Pablo Martin
9d4b104374 int invoice model 2024-05-13 15:17:46 +02:00