Sliced Snapshots

NEW FINANCIAL REQUIREMENTS ON TOP OF A MATURE, FEATURE-HEAVY SYSTEM. A SOLUTION THAT DELIGHTED THE CLIENT AND ENRICHED THE PRODUCT.

Challenge

a new client wanted to use the financials module in our system, but had a unique set of requirements. The way they’ve phrased it was “we need to freeze the database every month, keep an active copy and then merge the two a few days after the month-closing activities are done”. Our data is sitting on top of a MSSQL database, so the concept of freezing was not too challenging from that perspective, but not only that’s not a good software practice, the merging part sounded much more complex and we couldn’t see how doing so will add value to the product out of the box.

Solution

we tried to take a step back with our users. Not only “what do you need”, but also “why do you need it”. We deep dived into the usage of those discussed capabilities and we tried to break down the merging concept - asking questions like what are the rules and exceptions for such activities. From understanding the business workflows, we’ve realized we can use an existing feature we had (snapshots) and extend its functionality to support their unique requirements.

High level Design

First, some background around the usage of snapshots in financials. Before tackling this project, we did have a snapshots concept. The workflow was something like this:

  • The Financials user is running the relevant month-closing reports

  • The user reviews those reports and makes adjustments as needed

  • When ready, the user is running a tool (Monthly Accruals) that generates the relevant journals

  • When committing to those journals, the system generates a snapshot of all the relevant data

This last step is the equivalent for the freeze feature our client asked for.

Now, when we tried to understand the logic behind the merge back, we gathered that the need is actually a very reasonable use case; they have different users who are performing the month-end activities, so really, what they need is the ability for each user to do the ‘freeze’ in their own timeline. So we’ve added that functionality.

Feature List

  • Add the ability to group specific accounts to a single category - this category is the equivalent of a single financials user

  • Run the Monthly Accruals per category

  • Create a sliced snapshot for only that category and the data pertaining to it

  • Support the ability to run incremental accruals

Agile Journey

Path to the Cloud