How Leapfin shows you the journey of a subscription transaction
In Part 1 of this blog, we briefly covered how a subscription transaction takes place in Leapfin. We also talked about why it matters to have data from PSPs, order management systems, billing solutions, and other tools unified into one platform.
This time, we’ll walk you through how processing a subscription transaction takes place in our finance data platform in much more detail. You can look at our subscription demo and find the transcript for it below.
The journey of a subscription transaction in Leapfin
We can start by going over some of our pre-built integrations. Leapfin offers great PSP support from day one.
Typically, the initial setup process looks something like this: on the integrations page, we have all of these pre-built connectors.
Our team will spend some time with you just to learn any customizations that you have done on let’s say Adyen so that we map them to appropriate attributes on the Leapfin end. And we’ll do this for PayPal, for Google, Google Play, for AppStore, etc. That’s how we’ll do the initial mapping set for all of these standard PSPs.
For any customizations, we’ll use an API endpoint.
Once all of this is done, all that data will start coming into Leapfin, and we’ll create a very useful summary of all of these different Leapfin financial data records.
The foundation of any of our data is essentially a Leapfin invoice as a base construct or an object. This page will be very handy for doing a very quick reconciliation of how many transactions actually happened in a certain month.
The revenue subledger page
Once all this is set up, the accounting and finance team primarily starts their day looking at the revenue subledger page. This is where we’ll start expanding a bit more around reporting, etc.
What you can see above is a very busy page because looking at 2022 data. We’ve got all these different charts of accounts where our example business, Pied Piper, happens to do subscription based revenue.
We also have an e-commerce platform, gift cards, etc. So if you’re tracking these at a chart of account level, we’ll be able to capture all this information for you. In addition to that, deferred revenue is something that’s applicable here as well.
So we’ll track your accounts receivable, and deferred revenue using two different COAs. In addition, we’ll support and track FX gains and losses, any cost of sales, and bank cash reconciliation.
The screenshot below shows where balances are captured. So a very quick way to reconcile will be to look at your statement balance and look at the statement balance. If both numbers are same, you know that you would’ve reconciled properly. If not, there’s ways to investigate what caused the differences.
These dashboards are very interactive for the accounting and finance team. Want to know how Leapfin comes up with $44 million of roll up for annual subscription? You just drill down and start getting a bit more details at a line item level.
The fundamental object for us is a line item. So in this case the system tells me that for June, 68,000 transactions did take place, and I can drill down to get more details.
And then we’ll amortize these. So we have a simple linear amortization rule, which says that we need to recognize revenue based on ASC 606 principles. So if the user did subscribe on October 12, it recognized Oct 12-31 as revenue for that month, and then built this amortization schedule and appropriately credited the deferred revenue account and debited it.
There’s support for custom attributes as well. In addition to regional reporting requirements, if there’s any nuances or any custom fields, Leapfin will be able to accommodate them.
What links tell you about subscription transactions
Where things start getting really interesting is we use Leapfin’s links functionality. Links give you more detail about how a specific line item was created by Leapfin.
So, let’s say we’re Leapfin and we have a corporate account where we’re getting a subscription for all Leapfin employees.
In that case, this subscription might be associated with an invoice where we might have multiple subscriptions. And all of these multiple subscriptions belong to an invoice. What happened to the payment for these? To find out, we’ll track taxes for that specific invoice at the invoice level.
We’d also record any payments associated with that invoice. So you can drill down from this point onwards to really know if the payments were successful or not. In our specific example, we actually billed a customer on May 1, meaning the payment was successful.
We went ahead and debited the Stripe wallet account and credit accounts receivable. We are then also tracking the settlement.
When did this specific cash actually hit our bank account? It was part of a settlement, which happened in May. So we can go to the settlement, which will show all those payments that were settled by Stripe.
So we completed the order to cash journey where I started from invoicing, payments, any tax liability, any fees that were charged by the payment services providers.
And behind the scenes, we kept passing those journal entries. So if we go into details about this payment, for instance, what we’re seeing is when the user actually used his credit card for payment. Leapfin then went ahead and debited the Stripe wallet and credited accounts receivable.
Similarly, all these journal entries will also take place for the actual settlement or even fees. So we credit cost of sales and debit the Stripe wallet to indicate the fees that were charged by the PSP provider.
In our history tab, any item manually changed will be tracked here. So come audit, we enable a view only account for your auditors so they can log in and understand any sort of changes as far as line item data is concerned.
Reviewing and locking month-end data
Now let’s review the month-end process. Using the subsidiary dropdown, we can filter based on the different regions we operate in.
We can slice and dice information based on that real time. And then come closing, you’ll lock that specific accounting period. We’ll notify you that we’ll freeze that accounting period.
No more changes happen at any line item level after that. We then create these summary journal entries, and this is where you tell us that, hey, I’ve got region based chart of accounts on NetSuite. Then region based summary level journal entries will be created behind the scenes.
And we can drop those outputs to a S3 bucket or an entry made directly to your NetSuite instance.
We’ll publish that entry into NetSuite with a trace ID, which then lets auditors come back into Leapfin to find all the details they need at a transaction level. That’s how we link back between NetSuite or an ERP system into Leapfin.
Hopefully this gives you an idea of how the data flow is and how this revenue subledger sits in between a GL.
In terms of reporting, Leapfin offers waterfall and aging reports. You’re free to build your own reports and there’s the ability to search for data on an ad hoc basis.
We put a lot of emphasis on financial data objects: this is where things start getting very interesting. As soon as a specific invoice gets into Leapfin, we’ll start categorizing them based on these different financial data record types.
If you ever wanted to find out details about a subscription where, for example, you had a dispute, you can start your investigation from that dispute object. You can then drill your way back into which invoice actually created or associated this specific item.
Let’s say that on May 19, there was a dispute for $400.
If the accounting team wanted to find out which invoice created this, we can actually go to the line item level and trace it back to a specific invoice, which was actually created in the month of April.
Hence the categorization of financial data records and the ability to slice and dice your data and get to the actual original invoice from all these different entrance points. These are interactive dashboards, so we can search by dispute status.
We wanted to look at only those where we actually did lose those disputes, soweI can just work on those transactions. And these are logical, meaning you can keep adding conditions. For example, you can say you only want too look at transactions in the US.
This is what makes it so easy for finance and accounting team to really find out details about all the transactions at a line item level.
How matching works in Leapfin
Finally, we’ll wrap up this walkthrough with our matching capabilities.
For now, we’ve set up reconciliation to be done on a payment to invoice basis. We can then search by data sources. In Leapfin, you can compare invoices and payments for a specific payment service provider and define a date range for a period, start and end.
In our example, we’ll do it for three months on both ends. And then we just generate a report, which tells me that, we invoiced $81 million in Jan. We went ahead and collected $58 million in Jan, and $9 million in Feb. I haven’t seen any payments for invoices for Jan after that. That means there’s a mismatch of $13 million dollars.
Let’s go ahead and drill down and find those transactions; is it because of payment related issues, data issues, or something else?
Hopefully this gives you a good idea of how the subledger works and the role Leapfin plays and how it delivers data to the finance and accounting team.