Meeting Title: Urban Stems Inventory Working Session Date: 2025-06-24 Meeting participants: Demilade Agboola, Emily Giant
WEBVTT
1 00:00:58.530 ⇒ 00:00:59.570 Emily Giant: Hello!
2 00:01:01.320 ⇒ 00:01:02.080 Emily Giant: Whoop!
3 00:01:02.650 ⇒ 00:01:03.200 Demilade Agboola: Hello!
4 00:01:03.670 ⇒ 00:01:06.917 Emily Giant: You spilled my coffee grounds.
5 00:01:10.525 ⇒ 00:01:13.435 Emily Giant: Damn, what? A way to start.
6 00:01:14.300 ⇒ 00:01:20.130 Emily Giant: Okay, okay, we’re okay. Everyone’s okay. How are you doing.
7 00:01:20.900 ⇒ 00:01:25.599 Demilade Agboola: I’m pretty alright. I’m pretty okay. How’s how are you doing.
8 00:01:26.040 ⇒ 00:01:27.240 Emily Giant: Better.
9 00:01:27.400 ⇒ 00:01:35.289 Emily Giant: I slept last night, whereas I was like not sleeping before trying to finish some of that stuff.
10 00:01:35.820 ⇒ 00:01:48.149 Emily Giant: And I’m still like having some trouble tracking the results of the fixes, because, like every time I run the tests, they’re giving me different results.
11 00:01:48.320 ⇒ 00:01:52.700 Emily Giant: And then, like, for example, I
12 00:01:52.930 ⇒ 00:02:14.950 Emily Giant: changed like the major thing that I changed when my branch suddenly merged with production in the middle of the night, which I did not know was a thing. I was just resolving conflicts. You know how it will like pop up if you like. Try to update your branch, and it’ll be like these are conflicting. I fix those. And I hit resolve conflicts, and it was like your branches merged.
13 00:02:15.100 ⇒ 00:02:21.863 Emily Giant: And this was at like one am. So I was like, I’m gonna be up all night again.
14 00:02:22.450 ⇒ 00:02:33.970 Emily Giant: But I was able to like most of the changes were formatting. So I was like I went through. Every single one was like however, like the major fixes were
15 00:02:34.900 ⇒ 00:02:51.710 Emily Giant: in components. Xf, the partition was on line, item, id instead of component id, and so the unique identifier is supposed to be component Id, and that was obscuring faces, and some add-ons from like getting through to the mart model
16 00:02:52.790 ⇒ 00:02:55.669 Emily Giant: that seems to be fixed, and
17 00:02:56.520 ⇒ 00:03:00.470 Emily Giant: The thing that is still like totally wonky is
18 00:03:00.710 ⇒ 00:03:22.899 Emily Giant: the revenue. But like every time I run the internal tests, it’s giving me like different results. I just ran one like an hour ago, after everything had refreshed, and it said there were 98,000 rows that were mismatched revenue, and I pulled all the rows or pulled the top like 600, with the largest amount of mismatches. They were totally different than the ones that pulled
19 00:03:23.110 ⇒ 00:03:26.010 Emily Giant: last night when I ran. The exact same test
20 00:03:27.210 ⇒ 00:03:29.530 Emily Giant: is that like an incremental thing, maybe.
21 00:03:32.210 ⇒ 00:03:38.959 Demilade Agboola: What do you mean? They were totally different. What do you mean like what the Id is the same? Or are you talking about different ids? But like.
22 00:03:38.960 ⇒ 00:03:43.910 Emily Giant: Totally different ids except for the top ones. And when I checked today.
23 00:03:44.340 ⇒ 00:03:48.310 Emily Giant: almost all of them were source problems like, so far I’ve checked.
24 00:03:49.125 ⇒ 00:03:50.759 Emily Giant: Here I have
25 00:03:51.090 ⇒ 00:03:58.987 Emily Giant: that same Google sheet from last time. I just keep adding, if I I have examples to share, but let me send it in the chat.
26 00:04:01.780 ⇒ 00:04:06.650 Emily Giant: And it’s the I like zoom better, but I still like don’t know how to use it. There we go!
27 00:04:08.597 ⇒ 00:04:14.970 Emily Giant: So in the tab called component level inflated revenue.
28 00:04:15.310 ⇒ 00:04:18.019 Emily Giant: like so far all of these that I’ve checked.
29 00:04:18.440 ⇒ 00:04:19.500 Demilade Agboola: Are like.
30 00:04:19.890 ⇒ 00:04:30.399 Emily Giant: Not the same or not. The same revenue numbers number one, and then not the same issues.
31 00:04:31.900 ⇒ 00:04:37.610 Emily Giant: And when I pulled all of the results. This pulled 6, 6,000
32 00:04:38.650 ⇒ 00:04:46.730 Emily Giant: or No. 60,000, but when I ran the test it said 98,000 rose that were mismatched.
33 00:04:47.740 ⇒ 00:04:48.780 Demilade Agboola: Yeah.
34 00:04:51.320 ⇒ 00:04:57.069 Demilade Agboola: And the you pulled this 60,000 from like prod data.
35 00:04:58.030 ⇒ 00:04:59.660 Emily Giant: No! My local.
36 00:05:00.480 ⇒ 00:05:03.020 Demilade Agboola: Okay. But the test was failing in Prague, though.
37 00:05:04.530 ⇒ 00:05:06.200 Emily Giant: Yeah, both. Both.
38 00:05:06.360 ⇒ 00:05:10.799 Demilade Agboola: Yeah, but I’m I’m saying, like the test wasn’t 90,000 on your local, was it?
39 00:05:12.340 ⇒ 00:05:14.323 Emily Giant: Both when I ran
40 00:05:14.920 ⇒ 00:05:21.450 Emily Giant: I’ve run the test in local and in production they matched last night.
41 00:05:21.720 ⇒ 00:05:22.180 Demilade Agboola: Okay.
42 00:05:22.180 ⇒ 00:05:24.699 Emily Giant: I today. They.
43 00:05:24.860 ⇒ 00:05:31.549 Emily Giant: my local doesn’t match my local and production doesn’t match production. They don’t match themselves. If I run them individually.
44 00:05:31.550 ⇒ 00:05:32.840 Demilade Agboola: Gotcha gotcha.
45 00:05:33.700 ⇒ 00:05:41.399 Emily Giant: And I’ll show you where I mean, we don’t have to get into that. Now let’s review your Pr, so that we can deploy that.
46 00:05:42.520 ⇒ 00:05:49.890 Emily Giant: because that all looked fine to me, you’re just like moving, cleaning and like creating
47 00:05:50.350 ⇒ 00:05:52.819 Emily Giant: the like new structure right?
48 00:05:52.820 ⇒ 00:05:53.700 Demilade Agboola: Yeah.
49 00:05:53.700 ⇒ 00:05:54.760 Emily Giant: Lot of logic.
50 00:05:55.440 ⇒ 00:05:56.540 Emily Giant: See if.
51 00:05:56.540 ⇒ 00:05:59.460 Demilade Agboola: Just basically creating the logic. So that, like
52 00:05:59.840 ⇒ 00:06:03.830 Demilade Agboola: certain things don’t always have to happen at the higher level.
53 00:06:04.740 ⇒ 00:06:11.759 Demilade Agboola: Happen lower. And we can have like smaller bits. And that allows us to be able to like
54 00:06:12.100 ⇒ 00:06:14.730 Demilade Agboola: have better aggregations all through.
55 00:06:15.070 ⇒ 00:06:16.390 Demilade Agboola: Oh, okay.
56 00:06:17.100 ⇒ 00:06:20.109 Emily Giant: You show me some of it. I learned so much from, like how you
57 00:06:20.470 ⇒ 00:06:26.609 Emily Giant: think about how to do this, but I just wanted to hear it and see it from you, so that, like as we build
58 00:06:26.860 ⇒ 00:06:30.029 Emily Giant: separately, I I do it like you.
59 00:06:31.810 ⇒ 00:06:33.310 Demilade Agboola: Sounds good.
60 00:06:37.030 ⇒ 00:06:38.180 Demilade Agboola: Can you see my screen.
61 00:06:38.400 ⇒ 00:06:39.170 Emily Giant: Yep.
62 00:06:39.170 ⇒ 00:06:39.710 Demilade Agboola: All right.
63 00:06:42.300 ⇒ 00:06:54.770 Demilade Agboola: so one of the things just like high level is naming. Naming is always very helpful in terms of how you want to think of. That one of the things I’ve learned is name should
64 00:06:55.140 ⇒ 00:06:56.620 Demilade Agboola: contain the layer.
65 00:06:57.010 ⇒ 00:07:07.339 Demilade Agboola: contain the source, if it’s a staging model, contain the source as well as what is in that. So like, whoever is reading the model can quickly from just the name.
66 00:07:08.040 ⇒ 00:07:11.750 Demilade Agboola: understand? What’s probably what they’re probably going to see in that model.
67 00:07:11.890 ⇒ 00:07:25.090 Demilade Agboola: So you also find things like this. If I see station Oms orders, my head goes like, this is orders data from the Oms source. Things like that kind of allows people to be able to
68 00:07:25.470 ⇒ 00:07:40.130 Demilade Agboola: find what they need when they need it. And it can all be in like a similar folder structure, where people can kind of like, see everything that pertains to orders, everything that pertains to products, everything that pertains to whatever really.
69 00:07:42.110 ⇒ 00:07:44.819 Demilade Agboola: So yeah, in this case, I
70 00:07:46.420 ⇒ 00:07:59.759 Demilade Agboola: decided to like, just keep like to be fair. The orders was fine, like, keep things quite similar. The only thing I did was it was Select star here, and I I don’t think it’s not best to have select Star.
71 00:07:59.760 ⇒ 00:08:00.250 Emily Giant: Yeah.
72 00:08:00.250 ⇒ 00:08:04.560 Demilade Agboola: Put out everything, and the idea of putting everything now is like.
73 00:08:04.890 ⇒ 00:08:19.832 Demilade Agboola: if you need to change the type or something, you can just come here and cast it as a different type, and then it gets throughout everywhere. You don’t have to like keep using it like changing type in higher level models. You can do that here.
74 00:08:21.190 ⇒ 00:08:40.790 Demilade Agboola: then, so yeah, I just kind of did that. I was doing things of like efficiency. But like, if the run. Times were pretty that the only thing I would do okay, potentially. What I’ll do, and I think I might fix another fix, I might add, is distribution keys and source keys. I might add them here as well.
75 00:08:41.120 ⇒ 00:08:41.620 Emily Giant: Okay.
76 00:08:41.620 ⇒ 00:08:45.679 Demilade Agboola: So just high level. Do you know how distribution keys and source keys work.
77 00:08:46.030 ⇒ 00:08:51.169 Emily Giant: I know how sort keys, work distribution not so much.
78 00:08:53.200 ⇒ 00:08:56.850 Demilade Agboola: Alright. So let’s let’s put this way. Distribution keys are best.
79 00:08:57.380 ⇒ 00:09:02.930 Demilade Agboola: I like when it comes to trying to perform like
80 00:09:03.400 ⇒ 00:09:10.449 Demilade Agboola: actions. How do you want to distribute the the table across different nodes.
81 00:09:11.640 ⇒ 00:09:13.950 Demilade Agboola: and so that usually is for compute.
82 00:09:15.670 ⇒ 00:09:17.450 Demilade Agboola: And the idea is
83 00:09:17.670 ⇒ 00:09:24.290 Demilade Agboola: when you think of a distribution key. The best distribution keys are keys you tend to join on frequently.
84 00:09:25.570 ⇒ 00:09:28.700 Demilade Agboola: So that’s where you get an advantage downstream.
85 00:09:28.870 ⇒ 00:09:39.770 Demilade Agboola: So sort keys are best for things you query on like you’re trying to sort through. Yes, so like, where clauses and stuff that’s probably where you want to. You’ll gain advantages using
86 00:09:40.460 ⇒ 00:09:47.279 Demilade Agboola: the appropriate source keys. But for joins you gain advantages, using like better distribution keys.
87 00:09:48.080 ⇒ 00:09:56.199 Emily Giant: Got it. Okay, that makes a lot more sense. Put like that. I I did some reading on it oh, a bit back, and was like I get it, but like
88 00:09:57.090 ⇒ 00:09:59.620 Emily Giant: to see it in action. Okay, that makes sense.
89 00:09:59.620 ⇒ 00:10:07.342 Demilade Agboola: Yeah. So the combination of that is kind of how, over time you can start to build better and more efficient
90 00:10:08.530 ⇒ 00:10:10.240 Demilade Agboola: infrastructure, because
91 00:10:11.050 ⇒ 00:10:22.959 Demilade Agboola: you now have source keys, that when you query that table it’s faster, and you have this keys that when you join to other tables it’s faster as well, so you’re you’re getting speed that way.
92 00:10:24.706 ⇒ 00:10:28.003 Emily Giant: But in terms of the increments this is fine.
93 00:10:28.890 ⇒ 00:10:30.320 Demilade Agboola: So for this
94 00:10:31.490 ⇒ 00:10:40.450 Demilade Agboola: I kind of made this as a result of having both the active deliveries and legacy deliveries redelivery sorry in 2 separate tables.
95 00:10:40.450 ⇒ 00:10:41.060 Emily Giant: Nice.
96 00:10:41.464 ⇒ 00:10:48.639 Demilade Agboola: So now we have this as it pertains to legacy deliveries or redeliveries, or here
97 00:10:49.158 ⇒ 00:10:57.480 Demilade Agboola: and also this should barely run, because at the end day. This is an incremental upload.
98 00:10:57.660 ⇒ 00:11:05.810 Demilade Agboola: So if the Id is not in here, that’s when you runs and then
99 00:11:06.110 ⇒ 00:11:08.250 Demilade Agboola: we have the active deliveries.
100 00:11:08.960 ⇒ 00:11:15.359 Demilade Agboola: So we have the different partitions based off the previous state.
101 00:11:16.290 ⇒ 00:11:22.190 Emily Giant: What a shit show! Sorry like just the logic having to be there like that. But yes, okay.
102 00:11:22.350 ⇒ 00:11:31.249 Demilade Agboola: Yeah. So I, I was thinking of potentially making 2 different what’s it called
103 00:11:31.610 ⇒ 00:11:34.250 Demilade Agboola: 2 different bids and their union in it.
104 00:11:35.840 ⇒ 00:11:47.139 Demilade Agboola: I potentially could still do that. So like one would be before you know the 6th of November 2024, and then I would filter out the join based off
105 00:11:48.136 ⇒ 00:11:49.189 Demilade Agboola: the dates.
106 00:11:50.220 ⇒ 00:11:58.199 Demilade Agboola: Do the you know, select that, and then union it to, you know, after that date
107 00:11:58.440 ⇒ 00:12:01.219 Demilade Agboola: that way, it kind of will work for both
108 00:12:02.950 ⇒ 00:12:08.799 Demilade Agboola: and it might just be cleaner to read and easier to read. To be honest. So I potentially could also do that.
109 00:12:08.800 ⇒ 00:12:09.310 Emily Giant: Okay.
110 00:12:09.310 ⇒ 00:12:09.720 Demilade Agboola: Oh!
111 00:12:09.720 ⇒ 00:12:18.569 Emily Giant: I mean I I wrote most of that logic, but not so nicely so. It’s easy for me to read, but I don’t know how easy it was for you to read hopping in there.
112 00:12:18.570 ⇒ 00:12:24.819 Demilade Agboola: I mean to be fair. It wasn’t. It? Wasn’t that hard? So yeah, I was, just I just kind of split things apart.
113 00:12:26.550 ⇒ 00:12:28.100 Demilade Agboola: Yeah, this looks good.
114 00:12:28.590 ⇒ 00:12:40.659 Demilade Agboola: Yeah, like, now, it’s just easier to hop in here. Rename things from here. Change the type here. So select style. You’ll you know every single column that’s available to you by name.
115 00:12:41.290 ⇒ 00:12:42.250 Emily Giant: That’s awesome.
116 00:12:42.250 ⇒ 00:12:46.850 Demilade Agboola: Actually, we might need to rename these ones as well, because it’s a bit of a weird name.
117 00:12:47.270 ⇒ 00:12:49.850 Emily Giant: 1, 2, 3!
118 00:12:50.223 ⇒ 00:12:50.970 Emily Giant: Oh, no!
119 00:12:50.970 ⇒ 00:12:52.161 Emily Giant: You’ll get used to it.
120 00:12:53.406 ⇒ 00:12:55.903 Demilade Agboola: Actually, it’s the, it’s this one.
121 00:13:00.810 ⇒ 00:13:04.170 Demilade Agboola: Yeah. So just kind of like.
122 00:13:04.600 ⇒ 00:13:08.090 Demilade Agboola: you kind of. Also, I think part of why I also did. This
123 00:13:08.880 ⇒ 00:13:27.270 Demilade Agboola: is potentially so. I think some information is always going to be lost. If you don’t see all the names of the columns, you’re only going to kind of use what everyone has used in the past, or what’s currently being used. But, like, if you see the list of things, you might go, hey? Actually, we have an index available, or we have a skew available that might not have
124 00:13:27.750 ⇒ 00:13:36.899 Demilade Agboola: necessarily seen. And it’s less overwhelming than when it’s like a table that is wide. It’s easier to just read like a list of columns. Yeah.
125 00:13:37.050 ⇒ 00:13:37.569 Demilade Agboola: so that’s.
126 00:13:37.570 ⇒ 00:13:46.969 Emily Giant: That’s really good. That’s actually one of them that you listed out is the reason one of the core reasons that I have been in hell the last 2 weeks is that
127 00:13:48.040 ⇒ 00:14:13.699 Emily Giant: I still need to validate. But I’m like 90% sure there was a dev fix that they made that not only like made that custom skew, but it threw off the index and created in the base table like a a new column from the source called the Kivo Array Index 2, and the old index, which was used to join models, stopped generating
128 00:14:14.209 ⇒ 00:14:26.809 Emily Giant: and because I didn’t even realize that there was like this other index field. I don’t think anyone did to be honest, but I had to swap that out, and because I couldn’t see it in the staging model like it took
129 00:14:26.930 ⇒ 00:14:31.449 Emily Giant: way too long to figure out that that was even an option to like create a better join.
130 00:14:31.930 ⇒ 00:14:32.740 Demilade Agboola: Yeah.
131 00:14:32.740 ⇒ 00:14:33.460 Emily Giant: Wish.
132 00:14:33.920 ⇒ 00:14:39.960 Demilade Agboola: Yeah, also, like potentially
133 00:14:40.100 ⇒ 00:14:56.629 Demilade Agboola: like, if new models are being added like not new models. If new columns are being added. There needs to be a process in which, as communicated like new columns, can just come in without you being aware. It makes it hard to maintain, and makes it hard to like.
134 00:14:56.750 ⇒ 00:14:57.560 Demilade Agboola: Just
135 00:14:57.760 ⇒ 00:15:06.669 Demilade Agboola: have like any visibility and control on what’s going on. There needs to be like a over deprecating this column, or we’re creating this column as a.
136 00:15:07.500 ⇒ 00:15:08.010 Emily Giant: So
137 00:15:08.010 ⇒ 00:15:14.779 Emily Giant: this is a stupid question. But like, do they know that when they do stuff in soligo, that it’s going to change the model.
138 00:15:16.500 ⇒ 00:15:23.189 Demilade Agboola: I think. Yes, I think no, I think yes, in the sense that, like people do know that like when things change, there is a downstream effect.
139 00:15:23.310 ⇒ 00:15:35.538 Demilade Agboola: But I think it’s if there isn’t a process, or it’s not a situation that has come up in the past where people are like Yo, you can’t do that, or like that. We need to have
140 00:15:36.090 ⇒ 00:15:51.860 Demilade Agboola: a process that we go about before these things happen. If there isn’t like something explicitly said, people will just do stuff and just be like, you know, this is my job. I’m doing what I need to do. But like they don’t about like the effects he has on other people.
141 00:15:52.330 ⇒ 00:16:01.179 Emily Giant: Yeah, we’re such a small team that, like it seems like it should be easy to communicate. But like, we’re all pretty siloed. So I’m gonna bring that up in our retro.
142 00:16:01.180 ⇒ 00:16:01.760 Demilade Agboola: Yeah.
143 00:16:01.760 ⇒ 00:16:03.780 Emily Giant: I make sure, sure, sure sure that
144 00:16:04.130 ⇒ 00:16:07.630 Emily Giant: that it was caused by what I think it was caused, by which I’m
145 00:16:07.830 ⇒ 00:16:09.539 Emily Giant: pretty sure it was because, like
146 00:16:09.930 ⇒ 00:16:28.069 Emily Giant: everything, stopped working on May 3, rd like bam so it was pretty clear that, like a change was made, I can go back and tickets that were solved on that day. And so it’s like, but I don’t ever want to point fingers or like bring something up without it being like a definitive.
147 00:16:28.440 ⇒ 00:16:29.935 Demilade Agboola: Yeah.
148 00:16:31.730 ⇒ 00:16:33.665 Demilade Agboola: So I think
149 00:16:34.590 ⇒ 00:16:42.930 Demilade Agboola: part of what I part of what I was trying to ask questions is for inventory. I know we’ve been on stuff on like the
150 00:16:44.766 ⇒ 00:16:48.930 Demilade Agboola: like adjustment types and all that.
151 00:16:49.610 ⇒ 00:16:50.310 Emily Giant: Yeah.
152 00:16:50.310 ⇒ 00:16:51.519 Demilade Agboola: All that stuff?
153 00:16:53.860 ⇒ 00:17:01.260 Demilade Agboola: so obviously like redeliveries, I can start to plug in the new fixes here, just comparing new fixes. But the idea is.
154 00:17:01.990 ⇒ 00:17:07.449 Demilade Agboola: are there any like inventory thing still left to calculate.
155 00:17:07.450 ⇒ 00:17:14.133 Emily Giant: Yes, yeah. So one of the big things is
156 00:17:15.609 ⇒ 00:17:29.859 Emily Giant: that right now, how I have it is that sub orders that weren’t assigned to a lot, but we’re still fulfilled are not documented. And I asked Alex about this, and he was like, well, those units will be documented
157 00:17:30.220 ⇒ 00:17:35.449 Emily Giant: in some form of adjustment. Whether that’s an inventory discrepancy, and I’m like
158 00:17:35.930 ⇒ 00:17:40.619 Emily Giant: no like we need to know when a suborder is shipped to someone
159 00:17:41.070 ⇒ 00:17:47.669 Emily Giant: and was not properly assigned a unit. The way that the.
160 00:17:47.670 ⇒ 00:17:51.109 Demilade Agboola: What does? What does? What does it mean? It wasn’t properly assigned the unit, though.
161 00:17:51.886 ⇒ 00:17:57.130 Emily Giant: So it means that our inventory system Netsuite did not decrement
162 00:17:57.240 ⇒ 00:18:13.569 Emily Giant: and that the fulfillment center sent the order anyway. Because they just have flowers like in a box. And they’re just putting them in boxes and sending them to people. They’re not looking at our like fulfillment software to see our inventory software to see that like. Oh, this wasn’t assigned to a lot. They’re just like
163 00:18:13.690 ⇒ 00:18:14.650 Emily Giant: pulling
164 00:18:14.820 ⇒ 00:18:22.680 Emily Giant: pull in orders from our order management system and fulfilling them accordingly. So this happens especially during mother’s day, like
165 00:18:23.230 ⇒ 00:18:32.779 Emily Giant: all the time, more than I think the Dev team knows. And then we wind up getting this like negative available for sale situation. And I’m like, well, yeah, it’s because
166 00:18:33.160 ⇒ 00:18:48.039 Emily Giant: we sent 3,000 orders that weren’t assigned to a lot. But right now, the way that the join works. It’s a it’s not a left join. It’s just a join, because other things will fail. If the lot number is blank.
167 00:18:48.420 ⇒ 00:19:00.679 Emily Giant: or the inventory number an inventory number. If that’s blank downstream it will fail. However, there are hundreds and thousands of orders that don’t have an inventory assignment.
168 00:19:00.830 ⇒ 00:19:09.500 Emily Giant: but they have, like a ghost lot that they were assigned to originally that lives in transaction line. So if I turn it to a left join.
169 00:19:09.790 ⇒ 00:19:17.030 Emily Giant: and like coalesce transaction line and inventory assignment, you’ll start to see all those orders, but
170 00:19:17.660 ⇒ 00:19:26.565 Emily Giant: because that makes people mad when they see negative available for sale. I’ve just done a join, and I think it’s in
171 00:19:29.070 ⇒ 00:19:31.769 Emily Giant: sale adjustments inventory like
172 00:19:32.820 ⇒ 00:19:38.948 Emily Giant: pull from master, because I renamed a bunch of these, and then I’m going to rename them again to align with
173 00:19:40.570 ⇒ 00:19:45.009 Emily Giant: you’re gonna be like what the F. Emily, because of that like merge
174 00:19:47.530 ⇒ 00:19:52.710 Emily Giant: but not the inventory lot table. Not. It’s not the mark table. It’s an intermediate
175 00:19:54.350 ⇒ 00:20:01.570 Emily Giant: in inventory. And then it’s going to be suborder detail. Yep, do sub orders with lots.
176 00:20:05.660 ⇒ 00:20:12.330 Emily Giant: and then the join is like a join, not a left join on inventory assignment.
177 00:20:13.050 ⇒ 00:20:14.840 Emily Giant: Or maybe it isn’t this one.
178 00:20:14.840 ⇒ 00:20:16.249 Demilade Agboola: It’s a left drain. Yeah, this is.
179 00:20:16.250 ⇒ 00:20:16.960 Emily Giant: Okay.
180 00:20:16.960 ⇒ 00:20:18.580 Demilade Agboola: I think it should be non-lotted.
181 00:20:21.250 ⇒ 00:20:24.890 Emily Giant: This one is not associated with inventory assignment at all.
182 00:20:24.890 ⇒ 00:20:25.610 Demilade Agboola: Because.
183 00:20:25.610 ⇒ 00:20:34.050 Emily Giant: Didn’t have lots, so I can’t use inventory assignment, because that is like lotted allotted only.
184 00:20:34.320 ⇒ 00:20:35.150 Demilade Agboola: Okay.
185 00:20:37.970 ⇒ 00:20:39.200 Emily Giant: So maybe it’s
186 00:20:42.490 ⇒ 00:20:44.540 Emily Giant: it could be lot detail.
187 00:20:47.720 ⇒ 00:20:53.830 Emily Giant: It’s not going to be pre-sale. Commit, do? Committed inventory, maybe into committed inventory.
188 00:20:58.955 ⇒ 00:20:59.690 Emily Giant: No.
189 00:21:17.820 ⇒ 00:21:18.710 Emily Giant: huh!
190 00:21:21.280 ⇒ 00:21:26.786 Emily Giant: Anyhow, if in the suborders, with lots in the
191 00:21:28.080 ⇒ 00:21:34.030 Emily Giant: there’s 2 ctes, and then they get unioned somewhere.
192 00:21:36.230 ⇒ 00:21:38.739 Emily Giant: Because I’m using inventory assignment
193 00:21:38.870 ⇒ 00:21:44.300 Emily Giant: for that, join, it will obscure the ones that never got a real inventory assignment.
194 00:21:44.420 ⇒ 00:21:46.780 Emily Giant: and if I remove that
195 00:21:48.510 ⇒ 00:21:52.769 Emily Giant: that as the inventory number field.
196 00:21:52.950 ⇒ 00:21:55.589 Emily Giant: you’ll see all of the orders that were
197 00:21:55.780 ⇒ 00:22:03.739 Emily Giant: at 1 point assigned to that lot, but never received an actual assignment, and those were like orders not committed. Let me see if I can like.
198 00:22:04.220 ⇒ 00:22:05.260 Emily Giant: pull.
199 00:22:05.610 ⇒ 00:22:15.490 Demilade Agboola: So. So if I get this clearly, we have orders that are in netsuite transaction line.
200 00:22:17.030 ⇒ 00:22:22.669 Demilade Agboola: Assign to have like a lot idea like we have imagery assigned to a lot. Id.
201 00:22:23.290 ⇒ 00:22:30.920 Demilade Agboola: However, when we use when we look at, when we look at it through, like what the Oms.
202 00:22:31.650 ⇒ 00:22:32.030 Emily Giant: Yeah.
203 00:22:34.980 ⇒ 00:22:43.960 Demilade Agboola: So, which is kind of why? I asked that question earlier. I remember I asked the question about like, Hey, why do we have 2 different transactions, tables, one for like Oms, and one for
204 00:22:44.160 ⇒ 00:22:46.879 Demilade Agboola: Polyton like that, comes through like polytomic.
205 00:22:48.490 ⇒ 00:22:51.780 Emily Giant: Yeah, revenue, is the answer.
206 00:22:53.200 ⇒ 00:22:57.990 Demilade Agboola: How do you reconcile them like? Is there a way to join them together? Are they supposed to like.
207 00:23:00.520 ⇒ 00:23:06.923 Emily Giant: I mean. Short answer is, I don’t. I don’t have those models intermingled at all in our
208 00:23:09.350 ⇒ 00:23:10.400 Emily Giant: in looker.
209 00:23:10.875 ⇒ 00:23:19.110 Emily Giant: I just say, like you can use image right now. Anyway, I’m like you can use inventory. You can use sales. You can’t use them together. Obviously, that’s not ideal.
210 00:23:19.300 ⇒ 00:23:20.345 Emily Giant: But
211 00:23:21.850 ⇒ 00:23:22.869 Demilade Agboola: But that’s that’s.
212 00:23:22.870 ⇒ 00:23:24.630 Emily Giant: Going through suborder. Id.
213 00:23:25.220 ⇒ 00:23:31.730 Emily Giant: That would be the way to to in the future join those models.
214 00:23:32.350 ⇒ 00:23:41.686 Demilade Agboola: So ideally, we should be able to have one table where we have transactions from both Yms and
215 00:23:42.840 ⇒ 00:23:45.220 Demilade Agboola: Netsuite, both reflecting in the.
216 00:23:45.760 ⇒ 00:23:46.410 Emily Giant: Yep.
217 00:23:47.740 ⇒ 00:23:56.878 Emily Giant: So another another inventory shortcoming that we would need is that Lms will show
218 00:23:57.960 ⇒ 00:24:03.659 Emily Giant: the like website, product, name and Netsuite will not
219 00:24:04.147 ⇒ 00:24:32.059 Emily Giant: so, in the event of like buying a bundle, or like a double, the magnolia netsuite will show the single skew with the quantity of 2. The website will show the double skew with the quantity of one, and our forecasting teams do want that information for forecasting. They want to know like, is there more demand for a double? Is there more demand for a kit? And the pricing is different, like you can’t do
220 00:24:32.620 ⇒ 00:24:37.607 Emily Giant: the single skew times 2, and say, it’s just this price times 2. There’s like,
221 00:24:38.130 ⇒ 00:24:44.580 Emily Giant: you know the the discount in you. You get more, you pay less whatever that’s called
222 00:24:45.183 ⇒ 00:24:54.699 Emily Giant: so that’s another thing that needs to be reconciled between systems. Which doesn’t live individually in either.
223 00:24:56.370 ⇒ 00:24:58.610 Emily Giant: I’ll samples.
224 00:24:58.930 ⇒ 00:25:01.719 Emily Giant: I actually have a dashboard pulled up of that.
225 00:25:01.920 ⇒ 00:25:11.449 Emily Giant: or I did because I was trying to. Qa some stuff. So this query, not this one.
226 00:25:13.020 ⇒ 00:25:13.810 Demilade Agboola: So
227 00:25:14.110 ⇒ 00:25:19.240 Demilade Agboola: so for inventory can we do? Do we have a list of things that we still have to like get through.
228 00:25:21.660 ⇒ 00:25:23.300 Emily Giant: Yeah.
229 00:25:24.560 ⇒ 00:25:29.570 Emily Giant: I mean, no. Do we have the list? Should there be a list? Yes. Do I have the list now?
230 00:25:29.800 ⇒ 00:25:33.096 Demilade Agboola: Okay, do we have an idea of the things we need to get.
231 00:25:33.350 ⇒ 00:25:37.849 Emily Giant: Yeah, do you? Wanna should we make a list in linear? Hold on, I’m gonna
232 00:25:38.500 ⇒ 00:25:40.784 Emily Giant: do. And then also put it in the
233 00:25:41.610 ⇒ 00:25:45.899 Emily Giant: in that, Doc, that I sent you, but this liquor reports a good
234 00:25:46.170 ⇒ 00:25:50.010 Emily Giant: shot of like a piece skew versus a parent skew.
235 00:25:50.590 ⇒ 00:25:50.990 Demilade Agboola: Okay.
236 00:25:50.990 ⇒ 00:26:01.050 Emily Giant: I didn’t know what the fuck excuse me, they want that to mean, because every week someone’s like the parent skews wrong, and I’m like. I don’t even know what it is. I don’t know what you want from me.
237 00:26:01.600 ⇒ 00:26:05.730 Emily Giant: and that was a huge part of what I had to fix last week was that all of our like
238 00:26:06.360 ⇒ 00:26:08.530 Emily Giant: product relationships were broken.
239 00:26:09.280 ⇒ 00:26:11.419 Emily Giant: They seem to be fixedish now.
240 00:26:11.660 ⇒ 00:26:14.309 Emily Giant: But these are all living in Oms.
241 00:26:14.410 ⇒ 00:26:23.111 Emily Giant: And so it’s just what’s happening is it’s creating like duplicate information that makes it really hard to
242 00:26:23.940 ⇒ 00:26:28.159 Emily Giant: No, what it is you should be
243 00:26:28.300 ⇒ 00:26:35.939 Emily Giant: adding to your report. So in this report that I sent. There’s like 3 different product type filters added to it.
244 00:26:36.090 ⇒ 00:26:39.679 Emily Giant: And in my opinion, there should be
245 00:26:39.800 ⇒ 00:26:49.410 Emily Giant: 2 product typed filters, and they should be defined so that nobody confuses them. There should be the piece product type, which is like vase add-on. And if it’s in a bundle.
246 00:26:49.520 ⇒ 00:26:59.229 Emily Giant: It should be like product type, bundle kit. And right now they’re like all over the place. So
247 00:27:01.680 ⇒ 00:27:04.130 Emily Giant: it looks like I sent you like the
248 00:27:05.100 ⇒ 00:27:07.729 Emily Giant: the one that they still use.
249 00:27:08.240 ⇒ 00:27:09.920 Emily Giant: So it doesn’t have junk.
250 00:27:10.330 ⇒ 00:27:15.169 Emily Giant: But you can see the parent product name is going to be that, like
251 00:27:15.720 ⇒ 00:27:18.250 Emily Giant: the name of only the single unit.
252 00:27:19.160 ⇒ 00:27:28.430 Emily Giant: and then the name is the actual purchased unit, and the product skew is it?
253 00:27:28.740 ⇒ 00:27:34.900 Emily Giant: It would be quantity one, no matter what, because of how it’s
254 00:27:37.360 ⇒ 00:27:39.160 Emily Giant: because of the table. It’s pulling from.
255 00:27:41.810 ⇒ 00:27:42.700 Demilade Agboola: I see.
256 00:27:42.700 ⇒ 00:27:45.355 Emily Giant: The beginning of last week. This report was blank.
257 00:27:46.390 ⇒ 00:27:52.019 Emily Giant: It was blank. I was like, kill me. This is worse than mother’s day.
258 00:27:57.880 ⇒ 00:28:08.290 Emily Giant: but it’s still not good, like it’s still a junk report. But anyway, not not the focus, not the focus, Emily. So let’s pull up linear
259 00:28:10.210 ⇒ 00:28:17.570 Emily Giant: and we can make a list of what still needs to happen in the inventory table. And I would love your input to given that you have, like.
260 00:28:18.100 ⇒ 00:28:23.199 Emily Giant: pretty solid knowledge of like what we’ve already built. I want to know what other people
261 00:28:23.400 ⇒ 00:28:31.950 Emily Giant: do with their inventory, too, like what other types of information
262 00:28:32.300 ⇒ 00:28:37.249 Emily Giant: we should be looking for outside of just like what the stakeholders think that they need, because that’s all they’ve ever
263 00:28:37.570 ⇒ 00:28:41.819 Emily Giant: used in the past. I think that we get really stuck in our ways here.
264 00:28:42.010 ⇒ 00:28:53.060 Emily Giant: And and that can be a problem, especially with like what we’re doing, which is
265 00:28:54.250 ⇒ 00:28:57.700 Emily Giant: changing everything all right. Can you see my screen.
266 00:28:58.380 ⇒ 00:28:59.589 Demilade Agboola: Yes, I can see your screen.
267 00:28:59.590 ⇒ 00:29:02.710 Emily Giant: Okay, let’s do their linear.
268 00:29:03.070 ⇒ 00:29:08.183 Emily Giant: I’m on my porch because I’m hiding from my cats
269 00:29:08.870 ⇒ 00:29:10.189 Demilade Agboola: But they’re not outside.
270 00:29:10.440 ⇒ 00:29:13.590 Emily Giant: Yeah, it’s screened in. So it’s like.
271 00:29:14.140 ⇒ 00:29:16.270 Emily Giant: but you can see the farmland
272 00:29:18.557 ⇒ 00:29:27.129 Emily Giant: but my cat, she has a tracker collar, which, like, shows us her location when she goes outside, and she lost it the other day, so she’s not allowed to go outside.
273 00:29:27.390 ⇒ 00:29:28.020 Emily Giant: So we get a new one
274 00:29:28.020 ⇒ 00:29:29.879 Emily Giant: mail, and she is driving me
275 00:29:30.300 ⇒ 00:29:35.619 Emily Giant: crazy like she wants to go out so badly that, like she won’t stop meowing.
276 00:29:35.870 ⇒ 00:29:40.572 Emily Giant: and I I can’t do it, so I’m just hiding on the screen to port just like 90 degrees.
277 00:29:41.020 ⇒ 00:29:44.270 Emily Giant: But I’m I just gotta get away from her for a little bit.
278 00:29:48.390 ⇒ 00:29:54.350 Emily Giant: Okay, okay. Should we make a new ticket.
279 00:29:55.548 ⇒ 00:29:57.849 Demilade Agboola: Sure. Let’s just create the new ticket.
280 00:29:58.080 ⇒ 00:29:58.630 Emily Giant: Okay.
281 00:30:05.860 ⇒ 00:30:10.479 Emily Giant: every time I get in here, I’m like, Oh, that’s right. I don’t have a clue how to use this.
282 00:30:10.830 ⇒ 00:30:16.680 Emily Giant: no issues create.
283 00:30:20.130 ⇒ 00:30:23.529 Demilade Agboola: I think you’re probably one of the plus buttons somewhere.
284 00:30:24.420 ⇒ 00:30:25.940 Emily Giant: Let’s do it in backlog.
285 00:30:26.610 ⇒ 00:30:27.010 Demilade Agboola: Okay.
286 00:30:27.010 ⇒ 00:30:29.769 Emily Giant: Or it should be in the grooming one. Isn’t there like a grooming.
287 00:30:29.910 ⇒ 00:30:32.179 Demilade Agboola: It could be next cycle.
288 00:30:32.970 ⇒ 00:30:33.710 Emily Giant: Okay.
289 00:30:41.400 ⇒ 00:30:42.140 Emily Giant: okay.
290 00:31:00.460 ⇒ 00:31:02.750 Emily Giant: fields needs.
291 00:31:05.212 ⇒ 00:31:07.139 Demilade Agboola: Items, yeah, items, fine.
292 00:31:11.100 ⇒ 00:31:12.780 Demilade Agboola: Can we view this here.
293 00:31:13.870 ⇒ 00:31:14.690 Emily Giant: Where did?
294 00:31:14.690 ⇒ 00:31:16.450 Demilade Agboola: Bottom, right, bottom, right.
295 00:31:17.710 ⇒ 00:31:18.690 Emily Giant: Bottom right?
296 00:31:18.900 ⇒ 00:31:20.770 Emily Giant: Oh, look! It’s gone now.
297 00:31:20.990 ⇒ 00:31:21.750 Demilade Agboola: Yes.
298 00:31:21.750 ⇒ 00:31:22.863 Emily Giant: So tired.
299 00:31:24.410 ⇒ 00:31:25.510 Demilade Agboola: It was right there.
300 00:31:26.850 ⇒ 00:31:36.530 Emily Giant: Okay, alrighty. So we can do that. We can do the acceptance stuff during grooming. But okay. So
301 00:31:36.710 ⇒ 00:31:56.460 Emily Giant: field or way to aggregate suborders that were delivered. But we’re not signed to a lot.
302 00:31:56.960 ⇒ 00:31:57.700 Demilade Agboola: Yeah.
303 00:32:01.570 ⇒ 00:32:07.507 Emily Giant: I’ll add a subtask for myself to like. Add all those examples for you. So you don’t have to go searching
304 00:32:08.620 ⇒ 00:32:27.410 Emily Giant: we still need to add columns for other adjustment types to mark table and then seen up adjustment types.
305 00:32:27.880 ⇒ 00:32:36.180 Emily Giant: Her delete base categorization document.
306 00:32:37.920 ⇒ 00:32:39.379 Demilade Agboola: Can you attach the documents?
307 00:32:40.210 ⇒ 00:32:40.840 Emily Giant: Yep.
308 00:32:45.110 ⇒ 00:32:47.870 Emily Giant: it’s in a really messy doc. So I’m just gonna
309 00:32:50.010 ⇒ 00:32:51.960 Emily Giant: copy it and add it to a new one
310 00:32:59.520 ⇒ 00:33:01.550 Emily Giant: audit here in the working session.
311 00:33:23.100 ⇒ 00:33:25.120 Emily Giant: Hell, yeah. Okay?
312 00:33:32.870 ⇒ 00:33:41.219 Emily Giant: So would we would we say, like map legacy inventory adjustments to
313 00:33:41.910 ⇒ 00:33:45.079 Emily Giant: this as part of this task? Or is that a different task?
314 00:33:46.430 ⇒ 00:33:47.230 Demilade Agboola: Different.
315 00:33:47.460 ⇒ 00:33:54.340 Demilade Agboola: Yeah, I could. Just I could do that here, since I’m currently like working out I’m seeing where
316 00:33:55.050 ⇒ 00:33:56.619 Demilade Agboola: you can switch things.
317 00:34:03.100 ⇒ 00:34:06.189 Demilade Agboola: But, like the old adjustment types, they still matter now.
318 00:34:07.670 ⇒ 00:34:08.469 Emily Giant: Yeah.
319 00:34:10.350 ⇒ 00:34:13.159 Demilade Agboola: Forecasting and inventory planning.
320 00:34:13.929 ⇒ 00:34:22.099 Demilade Agboola: So just out of curiosity do they decide the ones before, like what November last year.
321 00:34:24.409 ⇒ 00:34:32.779 Demilade Agboola: And then these are like these, help us calculate the invention numbers before November of last year. Basically.
322 00:34:33.420 ⇒ 00:34:41.330 Emily Giant: Yeah, it’s not like, I don’t think we need the level of detail that’s available in the legacy. So I think we can have like a
323 00:34:44.060 ⇒ 00:34:48.159 Emily Giant: a less granular version.
324 00:34:48.420 ⇒ 00:35:00.610 Emily Giant: As long as we have, like the the sales by lot, the product type, the spoilage.
325 00:35:01.050 ⇒ 00:35:05.889 Emily Giant: I think, really what they want to know is how much we spoiled versus how much we bought.
326 00:35:07.300 ⇒ 00:35:08.310 Emily Giant: So
327 00:35:11.430 ⇒ 00:35:14.740 Emily Giant: okay? And then also, oh, fuck
328 00:35:16.040 ⇒ 00:35:22.480 Emily Giant: the inventory snapshot. That is a big deal, and those do not work anymore. Obviously. But
329 00:35:22.750 ⇒ 00:35:29.259 Emily Giant: that’s why those tables would have mattered. So
330 00:35:31.550 ⇒ 00:35:35.339 Emily Giant: you can’t really change a snapshot right like a snapshot’s a snapshot.
331 00:35:35.620 ⇒ 00:35:36.600 Demilade Agboola: Yeah.
332 00:35:40.720 ⇒ 00:35:47.300 Emily Giant: Anyway, we can just they can figure it out, create new snapshot
333 00:35:53.710 ⇒ 00:35:59.740 Emily Giant: similar to let’s call it inventory.
334 00:36:38.010 ⇒ 00:36:38.970 Emily Giant: m.
335 00:37:19.760 ⇒ 00:37:21.979 Emily Giant: does that make sense for the snapshot.
336 00:37:23.093 ⇒ 00:37:32.300 Emily Giant: It says, purpose here is to better understand non-optimal order. Allocation, example. Did the ideal fulfillment center
337 00:37:33.470 ⇒ 00:37:38.880 Emily Giant: for the order have available product. When the order was booked non-optimally.
338 00:37:49.080 ⇒ 00:37:51.160 Demilade Agboola: And.
339 00:37:51.500 ⇒ 00:37:58.820 Emily Giant: I added a little Aka at a location other than the ideal Fulfillment center for that delivery zone. So it would need to be like
340 00:38:00.110 ⇒ 00:38:04.100 Emily Giant: purchase time.
341 00:38:04.720 ⇒ 00:38:09.230 Demilade Agboola: So we’re talking, we’re talking snapshots for like the current system, basically.
342 00:38:09.790 ⇒ 00:38:17.529 Emily Giant: Yes, exactly. So. We don’t need. This is not for legacy. This is like net. New snapshots.
343 00:38:17.990 ⇒ 00:38:18.800 Demilade Agboola: Okay.
344 00:38:20.360 ⇒ 00:38:22.160 Emily Giant: Purchase time product
345 00:38:27.690 ⇒ 00:38:29.150 Emily Giant: ideal.
346 00:38:29.930 ⇒ 00:38:34.999 Emily Giant: Let’s see Billing, let’s see.
347 00:38:39.740 ⇒ 00:38:48.580 Emily Giant: Okay, yep, a way to aggregate spoilage or legacy.
348 00:38:49.220 ⇒ 00:38:59.040 Emily Giant: Yeah, legacy legacy. And but inventory.
349 00:39:00.020 ⇒ 00:39:02.509 Emily Giant: So I’m going to actually put a title of like.
350 00:39:02.700 ⇒ 00:39:05.390 Emily Giant: this is kind of a an area.
351 00:39:05.830 ⇒ 00:39:06.520 Emily Giant: Yeah?
352 00:39:08.210 ⇒ 00:39:19.170 Emily Giant: Oh, adjustment types to be added to both mart models staging.
353 00:39:27.940 ⇒ 00:39:29.640 Emily Giant: Think that’s what it’s called. But
354 00:39:35.450 ⇒ 00:39:48.759 Emily Giant: and there’s still like a little bit of discovery for the adjustment types that needs to take place. I’ve done some work on normalizing that data. But like, it’s not exactly like sales.
355 00:39:49.650 ⇒ 00:39:53.960 Emily Giant: And yeah, wait int.
356 00:39:59.350 ⇒ 00:40:04.810 Emily Giant: there are squirrels chasing each other, inventory reconciliations. Okay, and
357 00:40:16.510 ⇒ 00:40:18.899 Emily Giant: so this is actually.
358 00:40:24.750 ⇒ 00:40:25.939 Emily Giant: this goes here.
359 00:40:37.760 ⇒ 00:40:42.299 Demilade Agboola: Is there a link to the documents here, or cause I can’t seem to.
360 00:40:42.790 ⇒ 00:40:47.420 Demilade Agboola: I say, haven’t been able to haven’t been able to link fill-based document.
361 00:40:48.160 ⇒ 00:40:48.860 Emily Giant: Oh!
362 00:40:49.460 ⇒ 00:40:53.249 Demilade Agboola: Like, I know you added to the sheet. But can we just link it so just so that
363 00:40:53.460 ⇒ 00:40:54.140 Emily Giant: Media.
364 00:40:54.810 ⇒ 00:40:58.479 Emily Giant: Here’s a good idea. Is it better to do it like.
365 00:40:58.800 ⇒ 00:41:07.870 Demilade Agboola: No, you could just double click like, well, there’s that. But you could also like, you know, if you click on the word document. Yeah, you can always add.
366 00:41:09.520 ⇒ 00:41:13.600 Emily Giant: Well, mama, where is it?
367 00:41:18.460 ⇒ 00:41:19.240 Emily Giant: Okay?
368 00:41:21.620 ⇒ 00:41:29.495 Emily Giant: So that will say all of the different categories that he needs?
369 00:41:31.620 ⇒ 00:41:36.320 Emily Giant: I’ll put align legacy adjustments.
370 00:41:36.590 ⇒ 00:41:48.780 Emily Giant: I already did some of this last week. But it’s not perfect. Discovery for
371 00:41:51.620 ⇒ 00:41:58.140 Emily Giant: How am I trying to say this? For which table ultimately?
372 00:42:00.520 ⇒ 00:42:06.150 Emily Giant: Where’s the adjustment detail?
373 00:42:06.730 ⇒ 00:42:14.610 Emily Giant: Is it transaction line or inventory assignment?
374 00:42:25.170 ⇒ 00:42:30.350 Emily Giant: I would say. There’s still outstanding this is a different category, though
375 00:42:36.510 ⇒ 00:42:47.620 Emily Giant: outstanding unique identifier
376 00:42:50.920 ⇒ 00:43:03.219 Emily Giant: paying up of dupes an inventory smart model or Nope, yeah, inventory.
377 00:43:06.480 ⇒ 00:43:08.439 Emily Giant: It’s called inventory lot table.
378 00:43:18.440 ⇒ 00:43:23.380 Demilade Agboola: they’ve seen the model. Yeah, I think it’s marked on the screen. Yeah. Inventory law tier one. Yeah.
379 00:43:29.630 ⇒ 00:43:30.860 Emily Giant: I don’t. There it is.
380 00:43:32.370 ⇒ 00:43:34.480 Emily Giant: That’s way too long bye.
381 00:43:34.480 ⇒ 00:43:41.350 Emily Giant: to be a little script. But we’re not. We’re not going there today. Okay, so way to aggregate suborders that were delivered, but not assigned.
382 00:43:42.210 ⇒ 00:43:47.770 Emily Giant: So this would be in both inventory adjustments.
383 00:43:57.620 ⇒ 00:43:59.020 Emily Giant: I would say
384 00:44:28.010 ⇒ 00:44:34.210 Emily Giant: so. I would just say a lot number.
385 00:44:37.800 ⇒ 00:44:41.559 Emily Giant: So okay, this this model, this legacy model.
386 00:44:42.210 ⇒ 00:44:47.840 Emily Giant: is one that I totally rebuilt like yesterday. It’s called.
387 00:44:48.900 ⇒ 00:44:57.949 Emily Giant: I changed it from inventory adjustments, which is still there, but it’s now different. But the historical or the legacy is int.
388 00:44:58.710 ⇒ 00:45:02.079 Emily Giant: I want to call, say, salesforce inventory adjustments.
389 00:45:04.365 ⇒ 00:45:14.969 Emily Giant: So this is the level of detail. Currently, it’s the source, the creation date.
390 00:45:15.270 ⇒ 00:45:19.899 Emily Giant: the delivery id, the adjustment. Id. This is where it gets like really hairy. For me, it’s like
391 00:45:20.610 ⇒ 00:45:26.149 Emily Giant: this number doesn’t really mean anything. It’s just a way to join together
392 00:45:26.713 ⇒ 00:45:34.830 Emily Giant: or like to backfill information that wasn’t in the legacy system. But currently, it’s
393 00:45:35.110 ⇒ 00:45:48.960 Emily Giant: in the Yaml file as like the unique identifier. And it’s just not. It’s not it was back in the day, but like it isn’t anymore. And it’s causing tests to fail because of how this has been restructured.
394 00:45:51.090 ⇒ 00:45:51.670 Demilade Agboola: So like.
395 00:45:52.640 ⇒ 00:45:53.370 Emily Giant: Sorry go ahead.
396 00:45:53.610 ⇒ 00:45:56.439 Demilade Agboola: But just my Id isn’t a unique identifier. Again.
397 00:45:58.130 ⇒ 00:46:08.039 Emily Giant: So the adjustment id was this is the legacy file. It was used as the join to backfill
398 00:46:08.770 ⇒ 00:46:12.669 Emily Giant: this postgres table when we change to the hevo table.
399 00:46:12.860 ⇒ 00:46:14.719 Emily Giant: But that’s the only purpose
400 00:46:14.820 ⇒ 00:46:24.730 Emily Giant: of that adjustment. Id. It doesn’t mean anything else, and it’s not used in any downstream tables outside of this for meaningful joins, and
401 00:46:25.310 ⇒ 00:46:33.899 Emily Giant: because we no longer need to use that adjustment Id
402 00:46:34.070 ⇒ 00:46:47.050 Emily Giant: as a unique identifier, there isn’t really a comparable field in
403 00:46:47.360 ⇒ 00:46:55.690 Emily Giant: the polytomic model like you could generate a random string of numbers, and that would be about as useful.
404 00:46:55.850 ⇒ 00:47:03.980 Emily Giant: But I would say that the sub order. Id plus the product is what is unique.
405 00:47:05.740 ⇒ 00:47:10.400 Emily Giant: They’re that’s what the adjustment information is
406 00:47:10.580 ⇒ 00:47:12.660 Emily Giant: in my head trying to like.
407 00:47:12.780 ⇒ 00:47:18.450 Emily Giant: communicate to the user. It’s that this was the order, yeah.
408 00:47:19.540 ⇒ 00:47:25.450 Emily Giant: And then the lot, maybe, like the order, the product and the lot, in the event that, like
409 00:47:26.830 ⇒ 00:47:43.670 Emily Giant: one of the units of the firecracker was on one lot, and one of the units of the firecracker was on another, but they got put in a box together and sent, which happens. So it’s really the combination of those 3 that’s unique. Not this like random adjustment. Id. So
410 00:47:44.740 ⇒ 00:47:48.546 Emily Giant: the whole logic of this needs to be overhauled.
411 00:47:49.100 ⇒ 00:47:55.049 Emily Giant: in order to account for like what’s actually unique and not just like a system. Generated thing.
412 00:47:57.740 ⇒ 00:48:04.819 Emily Giant: it’s kind of what’s done in the new version, but it’s not perfect. So I guess that would be like
413 00:48:10.590 ⇒ 00:48:13.270 Emily Giant: adjustment types to be added to Martin tipped. So
414 00:48:16.450 ⇒ 00:48:19.000 Emily Giant: beef unique.
415 00:48:19.480 ⇒ 00:48:30.350 Emily Giant: Id is actually the combination of inventory number
416 00:48:33.400 ⇒ 00:48:34.050 Emily Giant: product.
417 00:48:34.050 ⇒ 00:48:39.239 Demilade Agboola: But for the old data it’s still gonna be adjustment. Id. You can’t.
418 00:48:39.240 ⇒ 00:48:39.960 Emily Giant: My age.
419 00:48:39.960 ⇒ 00:48:42.309 Demilade Agboola: We can’t use this combination.
420 00:48:42.560 ⇒ 00:48:44.680 Emily Giant: Yep you could.
421 00:48:44.840 ⇒ 00:48:47.330 Emily Giant: I don’t think it will work. It won’t work.
422 00:48:48.050 ⇒ 00:48:49.990 Emily Giant: Maybe it will hold on.
423 00:48:59.260 ⇒ 00:49:09.430 Emily Giant: I don’t. Okay. So what’s weird is that we went from order level adjustments with the postgres table
424 00:49:09.800 ⇒ 00:49:15.129 Emily Giant: to order to suborder level adjustments with the updated Hevo table
425 00:49:16.130 ⇒ 00:49:23.199 Emily Giant: to now suborder level adjustments. So there’s like a period of time that I really don’t think that time matters at all
426 00:49:23.320 ⇒ 00:49:33.229 Emily Giant: like it’s so old that we can’t even use that as a proxy for our current business. I would say anything like from 2023 on you could use this
427 00:49:35.010 ⇒ 00:49:37.440 Emily Giant: But anything before 2023, probably not.
428 00:49:38.160 ⇒ 00:49:39.100 Demilade Agboola: Oh, okay.
429 00:49:44.790 ⇒ 00:49:47.609 Demilade Agboola: What about the lot? Id does that matter.
430 00:49:50.199 ⇒ 00:49:58.870 Emily Giant: I mean the inventory number and the lot Id are like in my head, the same thing. They’re just a different sequence of numbers, but they’re always one to one.
431 00:49:59.190 ⇒ 00:50:00.190 Demilade Agboola: So.
432 00:50:02.260 ⇒ 00:50:03.879 Emily Giant: So you could technically.
433 00:50:05.440 ⇒ 00:50:10.450 Emily Giant: So you could use the lot. Id instead. That would be totally fine.
434 00:50:20.540 ⇒ 00:50:26.550 Emily Giant: Okay, so that needs to happen.
435 00:50:30.450 ⇒ 00:50:33.670 Emily Giant: How are kitted skews?
436 00:50:37.180 ⇒ 00:50:48.530 Emily Giant: So I I, there is a like a mismatch of how Kit skews and
437 00:50:48.860 ⇒ 00:50:55.800 Emily Giant: netsuite, or rather shopify Skus and netsuite skews, interact
438 00:50:55.920 ⇒ 00:50:59.960 Emily Giant: because especially with plants. In shopify.
439 00:51:00.540 ⇒ 00:51:04.859 Emily Giant: When a plant is booked, it doesn’t.
440 00:51:06.490 ⇒ 00:51:10.660 Emily Giant: It doesn’t adjust on that skew.
441 00:51:10.890 ⇒ 00:51:15.149 Emily Giant: It adjusts on the 2 different components.
442 00:51:17.570 ⇒ 00:51:24.359 Emily Giant: of the plant, because there’s always a pot, and there’s always a plant unlike our florals, where, like you can buy the bouquet without
443 00:51:24.650 ⇒ 00:51:31.489 Emily Giant: a a vase. You cannot do that with a plant. So
444 00:51:32.260 ⇒ 00:51:35.219 Emily Giant: let me see if I can show you what I mean.
445 00:51:35.410 ⇒ 00:51:38.319 Emily Giant: There’s it’s very difficult to
446 00:51:40.510 ⇒ 00:51:45.440 Emily Giant: in the current state. It will not be when we use, shopify instead to reconcile.
447 00:51:46.604 ⇒ 00:51:56.149 Emily Giant: The items used in netsuite versus shopify because of how it does not actually decrement.
448 00:51:56.620 ⇒ 00:52:01.820 Emily Giant: My, I can’t. I can’t explain that. I just need to show you products.
449 00:52:05.990 ⇒ 00:52:12.918 Emily Giant: This is some real like urban stems shit, isn’t it? Like the plant stuff. Okay?
450 00:52:17.890 ⇒ 00:52:18.690 Emily Giant: lance.
451 00:52:21.680 ⇒ 00:52:22.390 Emily Giant: Okay.
452 00:52:32.450 ⇒ 00:52:36.629 Emily Giant: So it says, no lot inventory for this product.
453 00:52:37.730 ⇒ 00:52:44.530 Emily Giant: So like, I don’t even know how this works
454 00:52:44.660 ⇒ 00:52:54.510 Emily Giant: for netsuite sales, because it’s essentially like not booking this skew
455 00:52:54.840 ⇒ 00:52:59.359 Emily Giant: against the actual units in netsuite.
456 00:52:59.550 ⇒ 00:53:08.029 Emily Giant: because netsuite has them separate, I think, or or they’ve changed over time like sometimes it’s a kit. Sometimes it’s the pieces of the kit.
457 00:53:08.470 ⇒ 00:53:09.490 Emily Giant: but it’s a mess.
458 00:53:09.690 ⇒ 00:53:12.989 Emily Giant: So plants are just an area of opportunity.
459 00:53:15.680 ⇒ 00:53:22.880 Demilade Agboola: So let me, let’s be clear. So shopify here is handling like the processing of the orders, basically.
460 00:53:23.040 ⇒ 00:53:25.530 Demilade Agboola: And it’s like this is a bundle
461 00:53:25.680 ⇒ 00:53:28.870 Demilade Agboola: that’s made up of this different like
462 00:53:29.500 ⇒ 00:53:33.710 Demilade Agboola: ids. What what’s netsuite doing? Basically.
463 00:53:37.760 ⇒ 00:53:38.990 Emily Giant: I don’t know.
464 00:53:40.810 ⇒ 00:53:45.570 Emily Giant: that means that I do have plants built into the adjustment table, so I can probably
465 00:53:45.880 ⇒ 00:53:47.580 Emily Giant: pull that real quick and mode.
466 00:53:48.020 ⇒ 00:53:54.889 Demilade Agboola: Okay. So I’m I’m asking, because, like, I want to know, like, how we reconcile these different systems together.
467 00:53:57.020 ⇒ 00:53:59.772 Emily Giant: Not. Well. How?
468 00:54:00.700 ⇒ 00:54:09.520 Emily Giant: How are kits sold in shopify, reconciled in netsuite?
469 00:54:42.910 ⇒ 00:54:43.590 Emily Giant: Okay?
470 00:54:46.950 ⇒ 00:55:04.010 Emily Giant: So I think part of this is configuring stable relationship between what we consider a parents view
471 00:55:04.550 ⇒ 00:55:12.952 Emily Giant: and a piece skew. And I’m gonna share this horrendous document.
472 00:55:17.090 ⇒ 00:55:20.467 Emily Giant: that is up kept by our Ecom team.
473 00:55:27.860 ⇒ 00:55:34.550 Emily Giant: they hard code? I’ll make a copy of it, so that if you want to write in under.
474 00:55:36.270 ⇒ 00:55:37.900 Emily Giant: do anything to it.
475 00:55:49.500 ⇒ 00:55:58.820 Emily Giant: So it has all of the information in this document, but because it’s upkept by human, it’s really not advisable to like
476 00:55:59.680 ⇒ 00:56:00.630 Emily Giant: use it
477 00:56:00.910 ⇒ 00:56:10.599 Emily Giant: ever as like an upload of from my experience. Also, it’s like not formatted in a way that you could, to begin with.
478 00:56:10.810 ⇒ 00:56:17.420 Emily Giant: But let me show you in the product.
479 00:56:18.640 ⇒ 00:56:23.440 Emily Giant: So they have all the seasons here, and if you click on it, you can see, like
480 00:56:23.720 ⇒ 00:56:30.090 Emily Giant: the component name, which is the piece name which I guess we should rename it to component name, because
481 00:56:32.110 ⇒ 00:56:35.480 Emily Giant: it should be synthesized across
482 00:56:35.770 ⇒ 00:56:48.649 Emily Giant: all of our like usage. And it isn’t. And I’m constantly confused. So we’ve got the parent skew. And then the component skew. So the parent is going to be like the triple kit, double whatever. And the component is just the single
483 00:56:48.960 ⇒ 00:56:53.380 Emily Giant: which we were talking about a little bit earlier, but this is gonna be like
484 00:56:55.700 ⇒ 00:57:07.420 Demilade Agboola: So quick question, just a question from inventory perspective. When a when a parent skew is bought, how does that translate to the competence? Queue. Do you count like
485 00:57:08.060 ⇒ 00:57:13.900 Demilade Agboola: the does it count as one of the components? Queue plus? Maybe the phase.
486 00:57:14.270 ⇒ 00:57:17.690 Demilade Agboola: or like, I’m just. I’m curious how.
487 00:57:18.150 ⇒ 00:57:20.940 Emily Giant: In netsuite or in inventory. It will say
488 00:57:21.497 ⇒ 00:57:29.610 Emily Giant: if somebody bought double the dove bouquet, it would say, FLRL. B. That number quantity 2,
489 00:57:29.800 ⇒ 00:57:35.360 Emily Giant: and then if they also bought a vase, it would show the vase if it was the kit. So let’s find a kit
490 00:57:38.250 ⇒ 00:57:44.409 Emily Giant: in Netsuite. If they bought the dreamscape it would show
491 00:57:47.030 ⇒ 00:57:57.950 Emily Giant: it’s broken, but it should show one of the blue bug vase one of the dreamscape bouquet. So it depends on like what fields you were adding. But they want
492 00:57:58.370 ⇒ 00:58:02.820 Emily Giant: to have access to both levels. So like, if
493 00:58:05.200 ⇒ 00:58:10.519 Emily Giant: if somebody was pulling that report I sent you earlier. It would say like
494 00:58:10.940 ⇒ 00:58:14.309 Emily Giant: exactly this, it would say the kitted skew
495 00:58:14.510 ⇒ 00:58:20.499 Emily Giant: for all 3, and then the components of the kit. But this line wouldn’t be there.
496 00:58:21.060 ⇒ 00:58:29.590 Emily Giant: Cause that’s something that’s like an issue right now is it’s incorporating every skew
497 00:58:29.770 ⇒ 00:58:36.820 Emily Giant: instead of saying like, this is not an additional thing. This is
498 00:58:37.010 ⇒ 00:58:44.840 Emily Giant: just the header for these 2 things, but it’s having trouble parsing out that this is not another item.
499 00:58:46.120 ⇒ 00:58:48.159 Demilade Agboola: Gotcha gotcha gotcha
500 00:58:51.430 ⇒ 00:58:56.730 Demilade Agboola: gotcha. So you both you want eventually of parent skews and component skews, basically as well.
501 00:58:57.170 ⇒ 00:59:04.039 Emily Giant: Yes, and that’s that relationship that like, I’ve been trying to tweak between systems.
502 00:59:04.560 ⇒ 00:59:08.097 Emily Giant: But until we move over to the shopify
503 00:59:08.670 ⇒ 00:59:16.820 Emily Giant: raw data tables. I just don’t think it can be done. Because of how the data is being ingested from the get go
504 00:59:17.616 ⇒ 00:59:39.720 Emily Giant: it’s there is like a bundle id somewhere in the shopify tables. There’s also, like all manner of things that we can add to the shopify product profile if we need a proper join like that’s on the table is us like having input about how the problem problems. Well, yeah, how the products are configured. In the 1st place. So.
505 00:59:39.720 ⇒ 00:59:40.260 Demilade Agboola: Alright!
506 00:59:40.886 ⇒ 00:59:44.833 Emily Giant: That is not off the table. I just don’t want us to have to do that.
507 00:59:46.900 ⇒ 00:59:48.839 Emily Giant: Oh, product, infrastructure! Let me.
508 00:59:58.900 ⇒ 01:00:03.290 Emily Giant: And then I have to hop to my my daily call, but then I’ll see you again.
509 01:00:04.012 ⇒ 01:00:14.009 Emily Giant: It’s so totally fine that we did not get to my junk. It’s not going anywhere, and it would also be good to go over with Kayo so that he gets more like
510 01:00:15.140 ⇒ 01:00:22.790 Emily Giant: understanding of our revenue issues. I think you you kind of like, get it cause you’ve been here a hot minute. But
511 01:00:25.250 ⇒ 01:00:26.130 Emily Giant: all right.
512 01:00:35.260 ⇒ 01:00:36.190 Emily Giant: okay.
513 01:00:39.530 ⇒ 01:00:45.829 Emily Giant: I’m just gonna start this I’ll fill out stuff later. If you want to add any comments about like what I need to provide to you
514 01:00:46.660 ⇒ 01:00:50.560 Emily Giant: ticket, just throw it in there, and I’ll put it in the working sheet.
515 01:00:51.010 ⇒ 01:00:52.200 Demilade Agboola: Alright, sounds good.
516 01:00:52.430 ⇒ 01:00:54.189 Emily Giant: Cool. Thank you so much.
517 01:00:54.590 ⇒ 01:00:56.560 Demilade Agboola: Okay. Sounds good. See? You soon.
518 01:00:57.070 ⇒ 01:00:58.200 Emily Giant: You soon, bye.
519 01:00:58.550 ⇒ 01:00:59.340 Demilade Agboola: Right.