Transcript February 19, 2026, 10:34AM 
Ash Alexander started transcription 
Ash Alexander 0:03
The billing instructions generated. So to bring you up to speed of where we are now is that we've so you remember the subscription plan module from Bepaz. 
Jerry 0:14
Yep. 
Ash Alexander 0:15
So we've maybe essentially made billing instructions like that. So instead of a subscription item, we have a billing instruction. Instead of a subscription plan, we have a billing profile. 
Jerry 0:24
OK. 
Ash Alexander 0:26
So that's the end goal of where we wanna go. After that it's it's you know our normal generate invoice Mr. that's gonna take over. So that part is the. 
Jerry 0:36
OK, so do you have the demo account where this setup is there or anywhere any other instance where this whole this piece is there? 
Ash Alexander 0:45
So I'll show you. Wait. Yeah, I'll. 
Jerry 0:49
Because I Sarah, how familiar are you with the outcome or the requirements or the scope of this piece? 
Sarah Shalfoun 0:57
I just got familiar after last week. I got familiar with the with the details of the business of it, but not but still not technically like not what is actually done technically. 
Jerry 1:01
After our discussion.
OK. 
Sarah Shalfoun 1:13
I am familiar with the business of it. 
Jerry 1:13
OK. 
Sarah Shalfoun 1:16
What is required, where we want to get and where we are right now. 
Jerry 1:21
OK. So where we want to get is to some extent we covered both the enrollment and the application side of the solution, right, which is what we spoke about last time in terms of when you say requirements or scope or what was required to be done. So we've covered that bit. Do you want?
Want to go against the same context in this in in terms of billing and payments or? 
Sarah Shalfoun 1:47
In terms of the configurator, like what is like technically done in the configurator and what is still missing? 
Jerry 1:50
OK.
But Ash, we're not using any configurator for the billing. 
Ash Alexander 2:01
No, right now I used. So essentially what I did was I I was the configurator. I got I used Excel, I built this and I imported the I what you can see in the screen right now. So you have the billing profile which is basically a subscription plan and this is essentially a subscription items. 
Jerry 2:19
OK. So that's the customer, that's the line item. So you're storing this. So each of this, this ID is for what per family is it? OK, got it. OK. 
Ash Alexander 2:33
Yeah, it's per family. 
Jerry 2:36
OK, so this is the instruction sitting against the family and based on this the invoice gets narrated. 
Ash Alexander 2:40
Correct. So remember how we had the billing instructions applied to and the billing instructions. So instead of that we have just the billing instruction. 
Jerry 2:44
Yes, yes, yes.
OK. 
Ash Alexander 2:49
So we need to know. So for it we don't need to know about this part. We need to know in the Saint Edwards account or even in Weddington account. How was the configurator? What was the configurator built to do? What does it do and how does it get to the invoice?
That's what we need to know. 
Jerry 3:07
The configurator. When you say configurator, you mean. 
Ash Alexander 3:10
I mean this, this, this one, the step one configure and apply. 
Jerry 3:14
OK, can you run that?
Uh, OK. 
Ash Alexander 3:24
This one. 
Jerry 3:25
OK.
Any so Sarah, I think no, it's just firing. It's just firing parts of my brain which I didn't wanna access for sometime. But look, Sarah, look to be honest with you. 
Ash Alexander 3:31
Nostalgic. 
Jerry 3:45
We tried, you know, trying to because we didn't come from, you know, like proper coding and development background. We tried to again, like I said last time, we simplified a lot of things back to where we can have control over how the solution should act and so on and so forth, right. 
Sarah Shalfoun 3:54
Mhm. 
Jerry 4:05
So. 
Sarah Shalfoun 4:06
Um. 
Jerry 4:07
How much of the billing instructions part are you aware of?
Like do you understand what the billing instruction is and the billing profile is what Ash says and what happens after that to generate the invoice? Because without that context it's quite tricky to explain this. 
Sarah Shalfoun 4:21
Um.
Yes, my understanding is we have certain items whether they are like charges, fees, even discounts and we have like the the the students with like year level with student type. 
Jerry 4:34
Mm-hmm. 
Sarah Shalfoun 4:45
With, I don't know, like certain certain parameters of the student and the billing instruction, according to my understanding, is what actually links these items that says this item applies to this student or this debtor. 
Jerry 5:03
Yep.
Yep, perfect. So this, it's just marrying up of those datasets and using that as an instruction to, you know, invoice basically on a scheduled date. You're right. So this part is sort of a prerequisite to that, right? So the idea behind it was to. 
Sarah Shalfoun 5:13
OK.
Mhm. 
Jerry 5:22
Start getting the schools or giving the schools access to be able to control the entire billing instruction itself. So this is really like a UI to sort of instruct the system.
And give business logic to it on and the preferences to it and that sort of stores the information or the instructions from this flow and then based off of that it automatically generates the billing instruction. So the idea of the billing instructions and the billing profile or whatever Ash has got.
Is for the to act as an instruction to the invoice, right? So this part is nothing but the layer before where this acts as a tool to configure the billing instruction itself, right? So the reason we did that was we didn't want to go to each school and say, OK, build this custom record again from scratch, map it.
Make it understand what's what the whole 9 yards right? The idea was to go install a script into the like a bundle, install the entire app on Netsuite, launch this, click on my preferences, store it, submit.
Billing instruction gets created based on the billing instruction and the dates. For example, if the billing or the invoicing has to happen annually, it does that. If it's half daily, it does that. So all of those preferences is what this is. OK, so if you look at this, the first part is the segmentation. 
Sarah Shalfoun 6:43
Mhm, mhm. 
Jerry 6:51
It's just split between the charging and the discounting, so the sales bit and the discounting bit. So it's really asking the school, hey, do you use or does your billing instruction need to include said charges or these discounts? So do you apply this? So for example, some schools have multiple discounts.
So this particular school has just one discount category. So other schools might have parent discount or kids discount, sibling discounts, things like that. So we wouldn't know which school has what preferences and how they run the system, right? Obviously from a NetSuite perspective when you go into the school and. 
Sarah Shalfoun 7:20
Mhm. 
Jerry 7:30
To sort of requirements gathering or sort of workshopping to understand their business or the school's process, we get the idea. But once that idea is sort of flushed out by us from a consulting perspective on a digital standpoint, once that is done and when the software gets installed, we wanted to make this as a guided.
To be able to capture those nuances of a particular school. So some might have discounts, some might have other categories or whatnot. So this data is simply coming from the back end in NetSuite which is. 
Sarah Shalfoun 7:55
Mm-hmm. 
Jerry 8:04
Ash, do you can you pull up the item? Any one item please? I just it should have some classification to it. There's something called class.
Anything do it. 
Ash Alexander 8:18
So you're filtering, you're filtering by item classes, is it? 
Jerry 8:20
No, no, no. If you go into the item record, any item it it would have a subclass that's a custom category that we created. Ideally it could be the chart of accounts or it could be some something else that we can. 
Ash Alexander 8:32
OK, because I was wondering why? Because with discount item you can't set an item type. We don't have a custom record. 
Jerry 8:40
Correct. So we create a, we created something called classes. You remember like the custom record, there's something where for classification there was something next week launched like a couple years ago like there was a class field like more of these important fields got released as a custom field. So one of that is what we use the classification.
It comes under the classification, so it's called a class field. So we used a custom field and we categorize that and really it could you could use multiple options to do that. So if you go back to. 
Sarah Shalfoun 9:16
A class field for the the charges, the item itself. Yeah, OK, and it applies only for the charges items, not for the the the discount items. 
Jerry 9:20
The item, yes, yes.
No, it it it shows up. It shows both. So basically you remember you have like remember I said I'm creating a custom field. So if I'm creating a custom field and classifying my items, I can pull the source value of those. 
Sarah Shalfoun 9:30
Oh, OK.
Mhm.
Mhm. 
Jerry 10:04
Say, hey, we don't really use categories, they're just a list of items. So in that case it really doesn't matter. This screen sort of, you know, doesn't matter the billing part for the the category section. So Ash, can you go back to the can you, can you?
Launch that thing again. Yes, please. Thank you. So in that case, the categories won't show up at all. OK, so similarly, if you go to the items, go to the next tab, Ash, you've got the there's another tab, no within the suitelet.
There's one call, yeah, so see what this does. This again is a direct replication to the item item list in NetSuite. So in this particular case, if you see for the invoicing or for the annual invoicing, so there might be any number of items the school can choose to do whatever they want with their account.
Sorting system, yes. So we we don't want to like sort of source and be smart about it within the script and say go look at only these items. So I we didn't want to, you know, key those information via code or via a sweet script. 
Sarah Shalfoun 10:58
Mhm. 
Jerry 11:13
Instead, we built this UI to able to for the user to be able to select and saying hey only these things apply to the.
The annual billing, nothing else. Those are the rest of it is just, you know, just the rest of the items. So it's really giving a better interface for the Net Suite's item list. That's all this screen does and we're picking the items that we want to use on our. 
Sarah Shalfoun 11:32
Mhm. 
Jerry 11:36
Billing engine. So these checkboxes sort of take instruction and store that information or that instruction from this and it picks those items only on the billing engine. So that's the idea similarly. 
Sarah Shalfoun 11:50
But what's like out of like? What I don't understand is why would an item exist if we're not going to use it in billing? Like why is it there? Why is it configured? 
Jerry 11:54
Sorry, you go.
OK, see, there's a basic, uh, accounting. Uh, the items can see.
For and this is this screen itself is a good example, right? So the school doesn't annually charge for some of the stem. So for for example, they've created an item item called COVID-19, right? They've given a discount that does not happen every year. 
Sarah Shalfoun 12:22
Mm mm. 
Jerry 12:25
Or that's does not apply to every bill or the every invoice they give to the families, right? 
Sarah Shalfoun 12:30
Oh, OK, so this is for this current cycle. 
Jerry 12:34
Correct the current cycle or the recurring cycle. So anytime for the next year's cycle, if they don't wanna use a particular item, they can pull it up. 
Sarah Shalfoun 12:36
Mhm.
OK. 
Jerry 12:42
So it's like a one time, once a year sort of thing that like an instruction to what the engine needs to do, right? So that's with the item. So as there's another couple of tabs in terms of families and student as well. 
Sarah Shalfoun 12:49
OK. 
Jerry 12:58
So again, this is exactly what sort of Ash or someone would do in terms of the instruction and uploading the instruction itself. So this is really again, it's a hidden checkbox under each of these debtors. 
Sarah Shalfoun 13:10
Mhm. 
Jerry 13:16
Or families. So what this does is this data is automatically pulled and it it can you see that the filters ash family code and family status so.
So what we're trying to do here is again, pull out the entire list of families and say to which families do the next year's instruction needs to be applicable to, for example.
For example, there might be students which pass out from year 12 and they become null and there might be new batch of students which come in into year 7, right? So this was designed to, you know, pull up that and be smart about it and auto assigned all of the. 
Sarah Shalfoun 13:52
Mhm, mhm. 
Jerry 13:59
Debtors in the system. In other words, 9995 percent of all the debtors have to be selected unless for any other, you know, different kind of customer the school might have, which is probably not the case, but 99% of it is mostly families. So what this screen was designed to do was to.
You know, pull it up, pre-select all of it. If the school wants one of the families, or let's say 5 or 10 of the families that they've highlighted right, or they've pulled out and saying we don't want to use the engine to invoice them. Rather we want to manually invoice them because we have to make some manual editing or changes or information into the invoice.
So they can pull those particular families or a group of families out from the engine processing or giving the instruction to. 
Sarah Shalfoun 14:38
Mhm. 
Ash Alexander 14:46
So Sarah, this will apply for those. So in the period when they do their annual annual invoicing, every day they'll have some some kind of movement in terms of students going in, students coming out. Even after invoicing they can have students leaving. So this will at that point help them filter all of that out because our. 
Sarah Shalfoun 14:46
OK. 
Ash Alexander 15:05
Integration to their student information system will run daily, but then in the interim this will help them iron out those 5 two to 5% of families that have this change and even in in terms of manual invoicing, if there's for example a family drops out, some schools will.
Build them for a particular, they have something called fees in lieu. So they'll build them for that particular just for that particular period, probably 10% of what the annual fee was supposed to be. So they have all of that sort of complexity. So this will help us iron all of that out. 
Sarah Shalfoun 15:28
Mhm.
OK, so you can actually sometimes just uh uh. 
Jerry 15:41
Getting. 
Sarah Shalfoun 15:46
Like execute this configuration for a like for instance for a family, for one family that actually they left the school or you can do that. 
Ash Alexander 15:57
Correct. 
Jerry 15:58
Correct, correct. But ideally the that's the kids who've left should sort of take in effect. We don't pull up the data of the kids who've left and show this is just the current year 7 to 12 for example. So they're the active kids. 
Ash Alexander 15:58
Correct and also. 
Jerry 16:14
Out of which, if you don't want to invoice any particular family or a remove a particular kids line item from an invoice, you can do that here. 
Sarah Shalfoun 16:23
OK. 
Ash Alexander 16:24
And also it's a it's like a visual reminder of how many students are there. We have 2000 students or we have 920 students. This is the number doesn't match. So who is extra? All of that sort of Peace of Mind check for them. 
Jerry 16:32
Yep.
Correct. So that's something they can reconcile before they even launch the billing instruction. So that's to do with this instruction tab to say which data do I need to use? Which items do I need to use for the billing engine to run? That's all this is the first. 
Sarah Shalfoun 16:40
Mhm, mhm. 
Jerry 16:58
Part of this, OK, does that make sense, Sarah? Or did you get an idea of what we're talking about? 
Sarah Shalfoun 17:04
Yeah, yeah, that's.
Yes, yes. 
Jerry 17:08
OK, so the next thing is that again, this is again whatever we wanted to write on the script, we have just tried to visually represent it it again. So in the second tab, once you've selected your items, then this would sort of the next page would say OK, now you selected the items.
Which item has to apply to which year, right? Again, most of it the common sense ones are preset.
Right. And the other ones like levies or discounts, they need to be see for example the building levy, it does not. Uh, it applies to everyone all. 
Sarah Shalfoun 17:34
Mhm.
Mhm. 
Jerry 17:44
OK, all the years from year 7 to year 12. So for example laptop higher fee year 8 and 11.
And that sort of selected to just share it. So it's basically writing code visually in other words and trying to apply instruction to the system. So sibling discounts apply to this and so if you look at the bottom one, the B Levi B Levy stop discount. 
Sarah Shalfoun 18:00
Mhm. 
Jerry 18:11
That's got only something called this stuff. So we have like a checkbox on some of the students or the families where it says is stuff so they get it like a special discount. So all of these sort of requirements which came from the school is what we've sort of.
Keyed in to say this particular item applies to that, uh, student here. 
Sarah Shalfoun 18:33
And these family types, can they also be configured here? 
Ash Alexander 18:37
Correct. 
Jerry 18:38
Uh. 
Sarah Shalfoun 18:39
Like now we have all and stuff only. 
Jerry 18:42
Correct. Again, this was particular to the school. You can configure and have how many ever you want. 
Ash Alexander 18:43
Yes, Sir.
This so this student year, families and other classification will be school specific, but this page, this items will be a few other part of what we've offered to them. 
Jerry 18:53
Correct.
Right. Yeah, yeah. 
Sarah Shalfoun 18:58
Uh, OK. 
Ash Alexander 19:00
So Jerry, I have a question. So these categories, this comes from classes, is it or is it a saved search where you've have the item ID discount levies, student fees, the way you split it? 
Jerry 19:06
Which category?
Yes. So we've just grouped it on the design, but there's no back end classification as yet. That's something you need to build or create a field on the items, yeah. 
Ash Alexander 19:17
OK.
OK.
Got it. Got it. OK. 
Jerry 19:28
So then exceptions are again if you want to flag some family or the student.
Uh, you wanna exclude?
You know any student in a particular group where they might have, you know, special conditions, so this logic doesn't apply to that sort of thing. So this is more for exception handling. 
Sarah Shalfoun 19:51
Like how one second can you give an example and like how do you add it? 
Jerry 20:00
Uh. 
Sarah Shalfoun 20:00
Ash, if you can like add an exception here. 
Ash Alexander 20:04
So I don't want this. So all of this selection that we've made, I don't want to. Let's say let's take this one particular item. Yeah, laptop fee 8 and 11. Let's say I don't want it to apply it to your eight. I want it to apply only to your 11. 
Jerry 20:12
Yeah. 
Ash Alexander 20:20
I guess you can just unselect it here, but here also is a where place where. 
Jerry 20:23
Yeah, you can particularly pick a particular student or a particular group of students or a particular family code to exclude this instruction from being applied to. 
Ash Alexander 20:33
So for example, year 8, I don't want any future student or I just want year eight. I don't want any, let's say graduated student to pay that or something like that or someone who's left. 
Jerry 20:43
Yeah, so again, Sarah, this doesn't do any action. This is the dummy screen. OK, so one important thing that you know want to know about this billing configuration does not work.
OK, like everything you see on the UI is all bells and whistles. It's all smokes and mirrors. It's just business solution that we wanted designed on UI and I'm probably 10% of this works. 
Ash Alexander 20:58
Yep. 
Sarah Shalfoun 20:58
OK.
Mhm. 
Ash Alexander 21:08
So.
Think of this as requirement gathering. 
Jerry 21:15
Yes, pretty much. But also I wanted to tell you this at the end, but my big recommendation for you would be to to flush out the requirements or like a development plan which if you're planning to do it outside of NetSuite and integrate with NetSuite because this is the mistake we did last time.
The design was done with NetSuite in mind, a particular school in mind, as well as our final outcome in mind. So it became like a big soup of all three and that's when the clarity got missed and everything was left half baked and the one we built on Weddington Academy was a quite.
Comprehensive one, but uh, that again had a few parts which did not work. So that's my tip when you whenever you start. OK. 
Sarah Shalfoun 22:02
OK, but Ashley did mention that the configurator actually works for for a certain client. It was I think. 
Ash Alexander 22:09
These guys, they it works for this San Edwards. They don't do anything. It's essentially no, they use it. What they do is they go, they don't change anything. They don't change any inputs, nothing. All they do is they go to. 
Jerry 22:14
That they don't use it at all. 
Ash Alexander 22:24
All that they do is they go to this part, they see the number of families, it matches, they see the number of student, it matches. If if it's, if they're happy, they go next. They don't alter anything on the screen, they don't do anything on the screen. 
Jerry 22:31
Yeah, they check the totals.
Anything on the screen? Yep. 
Ash Alexander 22:41
On the screen also the only thing they changed was this. They made it 22 instead of 24. Then after that they didn't do anything on the screen. They don't do anything on the screen and then just hit submit and then the billing instructions are generated. 
Sarah Shalfoun 22:54
No, OK. 
Jerry 22:54
Yep, that's pretty much it. He's he's spot on. That's what they do and that's what we've sort of instructed them to do. So this whole scheduling thing, the period start period end is really again the billing period, like again the schools might have a different billing cycle. So based on that.
It sort of needs to apply the invoices to that particular period or the date. 
Sarah Shalfoun 23:19
Mhm. 
Jerry 23:19
OK, again, these are all preset of messages of any school or any family which has, you know.
Any pending balances if this if this is the last year or whatever, so we can give them a particular special message saying look you have this balance, you've gotta clear this. 
Sarah Shalfoun 23:37
Mhm. 
Jerry 23:48
Or you have to pay in full, you don't have a choice. You can't pay on like you know the traditional breakup of like a subscription. So that sort of thing. And does this need to be excluded from the entire batch of of processing? 
Ash Alexander 24:02
Sh.
So what's the difference between this and let's say if I go here I have update opening balances. 
Jerry 24:11
Can you pull that?
Oh, it'll run a script. No, if you do it. 
Ash Alexander 24:15
Yeah, it runs the script. 
Jerry 24:17
OK. Again, updating opening balances is nothing but the previous year's bill number sort of kicks in as the opening balance number on our field. It's just a background process, right? So this go back to the billing instruction, it does not it. This is not.
Anything to do with the opening balance?
From memory, I think this is more to do with the exclusion of certain debtors who have passed an X amount.
Or a particular billing amount which is pending from the past. So this is more to do with that. I don't think there's an opening balance instruction here. 
Ash Alexander 25:03
OK. 
Jerry 25:04
So again, this second tab does not work. It does not do anything. Even if you key keyed in any data and somebody it does nothing basically. Yeah, so the payments are quite self-explanatory set up, whichever you wanna see the credit card or the bank account option on your pop up. 
Ash Alexander 25:11
OK. 
Sarah Shalfoun 25:18
Mhm. 
Jerry 25:23
When you're doing your invoicing, do you want to only show weekly option or fortnightly monthly option? Do you want to show all three options? And if it's weekly, how many payments or how many different splits can you make? If it's fortnightly, how many splits? So these are all again pretty straightforward back end instruction for the.
Payment.
The recurring payment engine to pick up the info. OK, so whatever you see on the UI, this is sort of an instruction to to show and not show for this particular. 
Sarah Shalfoun 25:46
Mhm.
Mhm.
But what I don't understand, let's say like it's monthly and then it's 12 payments. So why would you change the 12 payments for monthly? Like why would you have like monthly and six payments? 
Jerry 25:59
Yeah.
Yeah. 
Sarah Shalfoun 26:10
So what's what's? 
Jerry 26:11
Yeah, it's a well.
Yes, but um, I think um.
The reason we opened up that field was I think this school had a particular requirement of that they sometimes they can change the weekly into a lesser number of weeks or something like that, for example.
If it's a weekly it it could be like within 20 weeks or 30 weeks, something like that. So they had a particular requirement to open those fields up at the time. I think the monthly and fortnightly option was the weekly and fortnightly option was sort of subject to change.
Based on, you know the differences and how many cycles that they wanted to do, like for example the 24 cycle could go to, you know you have to pay within 20 cycles, 490, something like that. 
Sarah Shalfoun 26:51
Mhm.
Oh, OK. And Ash, does this like?
Work for for instance when the when the when the invoicing when sorry the transaction is the actually a sales order and it's annual and then they want to split the annual payment. Is this a case where this can be helpful? 
Ash Alexander 27:29
This the that will not be set by the school. That's set by the parent because the that is based on banking limits. 
Sarah Shalfoun 27:37
Oh, OK. So that's in the payments. OK. 
Ash Alexander 27:37
So, so that the parent will have to correct. We can we can say that you can have only a maximum of let's say 5 splits.
But we can't. There's now no much control we can have beyond that, because that all depends on what individual bank that they use and what or what card that they use and what their banking limits are for. Because in the last, in the last case, we've had some families pay a whole 100,000 together. We've had someone split. 
Sarah Shalfoun 27:58
Mm. 
Ash Alexander 28:04
30,000 into four. So it you you really can't say the it's a it's a huge, it's a huge difference. So that's entirely up to the parent. 
Jerry 28:11
So Ash is is Sarah building on NetSuite or is she trying to build something outside independently? 
Ash Alexander 28:17
What?
We need to first fix the inner suite once first. That's step one for existing clients. 
Jerry 28:19
Oh.
Fix meaning which? 
Ash Alexander 28:28
Make essentially make this work. 
Jerry 28:30
Uh, right. OK. 
Ash Alexander 28:34
Yeah. 
Jerry 28:34
OK. 
Sarah Shalfoun 28:38
Mhm. 
Jerry 28:39
This is mid year. Again, this is all particular to the school, Sarah. I don't they had like some kids might start in the middle of the year, right? So see basically what the the mistake that we've done is all of the exceptions that the school had.
Right. 
Sarah Shalfoun 28:58
Mhm. 
Jerry 28:58
Or anything outside of a standard billing engine. Everything specific to the school is what's built. So the the idea behind this which is working is based on the school in particular. Tomorrow a a school might not want this or this is something they wouldn't even, you know, worry about.
So we don't know. So but then the idea behind the midyear was if any kid starts in the middle of the year, right, there needs to be a start date and ending to the billing engine. Because remember to when in the scheduling tab we had generated a period saying from Feb to November, that's my billing period. 
Sarah Shalfoun 29:28
Mhm.
Mhm. 
Jerry 29:37
For accounting purposes and similarly for this kid it could be different because he or she would start in the middle of the year or a couple of months later they don't get included in the.
Uh, billing cycle. So this is a set of instructions for those exceptions. 
Sarah Shalfoun 29:55
OK. 
Jerry 29:56
So again, remember where I told you where this frequency comes in play 402424. So there's something called divisible value. Then they'll try to sort of diminish into a lesser set of splits. 
Sarah Shalfoun 30:01
Mhm. 
Jerry 30:12
So, OK, so that's the instruction to the mid year bit, yeah. 
Sarah Shalfoun 30:12
Mhm. 
Ash Alexander 30:17
Was this was this configurator supposed to a one time thing that I do it at the beginning of the year or let's say in this case where I have a mid year I can come and do that again? 
Sarah Shalfoun 30:18
Mhm. 
Jerry 30:25
It's.
No, this is the one time thing you have to do. It's just like a preset for how to treat the midyears rather than happening midyear. 
Ash Alexander 30:34
OK.
So how will you know that this particular student is in media? 
Jerry 30:40
You know I'm saying if that student comes in the mid year, anytime in the mid year you select a period range for that. 
Ash Alexander 30:48
OK. 
Jerry 30:48
So that so you're saying any kid which comes from after the billing cycle ends, they sit into the midyear seg category and the midyear category would be ranging from month X to month Y and this is the special instructions for that sort of thing. 
Ash Alexander 30:57
OK.
OK. 
Jerry 31:09
And then the maintenance, this bit is just again a data storage of data and cleansing of data like all the, you know, this keeps creating batches of records every month or every year, right? So this sort of cleans up all the unnecessary records which we create. 
Sarah Shalfoun 31:23
Mhm. 
Jerry 31:29
Which we use the instructions. So the lot of the way this this solution was designed was mostly based on requirements which came from the school and what we kept doing in between to keep adding more, you know, solutions and changes to it. 
Sarah Shalfoun 31:38
Mhm. 
Jerry 31:45
OK, so because we did that, a lot of the design which we couldn't go back to 2-3 steps of where we created certain records which was unnecessary, which could have been done by code itself was created as a custom record, right? And then sort of started adding a lot of data layers and a lot of storage. So we had to. 
Sarah Shalfoun 31:47
Mhm. 
Jerry 32:05
Create like a. There is a script which goes out and sort of cleans up or deletes you know, outset data for every three months or every six months. You can clean up automatically again to the schools. See my biggest. 
Sarah Shalfoun 32:15
Mhm, mhm. 
Jerry 32:22
Input with the billing configuration is. I'm not sure if any school would have somebody trained to do this, or we can train some administrator in a school to do this on their own because it's quite technical.
At least at the state it is now, and the simpler way would would be to just what's Ash is doing, just trigger it even after so many years. Ash still runs the billing instructions for those clients, right? So that's the point. So the fundamental thing is with schools in Dubai or anywhere in the world. 
Sarah Shalfoun 32:53
Mhm. 
Jerry 32:58
Would have somebody go to this level of giving the billing instruction instruction through a configurator, so that's. 
Ash Alexander 33:04
No, Senate was. Senate was does it on their own. We don't. We don't interfere. They just come to support. 
Jerry 33:10
Correct. But then if you look at the usage of it out of what we build and design this for, what is really being used, you can still look at the data in next week. How is it different to look? 
Ash Alexander 33:18
Yeah.
How's it different though? 
Jerry 33:22
You can still look at the items and and the customers or the deposit students on next week.
That's pretty much what they do. So it's more of a one time set up set up. It's that's really it. Every other year you can just show up this instruction on a different page because before we built something called the configurator, we had another simple screen called the billing instructions.
OK, that is what Sen Edwards had and we moved them to this. What they had was a simple screen where it shows the list of families. They count the totals. The final page shows a summary of what the total invoicing values and they fire it and it launches. That's it.
And that's what they've been using until now. So and the rest of the solution or part of that solution is quite, you know, unuseful to them or it's not flushed out or built out entirely. And maybe, you know, maybe Ash is right if we finish the entire development, train them and.
May they might have used it to play it around and it worked perfectly, but then that never happened. So the real tricky difficulty in this is to create a centralized solution for a multi-purpose requirement. All right, so that's the part you need to wrap your heads around and split the development into what is generic. 
Sarah Shalfoun 34:35
Mhm. 
Jerry 34:41
Which could be used across multiple schools and what level of configuration or customization is allowed at the time of implementation. The tricky bit is if you say I want my users to.
80% if it's standard generic development, 20% is something which is customizable and you guys as users or the school as users can point and click and build it yourself, just like what NetSuite's doing to us, right? NetSuite's like a platform and they've given us all the tools to build on, write code on.
Right. That's similarly what we're trying to do with the app. But do schools would have power users like that or would be trained power users like that? Or is that our model? That's something I think Ravi's vision would tell, but the idea behind that is. 
Sarah Shalfoun 35:16
Mhm. 
Jerry 35:33
If you do go down that path, my recommendation will be there is only so many parameters and combinations you can think of. It cannot be 100% customizable by a point and click.
Right, it might work for a generic tool like an accounting tool or anything, but this is quite specific and each school has different requirements. So to what extent can we have the solution generically designed which can be, you know, plug and play and launched and deployed as a solution as a bundle or an app onto any other NetSuite?
That's the first generic layer and from what level of customization are we going to allow for the users to do right? And for that level of customization which sort of tweaks the code. So the generic code would consider like sort of have all the combinations and parameters and this sort of user interface. 
Sarah Shalfoun 36:07
Mhm. 
Jerry 36:26
Or a configurator built on top of that solution would sort of instruct that code to act in certain way or use certain elements from that. So to what level of customization are we willing to allow the Super Super users to do?
And at what point are we saying no, this is not possible and this can X things can be only done by code. So for example, when you walk into a school, they might have only 80 percent, 80% of the generic requirement, 20% of the requirements might fit into a point and click, but 1010 percent of the requirements will not fit into.
Our configurator or our existing engine which needs to be customized or built right? So when we do that, how does that exception layer sort of integrate with the our single bundle launch?
You get what I'm saying. So these are the these are the things that will get the version control a bit tricky, right? Because every time you onboard a school, they have something special that requires to be done. Typically in a in a development world, you know this if it's outside of NetSuite, if that feature's not available. 
Sarah Shalfoun 37:17
Yeah. 
Jerry 37:35
Today it's in the pipeline or it gets prioritized along the way, just gets added on or you know on the next future versions of the platform, right? That's how we deal with it. But since this has got like a part fixed development layer and a part customization.
IE, you know, coding layer to it based on the requirements of the school at that time, we never know. So my point is you need if you're planning to rebuild this, keep in mind one important thing is to.
Spread split the versions. There needs to be a generic version which can apply to any school that should be like base. It's probably 1015 features. Then there's another additional layer which can be handled by the configurator which I can tweak and change and play how my engine should work.
And then there's another open, you need to keep another open sort of a framework to be able to integrate new instructions or any new exceptions for that particular school back into our primary solution and whether we we're going to we're willing to take that version to our next version of our next installed. 
Sarah Shalfoun 38:39
Mhm. 
Jerry 38:45
To the next school or not, you get what I'm saying. So there's a centralized, yeah, yeah. So the central repo, which sort of holds the generic version and we keep deploying into, let's say, three schools, right? School A might have everything that they need. School B might have everything but one change. School C might have like 50% change and 50% our solutions. 
Sarah Shalfoun 38:48
Yeah. 
Jerry 39:05
So how are we going to deal with our, you know, code, code base? That's where it really falls back to and that's where the entire mockup happened. So the whole code architecture, the deployment architecture, the whole management of generic versioning versus specific versioning went into a havoc and it all the solutions got mixed.
And now it's like a big soup. So that's where we are. 
Sarah Shalfoun 39:30
Yes, like what I will, I think I will try to do first is.
Whenever we get a requirement that is not included.
If possible, we can like abstract it to a way that is actually like instead of adding it as like a special case that is hard coded somewhere to abstract it to something generic. 
Jerry 39:55
I mean, you can still include that in your, yeah, yeah. 
Sarah Shalfoun 39:59
Where the the the the system can cover if required. If not, you can just leave it. 
Jerry 40:05
Yep.
Yeah, I mean, look in our centralized repository, we still have an account of where we're deploying the solution, right? So if it's account A, we can just apply a particular piece of code to that account and it would still be hard coded, but in a centralized instance in relation to us and not that particular account itself.
Right. We still have control over it outside of NetSuite. So that's the tricky part, building everything somewhere like a development instance. Ash, do we still have development instances in in NetSuite? Do we have our own? 
Sarah Shalfoun 40:24
Mm-hmm. Yeah.
Mm. 
Jerry 40:38
Like uh development account for our ourselves.
Ash. 
Ash Alexander 40:44
Oh yeah, I'm here. Sorry. We have a development account. We have a demo account, so we have that there. 
Jerry 40:48
So the development account needs to be like a permanent account. We can't lose that account, so if you lose, the entire solution gets crumbled. 
Ash Alexander 40:52
Yep. No.
So the idea, the way we go is GitHub to development account development to demo and development to every other client plus demo. So that's. 
Jerry 41:03
Yeah.
Yep. So the whole versioning and the flow of how the version control has to happen, Sarah, that's the real game in this. And before all this, you need to sit down with Ravi and Ash and sort of flush out. 
 41:17
Yeah. 
Jerry 41:22
What the generic features would be and what the other extra features would be and and then sort of design your repository and your version controlling and all of that around that. 
Ash Alexander 41:29
And.
You. 
Sarah Shalfoun 41:34
Mhm. 
Ash Alexander 41:34
Yep, Jerry, before quickly, before we sign off, I just wanna quickly we wanna cover this as well. So what the what's this billing instruction record? What's how does this get picked up and in on the billing instructions applied to what's the engine type? What's this record does? 
Jerry 41:40
Yeah.
Um. 
Ash Alexander 41:55
How does it tie back to the billing instruction? 
Jerry 41:56
I think just go to the billing instruction. That's the primary record, right? So yeah, the billing instruction, go to the list. 
Ash Alexander 42:00
This one? Yep.
All right. 
Jerry 42:06
Yeah, come.
Yeah, so see this. This is just remember the configurator where we selected a bunch of items from the master item list. 
Ash Alexander 42:20
Yep. 
Jerry 42:20
And say this item needs to apply to this particular Um.
Student items. So for example, if you go to student year fee 7, just open anyone, just click on view and this is where the classifications are there too. So remember you asked me how you classified it, the billing type. Can you see that? Yeah, yeah, yeah, yeah, that's the one. 
Ash Alexander 42:39
The billing engine type this one.
So does this come first or this come second?
After the configure, do we configure this first and then it then it's pulled into the configurator or does it come from the configurator? 
Jerry 42:46
What do you mean by first?
No, this see because we did not have a database right outside of NetSuite. This comes first. The configurator is simply a visual representation of what NetSuite's back end is. 
Ash Alexander 42:58
Mhm.
OK.
OK. 
Jerry 43:08
OK, because it's because this point, this screen is sort of not user friendly for a net for a school user. We've simplified that into the UI. That's all it is. So this always NetSuite comes first. 
Ash Alexander 43:19
OK, so then my second question would be how does the item tie back to this? So how do I? How does the configurator know this is the category? 
Jerry 43:27
So, so go to the billing instruction, that's the master record, right? So for example that one we picked up the student fee 7. Do you have that? This is the laptop higher fee. OK, so anyway see see that this item is applied to two of those years. 
Ash Alexander 43:37
Mhm.
Yep.
Mhm.
Yeah. 
Jerry 43:48
And then.
And then this particular no, you should. The idea is not to. 
Ash Alexander 44:02
OK.
Mhm. 
Jerry 44:11
So once this first part like the selection of students and the categories and all of this happens right, the segmentation and all the once this happens, what this in essence has to do is to create those records. So go back to the billing instruction record. So so This is why I said the configurator is like the first time you set up the account. 
Ash Alexander 44:24
Mhm. 
Jerry 44:31
It's like a setup thing, like you know how you do set up in NetSuite when you launch. It's just like that. So once you do that, it creates these records, the picks up all the 10 items that I need from the master item list. 
Ash Alexander 44:33
Mhm.
Yep, Yep, Yep. 
Jerry 44:46
It creates the categories, it creates the IT applies those categories and that item to that those years, and then it also includes all the students and families underneath it. So if you can see at the bottom, it sort of tags that record into the That's the instruction applied to record. Go back to your main. 
Ash Alexander 45:02
Mhm. 
Jerry 45:06
Instruction. Yeah, so the applied to record is the next table. So so can you see that one in the in the bottom? 
Ash Alexander 45:13
Yeah, this one. 
Jerry 45:14
Yeah, so all of those are billing instructions applied to records. So again, it's just a back end store of saying, hey, this student here 7 and 10 needs to get applied to applied to these kids. It's just another instruction in a form of stored. 
Ash Alexander 45:18
Mhm. 
Jerry 45:30
Uh, data in the table. 
Ash Alexander 45:32
Mhm. 
Jerry 45:32
So the configurator I've picked, let's say out of 100 students, I've picked 95 students and I've said out of 95 students I want year sevens and year 10s to get laptop higher fees, which is about another 45 students. That's the 45 student list which will be there under this instruction. 
Ash Alexander 45:48
Mm. 
Jerry 45:49
You get what's happening. So every time each part where you give an instruction, it sort of picks up the instruction and creates a billing instruction record basis of that and with that data. 
Ash Alexander 45:50
Yeah.
Mhm. 
Jerry 46:00
And this sort of drives the invoice generation. 
Ash Alexander 46:04
Hmm. 
Jerry 46:04
So this is really a back end store of information. How the billing configuration is just just a visual representation of the table. So instead of see I can do this this entire thing, I can go to the list of families or debtors and then.
You know, sort of give this instruction, but you cannot make it create records like this in the background. You cannot, you know, pull down 40 students and map them into this item and this particular instruction.
If you did not write code, so that's the problem we are trying to solve through that user interface. So I don't have to manually create this. I don't have. I don't need a developer to do this. I can just manually configure my own billing engine. 
Ash Alexander 46:37
Mhm. 
Jerry 46:53
Or like through point and click. 
Sarah Shalfoun 46:55
So Ash, this is not happening now. You are creating this manually. 
Ash Alexander 47:00
Correct. 
Sarah Shalfoun 47:00
All the billing instructions and even linking them to to the students and families. 
Ash Alexander 47:06
Whereas for two clients, we're doing it manually. 
Sarah Shalfoun 47:07
It's like. 
Jerry 47:09
Manually. 
Ash Alexander 47:11
Manually. By manually, I mean by Excel. Yeah, CSV. 
Jerry 47:13
Import import. He imports the Excel, yes. 
Sarah Shalfoun 47:18
So for instance, if you have like you say that this this particular fee applies to all students in year seven. So you go and look for all the students in year seven and add them and add that particular fee to them on an Excel. 
Jerry 47:33
Correct. I believe Ash, correct me. This billing instruction also is the record you manually create or that comes as part of the bundle installation.
Correct. 
Ash Alexander 47:41
No, we don't. We don't do billing, billing instructions for for the new, for the new account. We don't have all of this. We don't have billing instructions. We don't have billing instructions applied to. We don't have billing engine type. We just. 
Jerry 47:53
OK, you just said there's a simpler version which just has the. Yeah, yeah, OK. 
Ash Alexander 47:55
Correct, correct. So for the new account we don't, but for the for the account after this, after us and it was called Alfaisal. I don't know if you've heard of it Sarah, we don't have we import billing instructions applied to billing.
Billing instructions, this one, these ones, they already exist. They don't need to be created here on your billing instructions applied to or created here on your. These ones they're created here on your. So all the all we do is we have an export from the current. 
Sarah Shalfoun 48:16
Mhm. 
Ash Alexander 48:25
From NetSuite of all the students with the year category, whatever we attached, we attach this this field we have. That's pretty much it. We have this field and it'll apply to all years seven. We'll filter it and say year seven-year 10 laptop hire fee. This is the item. This is the period.
And that's how the we'll just import it in and once we import it in, it falls in place with the other process. We just generate the invoice and then after that the other process kicks in. 
Sarah Shalfoun 48:58
And then why is all like?
OK, maybe that's for a later discussion. I was wondering why why all the issues are occurring in this case. 
Ash Alexander 49:05
Mm-hmm. 
Jerry 49:10
Yeah, so even if you hear what Ash is saying, Saint Edwards has a version.
Alfaisal has a version and the rest of the two schools have another version. Is that correct, Ash? 
Ash Alexander 49:21
Correct. 
Jerry 49:22
Yeah, so that's the problem, Sarah. As as new schools get onboarded, the version control gets havoc and then we're now 4 schools down and we already have 33 versions, four or three, so 4 schools down and three versions. 
Sarah Shalfoun 49:23
Mm.
Mhm. 
Jerry 49:39
And there's an out external version for the enrollment piece. So again, if you're not thinking about the application or the enrollment layer, that's something you can ignore now. Like Ravi said, I think his focus is more on the billing side. So in in that case I would say go back to the drawing board. 
Sarah Shalfoun 49:50
Mm. 
Jerry 49:54
Uh, take out the pieces of the puzzle from all the three versions. Create a centralized version on the dev account.
Uh, and using good repository design and deployment design and deployment architecture and all of that and then go from there. I don't know if we can help the current new schools. I think that would be the good version to start with. 
Sarah Shalfoun 50:03
Mhm. 
Jerry 50:18
Saint Edwards and Isle Faisal would be a backup fix where we need to go back and fix it one by one. We can't spend time or money on that for now, but at least the new two schools which has the simpler version as Ash said, that would be a good starting point and use the Saint Edwards piece and the.
Other backup that we've got on the other just take pieces of the puzzle from there, not the entire thing. And so because it will be very complicated to go and, you know, bring stuff out of from somebody else's mess, it's rather simpler to, you know, take the cleaner version and go from there. 
Sarah Shalfoun 50:40
Mhm. 
Jerry 50:51
I mean, it depends on time and resource and whatnot. You are the better decision maker. You should be a better person to decide around that. But in a in a nutshell, that's it. That's what this does. 
Sarah Shalfoun 50:51
Mhm, mhm.
All right, makes sense. All right. 
Jerry 51:08
OK.
Excellent. So I don't know how you guys want to go ahead from this. That's my recommendation and suggestion. And if there's anything, any brainstorming, I'm happy to connect. If you need my help, let me know Ash. 
Ash Alexander 51:21
Sure, no worries. 
Jerry 51:24
OK. All righty. Excellent. No, no dramas. Thank you very much. Bye, bye. 
Sarah Shalfoun 51:24
All right. Thanks a lot, Jerry. 
Ash Alexander 51:26
Yes. Thanks, mate. All right. Yeah. Bye. 
Sarah Shalfoun 51:30
Thank you. Bye, bye. 
Ash Alexander 51:33
Better idea, Sarah, now. 
Ash Alexander stopped transcription