Hey, everyone. Thanks so much for joining us today for our webinar on what is new in Leapfin. We are going to cover our new sandbox, rules testing, access control, and we're going to give a sneak peek into what's coming next. Super excited to introduce our featured speaker, Erik Yao.
Erik is the co founder and CTO of Leapfin. Erik partners closely with our customers to empower them to transform their raw transaction data into clean journal entries and close their books in as quickly as one day. So with that, I will hand it over to you, Erik.
Thanks Mattie. Hi everyone. For today, we're going to talk about the core product enhancements that we have been introduced over the last couple of months. One really, really big one, which is our sandbox and rules testing feature. This one has been worked on for at least the last couple months to make this into a reality.
And I'll be going over that and showing you a demo on how to use it. The second one that's pretty big as well is the access control feature, essentially roles and permissions and being able to configure and set up for your team. Finally, we've done a lot of data pipeline improvements. These include processing larger sets of transactions. And many of you know all of our transactions have relationships with other transactions, and if those relationships get too large sometimes the application itself slows down, and we have been able to make a lot of improvements there to speed it up and make it a lot faster.
Simultaneously on the other side, we've made a lot of improvements to the user experience in general. When we first released our rules creation UI it was, it was slightly hard to use a little bit complex. We've made a lot of changes to it to make it easier to use, and I'll give you a sneak peek later on it becoming even easier after that as well, what we have planned over the next few quarters.
And then finally, we have introduced a lot of reconciliation reports to help audit all of your data on a a lot of you have probably seen these reports in the application itself. These are kind of examples of what can be done with the reporting in Leapfin and serves as a good starting point. And if time permits I will show you a few of those as well.
So the first one is the big one. It's the sandbox and rules testing. We just released this a few weeks ago, and a lot of you probably have seen as you configure the rules, some of the larger changes.
that we have throughout the rules configuration and how we test it. What the sandbox and rules testing does is it essentially negates the need for us to create a whole other account and have to move rules and data back and forth to maintain a sandbox in production environment. It is very error prone and time consuming, and the turnaround times to do so are significant.
But with this new feature, you're able to actually use your production data and build sandbox rules specifically for that, and then test the sandbox rules in production on the production data, a specific production data set of your choice, and then compare it against a production run of that same set of data so that you can compare apples to apples and see what the results are. So one of the things that I'm going to be showing you is how to build rules in Leapfin now today with this new sandbox feature and then for those larger changes or more risky changes how to test it so that you can see what the impact might be to your historical data should you merge those rules into production. Part of this here is the technology behind it is the we're leveraging version control.
For those of you who are familiar version control it or unfamiliar with it is essentially allowing us to store different versions of the rule sets that you have. and being able to keep them independent, but also merge it in to your production environment at any time. Since we're using existing version control technology, this doesn't limit us specifically to one sandbox as we have today. In the future, we are considering opening up if it's popular the ability to have multiple sandboxes outstanding at any given time and using, again, this technology.
We can merge each one in and find conflicts between the different versions and have you fix them before it's merged in so it's all safely merged and these different sandbox rules are not trampling over each other. The last one I want to bring up is this unit testing of rules. This feature has been in place since the beginning, but we made a lot of enhancements to that as well. And I'll kind of, touch on that too as we go in through the demo. So I have a demo account that I have set up here. And this demo account, we have a bunch of rules set up.
That you'll see over here and I have essentially made a change already on this page, but we can go take a look at this and there is a rule here that says subscription revenue. So if I click on this subscription revenue rule, you can just view it and notice that I'm not in sandbox mode right now. I can go and browse the rule and take a look at it.
The first thing I want to demonstrate is actually the unit testing feature that we have. If you, if you take a look at this rule and you want to run this, this rule itself and see what the impact is on a specific transaction, there is a run test button here that you can hit. What it will do is it'll take a look at your test data set that you've configured over here and run all of these rules against that test data set. And you can see here that the test data set pops up and click on a specific line item and see all the journal entries. If anything's changed since this is production, nothing has changed because I haven't made any edits to the rule, but you can see here that you, if there were any edits, it will essentially show up on this side and you can have a detailed level view as well of what's changed from the previous to the new journal entries. This is incredibly useful to test and make sure that none of these roles at the unit level still outputs with your selection of test data to see if it's correct or not.
And we highly recommend doing this with every rule that you create regardless of how simple the rule is or not, and just to ensure that it works for us, you know, a handful of transactions, especially the more complicated ones. I'm going to make an edit to this rule, and I've already made an edit to this one, but you can turn on sandbox at any time when you're in the rules section this includes not just the accounting rules but the data enrichment rules as well. So both of these rule sets, you'll be able to turn on sandbox. So once I turn it on, you'll see this yellow bar across the screen to indicate that you're in sandbox mode. So when you're in sandbox mode, anything that changes here, we'll be able to save. The save button essentially gets enabled so that you can save this into your sandbox account.
You will not be able to save anything in production. Every rule change edit or additional new rule must be done in a sandbox environment. And so now that we have a sandbox environment enabled, you can see here that I have actually changed one of the journal entries to a new account. So to illustrate this further, I will turn it off here and you can see that the credit account I have for this rule is to this revenue web account. If I turn it on, you can see here that now I've made that change into the revenue cruise account.
I can make some other changes too, but for in the interest of time this is a pretty major change for a specific rule. So I'll, we'll keep that as there. You can currently see all the changes in this merge changes to production button. This is where once you're comfortable with the rules.
That this is the action that you will need to take to merge it into your production environment. However, it's not going to do it automatically. It will show you what changes have been made. This is not the best UI, but we will be releasing a much better one very, very soon. But for now, you can see, at the, at least at the very top, what rule has been changed and what the rule name and rule description, and that is essentially what we've changed.
You can see here that I've updated the account from 4001 to 4003, and to merge it, I will just click on this merge reduction, but, but for now, I'm not going to, I'm going to cancel it out for now, so I can show you how to test it. So, once I've made this change in Sandbox, and I've saved it in Sandbox, I can just click on this here, then what's going to happen is I want to test it. So, I can do the run test as I just did before to test it at an individual transaction level.
But I can also do this for a large, large set of transactions. A lot of our customers in the past have asked to see the net impact of it against transactions. an entire month, for instance, and we can provide that through our new feature here called data processing tests. So if I click on data processing tests here, you can see that there are some tests already being run. I've pre run a couple of these tests because some of these tests can take a while, especially if it's a larger data set. So when you click into this data processing test, you can create a new test over here.
By clicking this button and you can name your test run, whatever you want. And then you can select a time range for it to test on. These are the states. Selection was very similar to the date selection that you'll have in the data pipeline page when you run backfills on specific transactions is essentially selecting when you create these the date period, like the bounding side on the from and to, it is referencing the date at which the transaction arrived at. Usually for most of our customers, we send, we adjust the data on a daily basis, or that data gets sent to leaf in on a daily basis. So in that case, the date timeframe will be essentially when it was.
When it arrived in into leaf and ingested, sometimes I just want to point out here that there have been times of importing the backfilling import of data from a specific integration on a single day. What, what that means here is that if you run that day, it will run all those transactions as well that anything that came into leaf and on that specific day. The next section right here is the sample percentage section to make it so that to reduce the time it takes to do these tests, you can also for that time range have another dimension to run your tests on. And what this slider does is it will actually select a percentage of transactions randomly within that date period, evenly over, if it's over several months, it's going to like if you select a date period, two months it will select let, if I set this to like 40%, it will select 40 percent of all transactions in each month to do, to test on. This will give you a wider range of months with a smaller set of transactions if you want to maintain bearable speeds, I guess.
Whereas if you tune it up to 100, you'll see that the date from and to, you'll process every single transaction in those months. My recommendation here is that we don't exceed more than two months worth of testing at any given time. Otherwise, I think there are limitations. We don't have the specific limitations yet, but we've run it with larger sets of data for two months and it seems to be fine.
If your data seems to exceed, I would say get into the seven figures on a per month basis. I highly encourage you to submit a support request to us. to let us know ahead of time that you're running it and that way we can monitor it and make sure it goes well especially if over large not large, but over a multi month period. But generally for most use cases we've seen the test run should be done at no more than maybe a month or two worth of data.
And if you, again, if you do want to Um, length of the amount of months for a time. One recommendation is to tune down the sample percentage so that they can run in a reasonable amount of time. I don't want to interrupt you too much, but I didn't want to get too far before we get into the next section. We did have a question how can you discard a change that you initiated if you realize that you don't need it and the original rule is actually okay as is? So that is a feature that has been requested quite often since we've launched it and it is on our roadmap very soon to make, to provide that functionality. We don't have that functionality right now other than to just revert back but we will have a functionality to just discard an entire sandbox in favor of. Bringing up a new one.
Individual changes will come as well. We're making changes on that. So as you can, as you can see, if I had made a change in the rules to a specific role. And if I rules volume is like if I have 100 rules in there, it will actually be very hard to identify what it is other than just hitting the merge button. So we are coming out with a way to identify those and we can potentially bring the ability to discard based off of that. But essentially.
Discarding is not as easy as like discarding individual rules, but it will be very easy at the very beginning just, just to discard the entire sandbox if something, if something goes wrong in that case. So coming back to this test run from the environment perspective here, you can actually view the test results on a single environment, or, and when I talk about environments, usually either just production, or the sandbox environment, provided that the sandbox environment has been created with some changes. Right now, there's only one sandbox, but potentially in the future, if we offer multiple sandboxes, then we would be able to select it there. So, being able to select results for a single environment and selecting sandbox is one option. But the What we see as the most popular use case is to be able to compare the test results from a sandbox environment to the current production environment, providing that you're running on the exact same data set. So again, to get a really good apples to apples comparison.
So in this case, the test environment here would be, you can select production here or sandbox on the comparison or swap it sandbox production. It doesn't really matter. What it will do is run both.
And essentially find the differences between the two. So in here I selected production and sandbox so that the first one will be first run that will happen as a production, then it'll run the sandbox on that same set, and then I'll put the results, I do want to note here that in order to get a true apples to apples comparison on impact between the two environments we, we will not, the, these, these runs will not respect locking, it will run them as. as if locking does not exist in the period if you do want to test a prior period. The reason behind that is because if it was locked and then obviously the production environment will show nothing in the previous, previous period. Whereas the sandbox will show something, which is not a true apples to apples comparison.
So I'm going to click into it. One of them that has already been run, if we click into this one, you'll see that there are the production. This is the test, the test environment, the comparison environment over here, which I selected the sandbox one, it will show you some high level statistics on how many. Records were tested and how many records and leaf and were created and adjusted as well.
Hopefully those numbers are the same, but in the case of, and your sandbox and environment, for instance, adding a new rule as an example your tested record count and core data count is actually going to change. And be hopefully either larger or shorter, depending on what rule that you that you're testing out. So on the results down here, you'll see that there is a production results, there's the sandbox results, and then the differences. Now I made the difference.
Essentially, the change that I did, if you recall, was just changing one of the accounts to something else. And you can see here that for, in this, in this, in the sandbox environment, the credits to my 4003 account changed. So, in, in June and July. So, it's, the, what this, what the columns here will show is, it will show it by month. For this specific, for June here and for July, what has changed on, from an account basis, what side of the accounting for that account, and then from what it was in production, what it is in sandbox. So if I click into it here you'll see that you can actually see what rule impacted it.
So this is a rule I actually edited and it says for this subscription rule that I edited, there was an impact. And if you click on this left hand button right here and uncollapse this, it will show me a sample set of transactions or accounting records that made up of the difference in the, screen we just showed earlier for that account. We can further expand this on a single one of these sample transactions to take a look in there.
And if we click on journal entries, we can see what changed. So in this case right here in June, You can see that there was a, again, the red is what was in production and the green is what's in the sandbox, the comparison account. So it went from, for my revenue web, it went from 54.
18 to 0. And then the revenue cruise is the one that I changed it to, it went from 0 to 54. 18. And the same thing happened for the recognition events down the line in July. So this will help you identify. what has changed for which account and some sample transactions accordingly to take a look at to ensure that the actual change that the changes that did happen happened.
You can go through and click on a couple of these. If there are multiple rules changing, then both, all the rules will be listed here and you'll be able to go into each one of those transactions and take a look as well. So if I close this another thing is being able to search if multiple, if you added a couple of extra rules and it's impacting a lot of accounts across your chart of accounts, then it will be listed here grouped by date and account and by accounting side, you'll be able to, you can search by account ID or by date.
or specific accounts or dates to look up and to be able to see what has changed and investigate that inside each one of these transactions. So that's essentially the, the new sandbox and, and and data testing. Once that is done, I'm, I can go back into my accounting rules.
Let's say that I've tested everything. It looks good. What I can do is I can just turn go back into my sandbox account and then hit merge changes to production and then hit the button to merge production that will merge it will close out your sandbox and you will have it all updated and then the next very next daily run that happens will include all of your changes. One thing I want to note here is that the the, the, you can only have one sandbox environment out at any given time. So when you do merge your changes to production, it will close that sandbox.
And when you turn it on again, it will actually be a brand new sandbox. And also, additionally, if you turn it on while in the, while you have an active sandbox out, it will just bring you into the current sandbox that's in there. So wanted to point that out. So I'm going to turn this off for now and we'll move on to the next feature over here. So I'm Talk about access control.
So access control is managing the roles and permissions across the application. This has been a popular request from a lot of our customers, especially ones bringing in outside non accountants, auditors, like other employees within the company to have access to leafin and be able to only have certain levels of access. This is completely configurable and customizable through our user management feature.
And each feature across the platform that we have actually can be individually enabled for both viewing it and for editing and making changes to it. So actually I'm going to demo this as well to y'all. So if we go back to our demo account here, The user management section is down here under the admin section, and this one will look familiar. This will just manage the active and inactive users and any pending invites that send out. This has not changed.
However, you'll see a new tab here that says roles and permissions. When you click on this, you'll see that there are standard roles. These roles are essentially imported in and migrated from our previous roles. roles and permissions functionality, which we only had two roles, a viewer or an admin.
When we made this upgrade every user will essentially have the, the role of what they had coming in to this feature coming out. And you'll, you'll see all the users over here on this side and what the actual role description is. You can create a custom role as well. over here.
I've created one called an auditor. If I click on the actions here and view and edit permissions, you can see here that the auditor one that I selected, I've disabled a lot of the permissions for, to do many things across the platform and have only enabled accounting data and period locking in, in, in those to be only able to view it and not view and edit it. You can modify these permissions as well. So you can click on edit. You can see here that you can uncheck and check these at will, and as soon as you save it, anyone who is an auditor will have access, will essentially have have their permissions granted or taken away from them.
So to give you an example of what they might see if they are not if they are not sorry, if they don't have permissions. For something, what I'm going to do is I'm going to take this one and I'm going to say, actually, I'm going to go here and I'm going to assign users to this role and I'm going to take this test user over here and assign it to the auditor. So when I do that now, the test user is has the role of auditor. And what I'll do is I will share my other screen here.
I have a incognito window up somewhere here, if I can find it. So that I'm logged in here as the test user. So if I'm logged in here, I'll refresh the page. I think I'm given access to this one, but if I try to go anywhere else. Actually, am I logged in as a test user? Yeah.
You'll see here that the, there are insufficient permissions to be able to see certain pages. Anything that is reporting related, I believe, is, I will have access to, so the metrics the journal entry report, I should have access to as well. The revenue summary page, I should have access to.
But if, but other, especially the accounting rules, I will not have permissions to view that page. If I try to do any actions as well, that's in a certain page that can't, like, for instance, if I try to lock, I would say, on the journal entry summary page, or revenue summary page, Or I guess I'm not even allowed it for a custom reports right now, but if I try to do any actions within a page to try to edit or anything, I'm also going to get an insufficient permissions as well error too. So I'm going to go back to my other window. Okay. So I'm going to, then you can assign this, I'm going to assign this back to the admin and you can just. Move people back and forth like that.
Well you can create a new role over here. You just need to give it a role name, add a description for it, and then just assigning the permissions. You can see what happens with each permissions by clicking on this classful icon here. For instance, under user management, having view only will be able to see all the permissions and role details. But you would need to have view and edit to be able to actually deactivate users, create new roles or assign roles to certain users. The same goes for like the data set up and automation.
These are. accounting roles, being able to see the accounting roles on this side. And then on this side it will be essentially creating updating roles, same with the chart of accounts and, and using the sandbox feature that I had mentioned earlier.
So that that's essentially it for the user management side of things. And we're very excited about this one give a lot of new ways to give access know a lot of our customers. have been hesitant on sending out invites to certain people only because they would have, they would have a very limited experience with just a viewer.
But now that this can be customized, it opens up a lot of different ways to interact with the platform of depending on what they, what each user needs it for. as well as being able to have proper controls and compliance with whatever the, the policies are of the company as it relates to all, all of this accounting automation that is happening. So we go back here go back to the slide. So we do have a few things that I want to mention that are coming soon that are in the works for the Q3 and Q4. Some of these will be available within the next month or so, some of these will be available afterwards.
The first one is an aggregated view of journal entries. This is probably the most requested feature from all of our customers that we had. For a while now, and what this is, is essentially taking all, leveraging the relationships that happen between all of the accounting records in Leapfin and being able to aggregate journal entries based off of those relationships. An example would be, show me all of the journal, show me an aggregated journal entry summary of a specific customer. Of, of mine, or show me all the aggregated journal entries for this specific invoice that includes all the line items on this invoice and all the refunds and potentially chargebacks and credits associated with that invoice and be able to customize the actual reporting on these based off of a starting point. in the, like an invoice or a customer, and then being able to select all of the related items and seeing an aggregated view of it.
Very excited about this one it will solve a lot of auditing and testing issues that, that our customers have, have been having, copying over to Excel to try to aggregate it themselves. All this will be able to be done in Leapfin. The next one is a very exciting one as well. We have very, we have dipped our toes into the gen AI space and have trained in AI to how, on how to use Leapfin, understanding the data architecture of Leapfin, understanding the the I guess the, the data structure, the data schemas, how Leapfin works. And this is very, very important because A lot of times our customer, a lot of our customers don't have the necessarily knowledge or mastery of leaf and data schemas. And it's, and I'll have to admit it, even it took me a while to learn how to use that and how the different tables interact with each other.
For those that have like advanced reporting have, have used our advanced reports those, those tables become very unwieldy. And, and when you start using SQL and everything so this, it will save a lot of time to have an AI essentially. interpret what you're looking for and generate those tables automatically.
I will show you a quick demo of that, a sneak peek of that in a little bit. I, I do want to note that the data itself is not, is not, never, your financial data is never presented to any kind of AI service for training. That will sit.
Securely on the fin servers. All it is. All this is is training the A.
I. To request inquiry for the necessary reports at which we ourselves internally conduct the query once it's delivered back from the I. I. Service. Finally, we have, as I mentioned earlier, we have a even more intuitive rule building A.
I. Coming out within the next quarter or 2 as well, you'll see here on the right. There's a little sneak peek there, what it might look like. We're going to, the rule building AI is, or sorry, not AI, the rule building UI is going to be based off of scenarios that's labeled at the top over here. And then when we build out these scenarios, we have different rules that comprise of that scenario. So in this case, for building out treatment of journal entries for stripe disputes, for instance, there's going to be different rules.
To deal with that specific scenario, and you can see here that the entire structure is going to be different, you're going to be able to set a trigger, you're going to set events on that trigger, like for the trigger is essentially when that payment record is processed and satisfies a list of certain filters, and then the events are the links, if it's, if it is linked to certain things, if there's a relationship between like a payment and it's invoice or a dispute or a in this case, it would be a dispute. And then what we do after that event and multiple, you can do multiple things on that same trigger and events. And this is one of the things that's been painful is having to rewrite the same rule, essentially over and over again, just because there's a different account in the journal entry you're trying to create, this simplifies it a lot.
To where that you only need to create one and then create multiple events that happen to several, to different journal entries, essentially, as it. As it as it sees as the conditions, I guess, of the rule are met in the filters and triggers and events above. So very excited about that as well. It will drastically reduce both the complexity and the time needed to create these rules. So before I turn it over to questions, I'll just do a quick sneak peek here. Exit the thing of our little AI service.
This is still in testing. So we aren't it's, it's not fully trained yet. We anticipate a release sometime, as I mentioned in the next quarter or two.
And what I'll do is I will click on the AI reports section over here and we just ask it a little question. So this, this is my demo account. The data is not. It is a little too perfect, I would say.
So it may not I mean, the results may not be, if we're looking, one of, one popular way that we are using this is to look for questions on looking for, I guess, anomalies in the data itself. But as I mentioned earlier, you can also just generate a report too. So if I say something like, give me a summary journal entry report for, I believe we have data in July 2024 by account name and we submit this. What it's going to do in the back end is translate that to what Leapfin or what our AI service will do is translate that to a Leapfin data schema request.
Leapfin will then take that request and run it through our database and you'll see here that the results It'll show us this added how many transactions as well, but the account that is in there, the total debits and credits to it, and how many transactions contributed to that account. We can also ask other questions too. You can see here that this is the query it's created. You can also take, if you want, take this query and send it straight to our advanced reporting section to make edits to it.
We, we'll probably make, you can even have the, the, the AI make edits to it on the fly. We can say, Can you round the amount results to the nearest cent? To kind of clean up the reports here. You'll see here that there is like a this zero E to negative 18 is essentially zero, and you can see it.
It just updates it accordingly. And with that, you can edit it live here. You don't need to know any SQL, honestly. But for those that do you, you can certainly, again, bring it into the advanced report section. And this is just the tip of the iceberg.
We've asked questions to it, like show me invoices that don't have a link to payment. To it, or more importantly, show me invoices that where if it does have a link payment to it, where the payments don't equal the invoices, you can do some AR querying. We've done that with A few of our customers as well.
You can also see ask questions like show me refunds that don't have that are refunding an invoice where the refund does not, it's not like equals the invoice amount in case of trying to find I know a lot of you have tried to deal with partial refunds and refunds before, and we can identify those partial refunds fairly easily by just, again, asking the AI to do it for us. Without, again, needing to limit Leapfin's data schema. So I thought that was, that was pretty cool.
And wanted to give you a sneak peek of that before we release it in the coming months. Awesome, thanks, Erik. We did have another question. If two users create Sandbox and work, will they be working on the same instance of Sandbox? Thanks. Yes, they will essentially be working on the same instance. There can only be one instance of Sandbox out at any given time per organization.
And so if two users are working together separately, by enabling that Sandbox, it is going to be the same Sandbox account until it is merged. And then is there an ETA for when the AI will be ready for a release. We are testing internally. So the two things that's preventing us from releasing it are number one security.
We need, as you can imagine, with a chat bot, anything can be put in there and we want to ensure and we take care of it. Take extra careful process here to ensure that everything is secure. We were building it off of a popular architecture. To ensure that security that same architecture, it lends to the other thing we're working on with it, which is the training side of things we are wanting to make sure that it, that it is accurate as possible before we release it. And that does involve quite a bit of training that, that is supplemented with the architecture that we have. So there is an extensive amount of training being done on it.
Today both especially like internally, just with me looking at it, playing around with it. But also our engineering team as well. Once it's released, it's always going to be continuously trained over time.
But what we're doing is building out the ability for it to kind of self train itself. And I, you know, throw up like, for instance if it does output something that doesn't make sense when you do ask for it, that there is going to be a feedback button. And when you, as, as users of this, you can click on, it's just like a yes or no, you know, did this make sense to you? And if you click on yes, you know, that actually helps train the AI application. And if you hit no, it also trains it as well. It will flag it.
It will try to figure out what's going on and then potentially ask our engineering team and then we can make those fixes. So we wanted to automate the training of this AI over time to be as robust as possible before we release it in Q3 or Q4 . Great. Well, thank you again, everybody so much for joining and we will follow up with the recording. Have a great rest of your week.
Thanks, everyone.
2024-12-28 09:59