Meeting Title: Shopify Transactions Debugging Sync Date: 2025-10-27 Meeting participants: Uttam Kumaran, Awaish Kumar, Demilade Agboola, Emily Giant
WEBVTT
1 00:00:56.040 ⇒ 00:00:57.040 Awaish Kumar: Hello.
2 00:00:57.040 ⇒ 00:00:57.730 Uttam Kumaran: -Oh.
3 00:00:59.320 ⇒ 00:01:01.430 Awaish Kumar: Yeah, I sent her the examples.
4 00:01:06.710 ⇒ 00:01:07.260 Uttam Kumaran: Okay.
5 00:01:12.810 ⇒ 00:01:18.999 Uttam Kumaran: Okay, yeah, so I think… is there already a ticket for… okay, so I’m gonna create a ticket for, like, the…
6 00:01:20.310 ⇒ 00:01:22.209 Uttam Kumaran: Transactions. Debugging.
7 00:02:13.610 ⇒ 00:02:15.919 Emily Giant: Hi, sorry, I was waiting for the huddle sound.
8 00:02:15.920 ⇒ 00:02:16.690 Uttam Kumaran: All good.
9 00:02:16.690 ⇒ 00:02:17.980 Emily Giant: single, and then I was like.
10 00:02:18.510 ⇒ 00:02:23.399 Emily Giant: I feel like I’m supposed to be doing something, and then looked at Slack and found this, so sorry about that.
11 00:02:23.720 ⇒ 00:02:28.040 Uttam Kumaran: No problem. Yeah, so I’m just gonna create a ticket around debugging fact transactions that
12 00:02:28.600 ⇒ 00:02:31.980 Uttam Kumaran: I’ll sign to Wish, but yeah, we do have next steps here.
13 00:02:32.520 ⇒ 00:02:33.050 Emily Giant: Okay.
14 00:02:33.050 ⇒ 00:02:52.050 Awaish Kumar: I think, like, it’s kind of resolved. Like, I shared… I, like, created a PR today, and it was causing confusion, in fact, transaction table, because we were rewriting some of the transaction types in that table, but when I look at this, the SDG Shopify transactions.
15 00:02:52.250 ⇒ 00:02:57.400 Awaish Kumar: From top to type, it’s more clear that, like, we have 3 rows per order.
16 00:02:58.370 ⇒ 00:03:05.920 Awaish Kumar: transaction ID, and transaction type shows the purpose, like, authorization, then sale, then it’s a capture.
17 00:03:09.700 ⇒ 00:03:11.340 Emily Giant: What’s going on with that amount?
18 00:03:16.310 ⇒ 00:03:17.599 Demilade Agboola: Which of the amounts?
19 00:03:18.980 ⇒ 00:03:21.600 Emily Giant: Well, they’re not the same. Is it the same order?
20 00:03:23.260 ⇒ 00:03:25.090 Demilade Agboola: Yeah, so…
21 00:03:30.820 ⇒ 00:03:33.020 Emily Giant: Can we look up that order in Shopify?
22 00:03:34.580 ⇒ 00:03:39.459 Emily Giant: I’m just wondering where the 33 comes from versus the 104.
23 00:03:57.040 ⇒ 00:03:58.640 Awaish Kumar: Oh, God.
24 00:04:01.150 ⇒ 00:04:02.889 Demilade Agboola: You could use my Shopify.
25 00:04:04.760 ⇒ 00:04:05.870 Awaish Kumar: Sorry?
26 00:04:06.220 ⇒ 00:04:10.700 Demilade Agboola: We could use my Shopify, because, obviously, every, like, the…
27 00:04:16.800 ⇒ 00:04:17.640 Awaish Kumar: This one?
28 00:04:18.149 ⇒ 00:04:18.759 Demilade Agboola: Yeah.
29 00:04:23.980 ⇒ 00:04:26.220 Demilade Agboola: Oh, you’re gonna go to Shopify.com.
30 00:04:26.720 ⇒ 00:04:28.329 Awaish Kumar: And then click login on top.
31 00:04:34.620 ⇒ 00:04:35.470 Demilade Agboola: Man.
32 00:04:57.230 ⇒ 00:05:02.529 Demilade Agboola: But you can just search up top, so you just copy the order ID and just put it in the search bar, and search.
33 00:05:12.080 ⇒ 00:05:12.760 Awaish Kumar: Agree.
34 00:05:14.140 ⇒ 00:05:19.039 Demilade Agboola: It was a $137 transaction, or payment.
35 00:05:25.650 ⇒ 00:05:31.919 Emily Giant: Okay, so… It’s $137, so it’s the…
36 00:05:32.110 ⇒ 00:05:41.319 Emily Giant: addition of those two lines, the capture and the auth, that’s really… is that how transactions work? They just capture a little bit of it? And…
37 00:05:41.790 ⇒ 00:05:44.810 Emily Giant: Because it’s… it’s just odd that, like, the sale…
38 00:05:44.920 ⇒ 00:05:47.100 Emily Giant: It’s for only part of it.
39 00:05:47.480 ⇒ 00:05:51.669 Emily Giant: without, like, seeing a gift card, or… those are all US dollars, not…
40 00:05:51.800 ⇒ 00:05:55.870 Emily Giant: any other form of payment, so I just thought that was… Interesting.
41 00:06:01.570 ⇒ 00:06:03.510 Demilade Agboola: I think it’s just the structure of how humans work.
42 00:06:03.730 ⇒ 00:06:04.430 Emily Giant: Okay.
43 00:06:05.900 ⇒ 00:06:09.230 Awaish Kumar: Just to show, like, this and this amount, like, $126.
44 00:06:09.230 ⇒ 00:06:17.879 Emily Giant: That’s what I was thinking. Like, it’s very odd that, like, the auth… it was authorized for a certain amount, and then…
45 00:06:19.640 ⇒ 00:06:24.789 Demilade Agboola: Yeah, so, like, the… So the authorization basically is the process in which they try to ensure
46 00:06:24.960 ⇒ 00:06:29.409 Demilade Agboola: That they have enough money to even move the transaction to a pending status?
47 00:06:30.130 ⇒ 00:06:39.320 Demilade Agboola: But you know how, like, when you try to use your card for something, it goes, like, you know, they’re trying to authorize your card? Yeah. There’s the authorization that I think the sale was made on it for a pending…
48 00:06:39.840 ⇒ 00:06:43.940 Demilade Agboola: And then, capture is basically when they move money to the merchant’s account.
49 00:06:44.560 ⇒ 00:06:56.369 Emily Giant: It was a gift card. Look at that. It’s $104.51 US payment processed on a gift card. I know what you’re saying, Demolade, and I think that that’s part of it, but it does look like somehow in that table, the gift card
50 00:06:57.340 ⇒ 00:07:02.549 Emily Giant: Yeah, the line right below it. Like, they actually only did pay $33, and the rest was a gift card.
51 00:07:03.110 ⇒ 00:07:04.130 Demilade Agboola: Interesting.
52 00:07:04.130 ⇒ 00:07:07.900 Emily Giant: Yeah, and it’s not showing on that table. Is there more in the table?
53 00:07:08.220 ⇒ 00:07:08.860 Awaish Kumar: She’s cheating.
54 00:07:08.860 ⇒ 00:07:10.250 Emily Giant: a USD.
55 00:07:11.330 ⇒ 00:07:16.810 Awaish Kumar: That’s great Yeah, there’s one column which basically can tell this is gift card.
56 00:07:16.810 ⇒ 00:07:18.960 Emily Giant: Err, gotcha.
57 00:07:19.660 ⇒ 00:07:22.120 Demilade Agboola: That would be very helpful for some of the things we need for.
58 00:07:22.120 ⇒ 00:07:22.500 Emily Giant: No.
59 00:07:22.500 ⇒ 00:07:22.960 Demilade Agboola: Exactly.
60 00:07:23.120 ⇒ 00:07:24.270 Emily Giant: Yes.
61 00:07:24.830 ⇒ 00:07:25.590 Demilade Agboola: year.
62 00:07:29.310 ⇒ 00:07:30.340 Emily Giant: Okay.
63 00:07:31.790 ⇒ 00:07:33.570 Demilade Agboola: Parent process is gift card.
64 00:07:34.960 ⇒ 00:07:42.019 Emily Giant: So… what I’m wondering is, like, okay, we want this to be useful to the stakeholders, right? And…
65 00:07:42.230 ⇒ 00:07:48.300 Emily Giant: I’m not… Like, is this helpful, having the capture?
66 00:07:49.350 ⇒ 00:07:51.040 Emily Giant: And the authorization.
67 00:07:53.170 ⇒ 00:07:56.490 Awaish Kumar: Yeah, like, these two seems like…
68 00:07:56.930 ⇒ 00:08:04.809 Awaish Kumar: showing the same amount. Like, instead, maybe we should just show capture, because maybe that’s the one showing the…
69 00:08:06.070 ⇒ 00:08:09.749 Awaish Kumar: That the money cut… Captured from the…
70 00:08:09.750 ⇒ 00:08:10.570 Emily Giant: Yeah.
71 00:08:10.680 ⇒ 00:08:16.319 Emily Giant: I mean, maybe it is helpful if, like, it doesn’t get captured, which I don’t know why that would happen, but…
72 00:08:16.590 ⇒ 00:08:28.099 Demilade Agboola: I think we can have all of them, but then we’ll only recognize capture, but we also have the opportunity to say, you know, how many authorized transactions did not get captured, for instance. We can understand.
73 00:08:28.810 ⇒ 00:08:39.509 Demilade Agboola: potentially for finance, where we’re losing money, or if, like, the issues were with the transactions. But yeah, the transaction type is very important to distinguish what we have.
74 00:08:39.980 ⇒ 00:08:40.679 Emily Giant: Okay.
75 00:08:41.750 ⇒ 00:08:48.209 Awaish Kumar: Okay, but yeah, in that case, it just can’t be used as summing up the revenue.
76 00:08:48.690 ⇒ 00:08:49.830 Demilade Agboola: Yeah.
77 00:08:52.350 ⇒ 00:08:53.160 Demilade Agboola: No, we don’t double count.
78 00:08:53.160 ⇒ 00:08:54.500 Emily Giant: Only, yeah.
79 00:08:55.140 ⇒ 00:08:56.719 Emily Giant: So, no summing.
80 00:08:57.290 ⇒ 00:08:59.260 Emily Giant: That makes sense for Looker.
81 00:09:01.090 ⇒ 00:09:04.709 Emily Giant: And then… How is this going to interact with
82 00:09:06.270 ⇒ 00:09:11.009 Emily Giant: the other Shopify tables? Like, should this be its own Explorer only?
83 00:09:11.470 ⇒ 00:09:17.680 Emily Giant: Or do we want this to also be queryable with other Shopify
84 00:09:18.370 ⇒ 00:09:21.930 Emily Giant: tables, because I can see it getting really confusing.
85 00:09:22.680 ⇒ 00:09:32.069 Demilade Agboola: So, ideally, like, the way we try to build tables over here, because you guys use a lot of, like, Looker for a lot of, like, analysis, ad hoc analysis.
86 00:09:32.070 ⇒ 00:09:32.520 Emily Giant: promises.
87 00:09:32.520 ⇒ 00:09:38.150 Demilade Agboola: But we try to keep that within dbt, so we try to have, like, the tables pre-built.
88 00:09:38.250 ⇒ 00:09:50.229 Demilade Agboola: So that we restrict some of the confusion that can come along. The idea is, it would be great to have one table where we have, for each transaction, for each order, for instance, we can show
89 00:09:50.440 ⇒ 00:09:54.779 Demilade Agboola: How much was realized as revenue? How much,
90 00:09:54.950 ⇒ 00:09:58.780 Demilade Agboola: Was fulfilled. So, like, has it been delivered to the customer?
91 00:09:59.200 ⇒ 00:10:02.339 Demilade Agboola: How much of that transaction was a gift card?
92 00:10:02.840 ⇒ 00:10:22.689 Demilade Agboola: And how much of it was captured. So, like, that allows you to have different ways to look at that same transaction in just, like, that same order, in just different ways. Rather than, you know, if we have fact transactions, fact order line items, fact orders, there’s so many things to be able to play around with that there’s potential for, like, really bad analysis.
93 00:10:22.690 ⇒ 00:10:28.429 Emily Giant: Yeah, okay, so I’m gonna sequester this to the finance team, because I can’t imagine anyone else needs this.
94 00:10:28.890 ⇒ 00:10:33.490 Emily Giant: And then… I can… I don’t know if they’re gonna want the, like.
95 00:10:34.190 ⇒ 00:10:39.079 Emily Giant: product level, but that’s maybe the only thing I would join in Looker, is the product table.
96 00:10:41.240 ⇒ 00:10:43.830 Demilade Agboola: But again, the problem with that is…
97 00:10:44.190 ⇒ 00:10:47.329 Demilade Agboola: They’re different products on one order, so it was spread out.
98 00:10:48.020 ⇒ 00:10:57.659 Demilade Agboola: Because there’s no unique product for each transaction, so that’s, like, these are the kind of things that you don’t want your products to find… your order to find out per product.
99 00:10:59.280 ⇒ 00:11:05.589 Demilade Agboola: That’s why, like, it’s best to kind of do this analysis within dbt, and then expose that in Looker as an Explorer.
100 00:11:05.760 ⇒ 00:11:08.030 Demilade Agboola: That can allow people to look into it.
101 00:11:11.020 ⇒ 00:11:18.100 Emily Giant: Yeah, I understand, and I agree with you that this… will have bizarre…
102 00:11:19.030 ⇒ 00:11:23.150 Emily Giant: query results, if it’s joined with anything else. I’m just thinking through, like…
103 00:11:24.020 ⇒ 00:11:33.239 Emily Giant: the utility of this alone for finance, and I think it’s fine, I think it’s fine, but I’ll just separate it out as a separate explorer, and not join it with anything else.
104 00:11:40.620 ⇒ 00:11:43.090 Emily Giant: Does that sound like a good plan for Looker?
105 00:11:43.690 ⇒ 00:11:45.000 Uttam Kumaran: Yes, I was like, good, but…
106 00:11:45.000 ⇒ 00:11:51.320 Emily Giant: Okay, that’s cool. And then, like, I, Utam shared with me on Friday the sheet where I’m gonna, like, write out
107 00:11:51.860 ⇒ 00:11:58.850 Emily Giant: my thoughts on, like, how Looker is coming along versus, like, what our… what our vision is, because…
108 00:11:59.130 ⇒ 00:12:09.690 Emily Giant: there are a lot of tables that do need to be joined, and I just want to make sure that, like, it’s usable for… because, like, I know how to use it, because we all built it together, but,
109 00:12:10.260 ⇒ 00:12:13.950 Emily Giant: I think that there’s some room for improvement there, and…
110 00:12:14.140 ⇒ 00:12:21.279 Emily Giant: Anyway, I’ll add my questions to that doc, but I can go ahead and add fact transactions now. It’s already built, I just hadn’t deployed it.
111 00:12:24.220 ⇒ 00:12:27.299 Emily Giant: And that way we can mess with it in Looker and do QA.
112 00:12:27.960 ⇒ 00:12:34.109 Demilade Agboola: Yeah, also the… there’s a PR, I think I would approve it. There’s a PR from Awash.
113 00:12:34.600 ⇒ 00:12:40.479 Demilade Agboola: That would allow it to have the transaction set. Have you merged it, or should I help you approve a merge?
114 00:12:42.540 ⇒ 00:12:45.199 Awaish Kumar: Yeah, did you approve it? I can merge right now.
115 00:12:46.180 ⇒ 00:12:48.150 Demilade Agboola: It’s all good, I couldn’t approve.
116 00:12:52.330 ⇒ 00:12:52.930 Uttam Kumaran: Okay.
117 00:12:54.570 ⇒ 00:13:00.809 Uttam Kumaran: So yeah, I mean, maybe this week, the kind of focus is just on, like, getting things ready for Looker. Yeah.
118 00:13:01.190 ⇒ 00:13:01.550 Emily Giant: Good.
119 00:13:01.550 ⇒ 00:13:10.670 Uttam Kumaran: I know we have, like, our Looker session on Thursday, but I can try to move it up to tomorrow if that’s better, since that’s going to be a majority of our work this week.
120 00:13:13.090 ⇒ 00:13:18.689 Emily Giant: Yeah, whatever you guys think, tomorrow might be better.
121 00:13:19.530 ⇒ 00:13:21.330 Uttam Kumaran: Okay, like tomorrow afternoon sometime?
122 00:13:21.330 ⇒ 00:13:22.320 Emily Giant: Yeah.
123 00:13:23.330 ⇒ 00:13:24.260 Uttam Kumaran: Okay.
124 00:13:27.200 ⇒ 00:13:28.380 Uttam Kumaran: Yeah, that’d be great, and that way…
125 00:13:28.380 ⇒ 00:13:30.449 Emily Giant: Okay. Yeah, that sounds good.
126 00:13:34.260 ⇒ 00:13:34.940 Awaish Kumar: Okay.
127 00:13:35.150 ⇒ 00:13:49.090 Uttam Kumaran: Cool, so yeah, I think kind of big things, we’ll have a decision on Northbeam on Thursday. I think if we can, Awash, if we can kind of figure… just confirm that we have the metaplane monitors in place.
128 00:13:49.240 ⇒ 00:13:55.280 Uttam Kumaran: And then we can keep kind of cranking on transactions, that would be great. And then, Emily, you have a couple tickets mapped here.
129 00:13:56.960 ⇒ 00:13:57.450 Emily Giant: Yeah.
130 00:13:57.450 ⇒ 00:14:01.979 Uttam Kumaran: We should have plenty of stuff coming out of GA, North Beam, and Looker stuff this week.
131 00:14:02.300 ⇒ 00:14:04.239 Emily Giant: Sweet. That’s exciting.
132 00:14:11.320 ⇒ 00:14:12.900 Uttam Kumaran: Okay, great, that’s all I had.
133 00:14:13.130 ⇒ 00:14:14.320 Emily Giant: Alright, cool.
134 00:14:14.320 ⇒ 00:14:15.989 Uttam Kumaran: Okay. Thanks, everyone.
135 00:14:15.990 ⇒ 00:14:17.170 Emily Giant: See y’all tomorrow!
136 00:14:17.350 ⇒ 00:14:17.980 Uttam Kumaran: Bye.
137 00:14:18.190 ⇒ 00:14:18.730 Emily Giant: Bye.