CASE: create checks and overview them with Insights

With all the different measures being taken by different governments or instances during this COVID-period, one can wonder if this is something that could be handled within Silverfin.

Not only you’d want to be able to follow-up on which measures your customer is qualified for, but more importantly, you’d like to have an overview through your whole portfolio: which customers have requested measure A, which still need to be requested, which have theirs received, …

This can be done through the standard free COVID-package released by Silverfin (more info here), but this is the perfect moment perhaps on how:

  • a checklist can be created easily
  • Insights can be used to read data from that checklist

Let’s built this starting from nothing, so that even with no background in creating custom templates, you can still create this yourself (and if not, we’re always here to help you out).

  1. add a custom reconciliation template

This already has been explained through this case right here:

Important is that we add a handle to our template, so we can access any data from the reconciliation (needed for Insights!). Let’s call it: checklist_measures

  1. create a checklist

Creating a checklist has also been explained more than once through some cases:

There’s even a webinar that explains it all:

However, that’s in Dutch :grimacing:

So let’s built something similar, in sign of measures we need to follow up for our clients.

How about creating an array of checks, with each check having a tick-off box. When ticked, we then have an additional dropdown with options: Requested, Approved, Denied, Received.

We can accomplish just that by coding certain arrays (fore more explanation what they are, see above cases). Something like this:

As you can see, we have a check to do in order for us to create the status. Both the check and the status are important, as I want to query on those values with Insights.

Here’s the code to get to this template:

{% comment %}
create needed arrays
{% endcomment %}

{% comment %}array of questions/checks{% endcomment %}
{% assign array_measures = "Compensation government|Postponement loans|Repayment plan|City bonus" | split:"|" %}

{% comment %}create checklist in table format{% endcomment %}
{% stripnewlines %}
| Type of measure
| Date
| Amount
| Status
| Description
{% newline %}
{% for item in array_measures %}
  {% comment %}create unique ID for each check/question, removing any space and weird letters as they are not allowed for naming database variables{% endcomment %}
  {% assign measure_id = item | remove:" " | downcase %}
  {% comment %}create variable for the description of the question, which is taken directly from the array{% endcomment %}
  {% assign measure = item %}
  {% newline %}
  | {% input custom[measure_id].check as:boolean %}
  {% comment %}the value of the boolean, needs to be either TRUE/FALSE, so we will assign just that to a variable{% endcomment %}
  {% assign check_measure = custom[measure_id].check | default:false %}
  {% comment %}next, we need to create a unique name for the result tag to take this value{% endcomment %}
  {% assign name_measure = measure | downcase | replace:" ","_" %}
  {% capture measure_taken %}{{ name_measure }}_taken{% endcapture %}
  {% comment %}each check, has a different value stored in the variable "measure_taken", combining ID with _taken{% endcomment %}
  {% result measure_taken check_measure %}
  | {{ measure }}
  | {% input custom[measure_id].date_measure as:date placeholder:"DD/MM/YYYY" %}
  | {% input custom[measure_id].amount as:currency placeholder:"0" %}
  {% comment %}next section only needs to be shown AND be required to select something, IF the boolean is ticked off{% endcomment %}
  | {% if custom[measure_id].check %}
      {% input custom[measure_id].status as:select options:"Requested|Approved|Denied|Received" required:true %}
    {% endif %}
    {% comment %}this value too needs to be taken into a result tag{% endcomment %}
    {% capture measure_status %}{{ name_measure }}_status{% endcapture %}
    {% result measure_status custom[measure_id].status %}
  | {% input custom[measure_id].description as:text placeholder:"extra info" %}  
  | {% input custom[measure_id].pdf as:file %}
{% endfor %}
{% newline %}

{% endstripnewlines %}

Some bullet points:

Adding new checks/questions?

You can do that easily by just adding something to the array here:

{% assign array_measures = "Compensation government|Postponement loans|Repayment plan|City bonus|Family loan" | split:"|" %} 

so above I added Family loan to the array. Make sure that each checks is split by a |.

What are result tags?

You’ll see in the code we create so-called result tags; they let you save certain data in a variable, so you can access that same variable and its value from somewhere else. For example another template, or on a higher level, like Insights.
More info here, if you wish:

Let’s dissect that just a little bit more, so we understand what we are doing. Let’s take the value of what we select from the dropdown:

  | {% if custom[measure_id].check %}
      {% input custom[measure_id].status as:select options:"Requested|Approved|Denied|Received" required:true %}
    {% endif %}
    {% comment %}this value too needs to be taken into a result tag{% endcomment %}
    {% capture measure_status %}{{ name_measure }}_status{% endcapture %}
    {% result measure_status custom[measure_id].status %}

The value is stored in the database variable custom[measure_id].status, and for each check we need a different naming for our result tag.
That is why for each check, we take the value of the variable name_measure and combine it with the text _status.

So in the first check, this gives compensation_government_status while the third check will say repayment_plan_status. We all downcase it and replace spaces with underscores “_” as variables cannot have those :wink:

How can we access them through Insights?

Having done just that (and added the new reconciliation to all needed company files), I can access it through Insights, by just selecting a certain period to filter on, and then chose Reconciliation data:

Now, with Reconciliation data you can chose on what to filter on, and it’ll show all the possible result tags from that template (which is why naming your result tags are so important, so anyone knows what they are about):

If the value of your result is taken from a boolean (so either true OR false), you can go for the Checkbox option:
Screen Shot 2020-04-07 at 22.33.21

You’ll get to an overview like this:

As soon as you can filter specific company files, there’s always the next step on using triggers (so you can send a note/to-do for further follow-up to someone).

More info on that here.

Hope everyone can get a clear idea on what Insights can do, and perhaps this can give you insight (pun intended :smile: ) on what you’d want to need to get out of Silverfin.

Don’t hesitate to contact us through the Community if you’re stuck with building custom templates and/or building segments.