SI Setup Reporting


How the System Integrator sets up the Tenant Reporting

  1. Create reports for selected tenants that displays detailed usage and billing for tagged equips

  2. Generate a report that displays summary of the total amount owed by each selected tenant and the total amount of all selected tenants

  3. Send the reports right away or allow to create jobs that will generate reports automatically at the desired frequency

The available features this Tenant Reporting supports are:

  • Company Logo

  • Property Manager, Tenant, and Property Info

  • Date and site

  • Summary Totals of All Tenants

  • Individual tenant details of usage

  • Schedule Report - now, daily, weekly, or monthly

  • Report Generation: Individual or Compiled

  • Misc additional fees

Prerequisite: 

  • The finHtmlReporting extension enabled. Refresh browser after enabling for the FIN Reports app to appear in the App Launcher menu.

  • The html2pdf extension enabled.

  • Need to have the Email SMTP settings configured in the Host > Settings. Then make sure users have a valid email to receive the reports.

Setup Property Manager for Reporting

Create a property manager following this document: Manage Property Managers.

Then be sure to add a Ref property tag by the name of propertyManagerRef to the site. Will need to copy the id of the user and paste it in there without the "id==" portion.

Note

To get the user id, go to Host → Users → click on 'i' icon of user → and copy id from there. (Only su type users have access to Users)

How to setup Points for Reporting

If the user has their own logic for their "trigger point" and/or their own point, all they have to do is go to the DB Builder app add an occupancyIndicator marker tag to a point that will be used to determine whether its equip is in use.

Make sure the point is trended.

Optional: IF they will like to use our logic that can work with schedules, they will create a Boolean point named "Trigger Point"  and be sure to give it the occupancyIndicator tag, enable Has History to collect every 5-15 mins and make sure its writable.

IF using our logic with schedules, the user must have the tenantScheduleDifferences Logic Builder program added to their project. 

Download required Logic Builder program here and upload it in the Logic Builder app using the Restore option

  • Its going to run on equips that have the vav and zoneMaster tags (this can be edited if needed)

Setup Tenants for Reporting

The user will then create a tenant following this doc: Manage Tenants. Repeat for each tenant needed.

Setup Equips for Reporting

The user will need to specify which equips will be tracked and billed per tenant. To do this, the user has a couple ways. One is to go to the DB Builder app > Equip Tree and select the equip. Then the user will go to Tools >  Reports > to select Add Tenants to Equip. The second way is to go the FIN Reports > Tenant Reporting > Add Tenants to Equip.

The user will be prompted with the below pop up where they can choose which tenant(s) to assign to the equip. As well as if they will be charged hourly or by usage. Example of both below.

  • Charge Hourly

  • Charge by Usage (only works with numeric point type triggers)

If “Charge Hourly” was selected and applied, it will add "zoneMaster" marker tag, tenantRefs property string tag with id of tenant user, and isPercentage boolean tag set to OFF.

If “Charge by Usage” was selected and applied, it would prompt the user to pick if they want to calculate the percentage of total usage and to pick a group name. If a group name doesn’t already exist, user will create one.

Calculate as percentage of total: This should be true if user wants to charge by usage.
Percentage Group: This would be the group to add the tenant to.

If no group exists, the user will create a group. Below the user will be prompted to pick a group name to group the tenants.

Once applied, it will add "zoneMaster" marker tag, tenantRefs property string tag with id of tenant user, isPercentage boolean tag set to ON, and group property string tag with group name.

How to Setup Schedules for Reporting (If using our logic)

NOTE: This is only if you are applying our logic with the program mentioned above when setting up points for reporting. If a site has a predetermined schedule of operation but a tenant needs to be there earlier or stay later, they can create their own schedule (regardless if it overlaps with normal hours) and they will be billed for the extra time outside of the normal hours.

The user would need to create a schedule if one doesn't exist already for their end user (tenant schedule) and normal business hours (master schedule). Select the type of schedule and default values. Also add either "masterSchedule" or "tenantSchedule" marker tags to them depending on what the schedule is for.

After the schedule has been created, the user can tag it multiple different ways.

  • By selecting the Edit icon after opening said schedule in the Schedules App

  • By selecting the Edit button on the bottom bar when selecting schedule in the Schedules Tree (DB Builder)

  • By selecting the 'i' icon next to schedule in the Schedules Tree (DB Builder)

After creating schedules, the user wants to set the normal hours of operation of the "masterSchedule". If its a "tenantSchedule", set an earlier or later time duration to bill them outside of normal hours. The tenants can set this themselves when they think they will need extra time.

Setup Equips for ScheduleRefs

In order to use our logic based on schedules, the user must apply the following tags to their equips so that the program uploaded earlier can work:

  • masterScheduleRef - this will be a Ref property tag that will refer to the master/normal schedule of the building set by the owner. Make sure to add the masterSchedule marker tag to the master schedule to make it appear in the browse menu to select it.

  • tenantScheduleRef - this will be a Ref property tag that will refer to the schedule set by the tenant. Make sure to add the tenantSchedule marker tag to the tenant schedule to make it appear in the browse menu to select it.

  • tenantCommand - this will be a Boolean property tag that will be turned on when the tenant schedule is not overlapping with the normal schedule. The tenantScheduleDifferences program will add it automatically when it runs on the targets. Do not add it manually or else program will throw an error.

After all that, the user will now be able to generate reports.

Generating Reports

The user will go in the FIN Reports app → Tenant Reporting → Create Report.

After "Create Report" is selected there will be a popup window containing a list of users tagged as tenants. The user will select the tenants they want to create reports for.

Once the users has selected all the tenants they want reports for, they will click the "Next" button and another popup window will appear with options for the reports.

The following options will be available:

  • Time filter: Use this drop-down list to choose a time period for which you want the reports to reflect. Time Spans with "This" in front will report on that current time span while those with "Last" will report on the previous time span. ("This Month" = current month so far, "Last Month" = the entire preceding month.)

  • Email address: Choose the email you wish to send the report to. This drop-down list will contain the names of all tenants as well as users tagged as "propertyManager".

  • Email subject: Choose what you would like the subject to be. If nothing is entered, it will default to "Finstack Report on 2017-05-18 for <tenantName>"

  • Report Schedule: Choose when to send these reports. "Send Now" will email the reports as soon as each one is completed. The other options will create a job to send reports automatically: "Daily" will send a report everyday, "Weekly" will send reports every 7 days, and "Monthly" will send reports on the first of each month at 9 AM.

  • Set Date Format: This allows the user to choose the date format they would like to appear on the report. A configuration prompt for this will appear after the user hits apply. Look below for extra details regarding this. If not configured, its set to this default Monday, 01/01/2016

  • Individual Forms: Selecting this option will send an email with a detailed report for each tenant selected.

  • Compiled Form: Selecting this option will send one email per site containing a summary of each tenant selected.

After selecting all the options desired, the user will click "Apply" and the reports will be created or if Set Date Format was selected, the below pop up will appear.

The available options here are:

  • Include Weekday: This allows the user to modify how the date will appear on the report. None means it won't include the day text, just date (ie- 2016-01-01). Abbreviation will include the day text abbreviated (ie- Mon, 2016-01-01). Full Text will include the whole day text (ie- Monday, 2016-01-01).

  • Delimiter: This allows the user to choose how the date is separated. (2016-01-01 or 2016/01/01 or 2016.01.01)

  • Date Format: This allows the user to choose the date format. For example in Europe, the common date format is DD/MM/YYYY where as in the US is MM/DD/YYYY. There are plenty of other options the user can choose from.

Once the user clicks "Apply", the user is done.

Adding your logo

If you wish to include your company logo in the report, all you have to do is upload your logo image in the Files section of the Folio app. To get there, select Folio app in App Launcher menu → Menu → Files → Upload. Once uploaded, go to the Images section of the Files.

Find your image and select it to find “View Edit” option.

Then select Options to find the “Tags” option.

Once selected, add a "logo" marker tag to the image. The report will automatically look for that tag and add the image to the report. If it doesn't exist, it'll just create the report without a logo.
Should look like below. The name of tag is “logo” and tag type is “Marker”.

Here is an example report with our J2Innovations logo at the top left corner.

Editing Jobs

When a report is generated for either daily, weekly, or monthly, a job is created in the background that will then execute for whatever frequency was selected.

If for whatever reason the frequency of when to send a report needs to change, it can be done through the Job app or Job tree in DB Builder.

Jobs app edit

Below is how to edit the job via the Jobs app.

First, user will open the Jobs app and select the tenant report job they would like to edit.

Once selected, they will see the below tag properties of the job. Depending on the editable tag they would like to edit, they would select that tag. Only name, func, and schedule are editable tags.

  • Name - this is to edit the name of the job.

  • Func - this contains the func that is used to generate the report. The parameters within the func can be edited.
    Func example: finGatherTenantData(finGetOnOffTimesTenant([@p:demo:r:1eeaff69-30d84ee5], @u:tenantUser,lastMonth().toStr),"support@j2inn.com", lastMonth().toStr, "Tenant A Report","")
    Parameters of the func are: tenant equip, tenant user, time filter (for inner func “finGetOnOffTimesTenant”), property manager email, time filter, email subject text, date format.

  • Schedule - the interval at which the job should run.

If the user wishes to stop receiving reports for the time being or no longer there, the job can be disabled by clicking on the Disable button. Or if the job is no longer needed, it can be deleted by clicking on the Trash button.

Jobs tree edit

Below is how to edit the job via the Jobs tree in DB Builder.

First, user will open DB Builder app and select Jobs tree on the left side, which then the user can find the tenant job to select.

Once the job is selected to be edited, the user can find the Edit button on the bottom footer menu.

Once the Edit button is selected, the user will be prompted with the below popup to edit the fields.

  • Name - this is to edit the name of the job.

  • Func - this contains the func that is used to generate the report. The parameters within the func can be edited.
    Func example: finGatherTenantData(finGetOnOffTimesTenant([@p:demo:r:1eeaff69-30d84ee5], @u:tenantUser,lastMonth().toStr),"support@j2inn.com", lastMonth().toStr, "Tenant A Report","")
    Parameters of the func are: tenant equip, tenant user, time filter (for inner func “finGetOnOffTimesTenant”), property manager email, time filter, email subject text, date format.

  • Schedule - the interval at which the job should run.

If the user wishes to stop receiving reports for the time being or no longer there, the job can be disabled by clicking on the Disable button. Or if the job is no longer needed, it can be deleted by clicking on the Delete button.