Solution of the Week: Financial Reports with Impactful Visuals

Solution of the Week: Financial Reports with Impactful Visuals

Finance reporting is a critical part of understanding an organization’s financial health. With Zoho Analytics, you can easily create dynamic reports such as Balance Sheets, Budget Statements, and Profit and Loss Statements.

Now, with the release of Zoho Analytics 6.0, the platform offers even more advanced tools to optimize the financial report view. While Zoho Analytics has always enabled comprehensive financial reporting (through its integration connectors for Zoho Books, QuickBooks, Xero, Sage), the latest version enhances this with powerful visual features like Data Bars, which provide clearer insights into performance trends.

This document outlines how these reports can be generated using simple drag-and-drop functionality and customizable features in Zoho Analytics.

Creating a Balance Sheet Using Finance Data

Generating a Balance Sheet in pivot using Zoho Analytics allows you to visualize your organization’s financial position in a comprehensive and structured way.
  1. Drag and Drop the Data: Start by selecting the Balance sheet base type, Account group, Balance Sheet Account Type, and Balance Sheet Account Name from the Accounts table and drop them into the Rows shelf. Drag and drop the Credit Amount, Debit Amount, and Balance Sheet Total from the Accrual Transactions table into the Data shelf.


  2. Layout Adjustments:
    1. Navigate to Settings > Layout.


    2. Change the Layout to Compact.
    3. Check Increase Font Size for each higher group in Rows.
    4. Uncheck Show row numbers.
    5. Uncheck Show vertical lines between them.
    6. Set Column Width to Fit to Screen.


  3. After making layout adjustments, click Apply to finalize the formatting.

  4. Go to Visuals and select Data Bars With Data to improve the presentation of financial data, making it easier to interpret key insights visually.


By following these steps, you will generate a clear and structured Balance Sheet that highlights your organization's assets, liabilities, and equity.


Key Features of the Balance Sheet Report

  1. Increased Font Size for Key Categories:
    Emphasizes important financial categories like Assets, Equity, and Liabilities, improving readability and focus.
  2. Compact Layout:
    Ensures a clear, organized display of financial data, enabling efficient consumption of the report.
  3. Line Removal for Clean Aesthetics:
    Removal of vertical and horizontal lines results in a cleaner visual presentation, improving the user experience.
  4. Data Bars for Quick Insights:
    Visual data bars provide a quick snapshot of financial status, allowing users to identify key trends at a glance.
  5. Timeline Filter for Flexibility:
    Filters allow users to view financial data across different periods, making it easier to analyze financial trends over time.
In Zoho Analytics, utilizing the Timeline Filter allows users to transform static financial data into a time-based, dynamic report. The formulas used in creating this filter enable detailed insights into financial performance over a selected period. Below, we explain the key aggregate formulas and how they enable users to achieve greater flexibility and customization, going beyond the typical app potential.

  • Opening Balance Formula
    sum_if("Accrual Transactions"."Transaction Date" < ${system.timeline.date.from},if("Accounts"."Account Base Type" in ('Asset') OR ("Accounts"."Account Base Type" in ('Equity') and "Accounts"."Account Name" in ('Drawings')),"Accrual Transactions"."Debit - Credit","Accrual Transactions"."Credit - Debit"),0)
    This formula calculates the Opening Balance for a selected period by summing transactions that occurred before the specified date (timeline.date.from). 
    This approach allows users to view the Opening Balance as of a given date, making it highly flexible for periods that differ across user's datasets.



    if("Accounts"."Account Base Type" in ('Asset') OR ("Accounts"."Account Base Type" in ('Equity') and "Accounts"."Account Name" in ('Drawings')),"Accrual Transactions"."Debit - Credit","Accrual Transactions"."Credit - Debit")
    This part of the formula can be customized based on the unique financial structure you follow.

  • Period Balance Formula

    sum_if("Accrual Transactions"."Transaction Date" > ${system.timeline.date.from} and "Accrual Transactions"."Transaction Date" <= ${system.timeline.date.to},if("Accounts"."Account Base Type" in ('Asset') OR ("Accounts"."Account Base Type" in ('Equity') and "Accounts"."Account Name" in ('Drawings')),"Accrual Transactions"."Debit - Credit","Accrual Transactions"."Credit - Debit"),0)

    The Period Balance formula calculates the net balance of transactions within a specific time range, defined by the timeline filter. The formula sums transactions between the start date (timeline.date.from) and the end date (timeline.date.to). This provides users with a snapshot of their financial activity for any custom date range they select.



  • Closing Balance

    sum_if("Accrual Transactions"."Transaction Date" <= ${system.timeline.date.to},if("Accounts"."Account Base Type" in ('Asset') OR ("Accounts"."Account Base Type" in ('Equity') and "Accounts"."Account Name" in ('Drawings')),"Accrual Transactions"."Debit - Credit","Accrual Transactions"."Credit - Debit"),0)

    The Closing Balance formula calculates the final balance as of a selected date (timeline.date.to). It works by summing all transactions up until the specified date, following the same account type distinctions used in the previous formulas.
     

    This formula is essential for determining the financial standing of an organization at the end of a reporting period, such as the end of a quarter or year.


Follow the below steps to create opening and closing balances with timeline filters:
  1. Drag and drop the created aggregate formulas into the data shelf.
  2. Select Data as row from the drop-down.


  3. Click on Show/Hide, then select Totals.


  4. Click on Columns drop-down, then set the Opening Balance as Top.

  5. Navigate to Settings > Layout and set Column Width as Equal. Provide Width value as required in px.


  6. Click Apply.
  7. Check Include Timeline Filter.


    The Timeline Filter is now enabled, and users can apply time-based filters to their data.


By utilizing these timeline-based formulas, Zoho Analytics allows users to move beyond static, historical reporting and into dynamic financial analysis. With the Timeline Filter, users can interact with their data in a more flexible way, selecting custom periods to analyze financial trends over time.

Click here to access the sample workspace.

Creating a Budget Statement

A Budget Statement helps compare actual financial performance against projected budgets, identifying variances and areas of concern. This visually enhanced report is designed to help businesses quickly assess deviations between expected and real expenditures, allowing for better budget management and financial decision-making.
  1. Drag and drop Account into the Row shelf, and Actuals and Budget into the Data shelf from the Budget vs Actual table.


  2. Add Report Formula:
    1. Click Add Report Formula to create custom calculations.


    2. Name the formula column appropriately (e.g., “Deviation”).
    3. Set Data Type as Decimal Number
    4. Create a formula to calculate the difference between actuals and budget as shown in the image.


    5. Click Save.
    6. By following the same steps mentioned above, create one more formula to calculate the percentage difference between actuals and budget as shown in the image.


    7. Click Save.
      The created formulas will appear in your data shelf and columns, reflecting in the report.


  3. Go to Visuals and choose Data Bars With Data for a more intuitive understanding of budget performance.
By following these steps, you will have a detailed Budget Statement that compares actual spending to the budget, highlighting deviations.


Report Structure and Visuals

  1. Account Breakdown
    The report is organized by account categories, such as Bank Fees, Cost of Goods Sold, and more, showing both Budgeted and Actual amounts for each category.
  2. Key Columns
    The report includes the following key columns:
    1. Total Budget - Displays the budget allocated for each account.
    2. Total Actuals - Shows the actual amount spent or earned for each account.
    3. Variance (Deviation) - Represents the difference between the budgeted amount and the actuals.
    4. Variance Percentage (Deviation %) - This column shows the percentage difference between the budgeted and actual amounts, highlighting under- or over-expenditure.
  3. Data Bars for Clarity
    1. Green Bars indicate favorable performance (within or under budget).
    2. Red Bars highlight overspending or budget deviations (e.g., Office Expenses or Rent).

Key Features of the Budget Statement Report

  1. Visual Representation of Deviations
    Data bars visually indicate how spending aligns or deviates from the budget, enabling quick identification of problem areas.
  2. Concise Overview of Financial Performance
    The report provides a clear overview of actual versus budgeted performance, allowing decision-makers to assess financial health efficiently.
  3. Enhanced Usability with Percent Deviations
    Percentage-based deviation columns allow users to understand the scale of over- or under-performance relative to the budget, making it easy to identify areas that are significantly off track.
Click here to access the sample workspace.

Creating Profit and Loss report

A Profit and Loss (P&L) report in Zoho Analytics helps businesses assess their revenue, expenses, and profitability over a specific period. By following these steps, you can create a detailed and visually engaging P&L report.
  1. Drag and drop Account base type, P&L Operating Profit Type, P&L Gross Type, Base type P&L, and Account Name into the Columns shelf from the Accounts table and Profit and Loss Balance into the Rows from Data shelf from the Accrual Transactions table.


  2. Layout Adjustments:
    1. Navigate to Settings > Layout.


    2. Change the layout to Compact.
    3. Set Indent Level to 3.
    4. Check Increase Font Size for each higher group in Rows to make key categories more visible.
    5. Uncheck Show row numbers for a cleaner report.
    6. Uncheck Show Vertical Line between Each Column to streamline the visual presentation.
    7. Set Column Width to Equal and specify the width as required in px.


  3. Once the layout adjustments are made, click Apply to lock in the formatting.
  4. Click Themes, and select the second theme. Set Row Spacing as 2.


  5. Navigate to Visuals and select Data Bars With Data to provide a quick and clear visual representation.


By following the above steps, you will create a Profit and Loss report which provides a concise and structured view of your business’s financial performance, making it easy to track profitability over time and identify key financial trends.



Click here to access the sample workspace.

Zoho Analytics provides an intuitive and customizable platform for generating comprehensive Balance Sheets, Budget Statements, and Profit & Loss reports. With its drag-and-drop functionality and powerful visual tools, Zoho Analytics transforms finance reporting into a data-driven process that improves decision-making, forecasting, and resource management.
Start leveraging Zoho Analytics today to create reports that provide actionable insights, helping your organization thrive financially!

    • Recent Topics

    • Multiplying Weight of product by Quantity

      I am facing an issue with creating a report that consolidates the total sales volume in kilograms. I have already specified the weight for each product. I have also aggregated the total sales quantity. The key question is: how can I create a report that
    • Confirmation prompt before a custom button action is triggered

      Have you ever created a custom button and just hoped that you/your users are prompted first to confirm the action? Well, Zoho knows this concept. For example, in blueprint, whenever we want to advance to the next state by clicking the transition, it is
    • Frontal interview scheduling - room availability in office using Google Workspace?

      Hi, We're using Zoho Recruit as our ATS and Google Workspace as our email, calendar and resources management. We want to use the interview feature to schedule an in-person (frontal) interview with the applicants. How can we sync the room resources availability
    • Add and Remove Agents from Departments and Groups in Zoho One

      Hi Zoho Flow Team, We hope you're doing well. Currently, Zoho Flow provides an action to add an agent to a group in zoho one, but there is no action to remove an agent from a group or a department. Another action that we find missing is the option to
    • Explication sur comment mettre en place des règles d'affichage ou "layout Rules"

      J'ai passé plus d'une heure hier avec le support et je n'ai rien compris !! Je suis lecteur assidu des guides (je "RTFM") qui ne sont absolument pas orienté "client" chez Zoho, et je tiens à le rappeler ici . Dans la documentation on m'indique un cas
    • Introducing Hiring Pipeline for Vendor Portal

      Keeping vendors informed about candidate progress is often challenging, leading to communication gaps and repeated follow-ups. To address this issue, we've released an update to the Vendor Portal feature that lets you choose to display candidates' hiring
    • Unlocking New Horizons: A Year in Review

      As we bid farewell to 2024, let's celebrate and revisit the key highlights of the year. From adding a new edition to cross-platform enhancements, here’s a roundup of all the feature updates designed to simplify accounting, optimize financial management,
    • Free user licenses across all Portal user types

      Greetings everyone, We're here with some exciting and extensive changes to the availability of free user licenses in CRM Portals. This update provides users with access to all Portal user types for free to help them diversify their user licenses and explore
    • Address Grabber function for Zoho

      I converted from ACT to Zoho. With ACT, I used an add-on called AddressGrabber to scrape the contact information from leads that I buy and contact information contained on emails and websites and directly add it as a new lead or contact. Does anyone know
    • Integrate zoom with zoho bookings please; or add optional times in zoho meetings

      Just like events - these online meetings like zoom need to be integrated with zoho bookings, and there needs to be option for customer to book a time slot. It should not be dictated by CRM user.
    • Add Owner to deluge-created module record note

      Is it possible to include the "owner" aka "creator", of a Note when creating it via delulge? This sets "superadmin" as the Note creator. I need to override it. notemap = Map(); notemap.put("Parent_Id",program_contact_id); notemap.put("Note_Content",program_contact_data.get('Note'));
    • Directly Edit, Filter, and Sort Subforms on the Details Page

      Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
    • Custom "Filter By" in Client Portal

      Currently our client portal only shows items for that specific person that is logged on to the portal, we want the current logged user to see all items for that user's company. An example would be invoices, so the current user would see all invoices for
    • Unique and Random IDs in Zoho Forms: Organize and Secure Your Data Efficiently

      When it comes to form submissions, organizing and identifying entries effectively is crucial. Zoho Forms offers two versatile ID generation options for submissions: Unique ID and Random ID. Each serves distinct purposes, providing flexibility to meet
    • Sort By Date - Deluge

      I have the following code, which normally works to sort calls by created time. Every once in a while, it doesn't work and something sneaks through in the wrong order and I can't figure out why. calls = zoho.crm.searchRecords("Calls","(Owner:equals:" +
    • Webhook when estimate is refused is not firing

      Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
    • Iteration through a list - Coming up against a "Failure to update function" error

      Hi there! I've been attempting to get a deluge script working and am running into an error that I have been unable to resolve. The error I am getting is Failed to update function Error at line :18. Improper Statement. Error might be due to missing ';'
    • Error 403: Forbidden When Updating Email Signature via API

      Hi Zoho Desk team, First, congratulations again on the excellent Zoho API. But, I’m encountering an issue while attempting to update an email signature via the API. Whenever I make a request to update the signature, the response returns an HTTP 403 Forbidden
    • Can you modify "Last Activity Time" in deluge? If so what's the field name?

      I need to perform some bulk modifications on records in the Leads module, but I need to avoid changing the "last activity time" or "date modified" because I am using those fields to filter and sort leads for follow-up action. I cannot find an answer anywhere
    • How do I define a weekend

      I noticed the default for weekends does not seem to include Saturdays. How can i define weekends to include both Saturdays and Sundays? Thank you.
    • 【Zoho CRM】ポータル機能のアップデート

      ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 今回は「Zoho CRM アップデート情報」の中からポータル機能のアップデートをご紹介します。 今回の機能アップデートにより、CRMのポータルへのログインがより簡単にできるようになりました。 【目次】 SAMLベースのシングルサインオンについて ポータルへのアクセスリンク送付について 今回のアップデートにより、アイデンティティプロバイダー(IdP)を利用している組織において、SAMLベースのSSO(シングルサインオン)を有効化できるようになりました!
    • Getting error during inserting a record in form of zoho people using zoho api

      import requests import json # Set your access token and Zoho People API base URL access_token = '1000.XXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX' api_base_url = 'https://people.zoho.in/people/api/' # Set the form name and data to be inserted form_link_name
    • UI Arabic

      can i change the member portal UI to arabic in zoho community?
    • Resume template to include profile photo

      Hi, We would love the Resume Template to be able to include their profile photo. How can this be done? Miriam
    • Marking a form as 'done'?

      Hi! I've got a form that staff fill in when moving stock from location to location. I see the entries they've sent across and I input them into my stock control system. Is there a way to mark a form as 'done'? So that I know which entries I've input,
    • Zoho CRM - best way to search an account and assign to a deal

      Hi Everyone I am looking for some advice. I want to find the best way to complete the below steps. We have a deal and once it reaches a certain stage we need to allocate a supplier / vendor to this deal along with the salesperson. I want to add (ideally
    • Count the NUMBER of Contacts for an Account automatically

      Hello. Is there any way Zoho can count the number of CONTACTS for a particular ACCOUNT and have a field in the ACCOUNT module update itself automatically? Currently we use Zoho to administer our language school and the Contacts represent students and Accounts represent Grupos (Classes). It would be very useful for us to have a feature like this enabled, and I can see other similar applications requiring something like this. The solution would be even better if the Contacts met a specified criteria,
    • How to easy change layout in existing records in Deals?

      Hello, So far i have used only 1 layout in Deals. I have about 1000 records. Now i want to make new layout. So i have 2 layouts: Layout Old (1000 records) Layout New (0 records) How to easy change layout from Layout Old into Layout New for existing records?
    • Zoho Rating

      When I close a ticket, the zoho system automatically sends an email to the customer for them to leave a rating. When they leave a rating, the ticket re-opens and I have to close it again. When I close it again, the zoho system sends the customer an email
    • Zoho GC Flow is not showing in IM Channels

      I have added my social IM channels in zoho desk. Created a GC Flow to automate conversations. But Guided conversations are not showing in any platforms I have chosen; WhatsApp Instagram Messenger Web (Business Messaging) In the flow I mentioned these
    • Sharing Knowledge Base articles across multiple departments

      It would be useful to share some Knowledge Base articles across multiple departments where they are applicable, rather than having to go into other departments to find the article you're looking for. For example. Our reception uses the 'Admin' desk whereas our IT guys use the 'Support' desk, however both divisions would find KB articles about our company intranet useful. Reception does not have access to the support desk, so cannot see articles created in the Support KB. Perhaps you could install
    • Contacts marked as Spam are shown as Contacts in tickets.

      Hi Zoho, If a ticket is marked manually as Spam you get an option to set the contact as Spam as well. It would be great if there was another option to delete this Contact. This would be based on the understanding that it wouldn't be marked automatically
    • Is possible to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} for to detect inline a null parameter

      Hi Team I need to know if it's possible to evaluate inline the following parameter, with the objetive to detect a null value ? I would like to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} Regards, Pablo
    • Real Estate CRM

      How can I tailor my CRM for real estate? I had seen an image where the CRM included property tabs.
    • Issue with Bulk Edit Triggering Function Multiple Times in Zoho Report

      In our Zoho report, we have observed an issue where executing a function during a bulk edit operation runs the function multiple times—once for each selected report entry. This behavior is causing errors due to overlapping or redundant executions. Our
    • Is there a Kanban view of Tasks across all Projects?

      As the title indicates, I could use a Kanban view of my Tasks across my Projects. If it's there, I don't see it. If it isn't there, I'd like to submit this as a feature request. Thx.
    • Set recurring tasks in Zoho Support?

      Hello,   We use the task function in Zoho Support to set reminders for "due dates" of important events, such as lease expirations, etc. Is it possible to set some of these as recurring yearly? As of now, we have to reset every task manually after one year. Is there a way to have it reset automatically?   Additionally, is there a way to import a list of tasks and their dates into Zoho Calendar? I have not been able to do it from Zoho Support to Calendar. I tried exporting tasks from Zoho Support,
    • Help - How Can I Enter a Hourly Rate (Global Cost) for our Team for Profitability Reporting?

      Hi everyone, I'm hoping someone can help as I am at a loss and am quite shocked (if true) at the lack of functionality in Zoho Books. We run a company in which we do hourly jobs for clients and we bill based on the hours of work completed. Projects are
    • Schedule a regular backup

      In CRM I have a regular backup setup. I cannot find an option to backup Desk? I would like to take a backup before I test syncing products between CMR and Desk.
    • Opening & working multiple tickets

      We work in multiple tickets at the same time. Currently to do this, we have to open multiple instances of Desk.  Is there a way to do this by just opening multiple ticket tabs within 1 instance of Desk?  
    • Next Page