规划与分析

Liquidity management with the Cash Flow report

Starting from Banana+ Dev Channel 10.1.25, a new command Report > Cash Flow Report has been introduced, offering a detailed analysis of liquidity changes recorded in accounting.

This tool allows you to monitor receipts and payments, including future ones, providing valuable insights into your company's financial strength and operational efficiency.

  • The logic behind this function is based on comparing the balances of liquidity accounts and the movements of counterpart accounts, which usually represent revenues or expenses.
  • By understanding how the movements in liquidity accounts correspond to net cash flows for each period, you can gain an accurate view of your financial situation at any time. This comparison provides valuable information for effective financial planning and informed decision-making, helping you maintain balanced cash flow and achieve your financial goals.
  • Thanks to the forecast functionality, you can analyze the evolution of liquidity over the year, using data from existing entries and budget items.

Prerequisites

Currently the Cash Flow report functionality 

  • Is available in the Dev-Channel version, so please install the latest version of Banana Accounting+ Dev Channel.
  • This extension works only with the Advanced Plan, you can request a 1 month promo code from our support service.
  • The extension is currently in Beta Test, please check everything and report any problem.

The Cash Flow Table

To view the Cash Flow table:

  • select the command from the menu Report > Cash Flow Report
    (if the command is not visible, check the prerequisites)
  • set the parameters in the Cash Flow Report dialog and confirm with OK

Cash report output

Rows

Vertical structure of the report

  • Each liquidity account
    • Total of all liquidity accounts (cash accounts)
  • Counterpart accounts
    • Total of counterpart accounts (cash flow total changes)
  • Difference (displayed only if the total of liquidity accounts differs from the total of counterpart accounts)

Some commands to filter the rows displayed in the table

  • To display only the rows with an amount in the Current view
    |!Movement_?_C:xml!<> |!Balance_?_C:xml!<>
  • To display only the rows with an amount in the Budget view
    |!Movement_?_B:xml!<> |!Balance_?_B:xml!<> 

Columns

The columns with amounts

  • Opening balance (only for liquidity accounts)
    The initial amount of the liquidity account for the period.
  • Closing balance (only for liquidity accounts)
    The final amount of the liquidity account at the end of the period.
  • Movements for the period
    • Inflows (hidden column)
      Indicates incoming money
    • Outflows (hidden column)
      Indicates outgoing money
    • Net Cash Flow
      • Liquidity accounts
        Calculated as Inflows minus Outflows.
        Represents the total of all revenues (positive amounts) and expenses (negative amounts) within the account for the considered period.
      • Counterpart accounts
        The origin (positive amounts) and the destination (negative amounts).

Views

The report has three views

  • Current
    Uses the opening balances and the actual transaction data.
  • Budget
    Uses the opening balances and the data from the Budget table.
  • Forecast
    • Uses the opening balance and the data from the transactions up to the day before the forecast start date.
    • Uses the budget entries starting from the forecast start date (inclusive).

The View Forecast

The forecast combines current accounting data (Transactions table) with budget data (Budget table).

Example:

  • In the Transactions table, movements are recorded up to the end of September.
  • In the Budget table, the budget for the months of the year is recorded.
  • If you set the forecast start date to October 1st, the program will calculate the forecast including:
    • Actual opening balance.
    • Transactions from January through the end of September.
    • Budget data starting from October 1st.
  • The liquidity forecast will therefore use the actual liquidity account balances and calculate the forecast through the end of the year based on the budget data.
  • The forecast can be particularly useful when combined with a monthly breakdown.
    If you use a monthly breakdown, you can view the projected cash flow for October, November, and December, starting from the actual data up to September.

Example of a report for the period 01.01.2025 - 30.06.2025

  • Forecast start date: 01.04.2025
  • 1st quarter amounts are based on actual transactions.
  • 2nd quarter amounts are based on forecasts:
    • The opening balance of liquidity accounts is based on actual data.
    • The net cash flow is calculated based on budget entries.
    • The final balance (projection) is the sum of current and forecast data (transactions + budget).

Cash report output

Report logic

The report will show:

  • For liquidity accounts:
    the total of all inflows and outflows for the period.
  • For other accounts:
    the total of the entries that affected the liquidity accounts.

How the report works

  • The user defines which accounts are liquidity accounts.
  • The opening balance of the liquidity accounts is used as the starting value.
  • For all entries in the Transactions and Budget tables:
    • The program only considers entries involving a liquidity account.
    • The amount recorded in the liquidity accounts is analyzed individually for each account.
    • The amount recorded in the counterpart accounts is also analyzed separately for each account.

Definition of counterpart account

A counterpart account is an account that does not belong to the list of liquidity accounts.

  • For single-entry (debit/credit) records:
    the counterpart account is the one used in opposition to the liquidity account.
  • For entries with multiple rows and different accounts:
    The position of the row including the liquidity account does not affect the decision to include or not the entry in the report.
    • The first liquidity account (whether debit or credit) is considered the main liquidity account.
    • All other accounts used are considered counterpart accounts.

Logic for grouping entries

In the Transactions table, accounting movements are listed sequentially, without the possibility to manually define a start and end for each entry. Therefore, the program automatically determines when an entry starts and ends, as well as which accounts are part of it. This logic directly impacts the correct assignment of the counterpart to liquidity accounts.

Understanding the grouping mechanism of entries in Banana is essential for achieving an accurate interpretation and reducing any discrepancies reported in the cash flow report.

Errors and Differences

When the program is unable to determine the counter-account in a multi-line transaction, a difference is reported. This warning does not necessarily indicate an accounting error, but rather the inability to identify the exact counter-account. 

In these cases, you can assist the program by specifying the liquidity account in square brackets on the relevant line. This action:

  • allows the transaction to be included in the cash flow calculation.
  • Acts only as a comment and does not affect the accounting result.

Managing differences

The inflows and outflows in liquidity accounts must always be associated with:

  • a source account (for inflows, from where the money comes)
  • a destination account (for outflows, where the money was transferred to).

For each entry (whether single or spread over multiple rows), the system reports an error when the total amounts recorded in the liquidity accounts do not match the total amounts assigned to the counterpart accounts.

Differences and errors can therefore arise from:

  • Partial or missing counterpart assignments.
  • Amount errors between liquidity movements and their counterparts.

Practical examples

Below are some examples of accounting entries split over multiple rows, involving the liquidity accounts 1020 Bank and 1000 Cash.
Although these entries are accounting-wise correct, they can generate ambiguities in cash flow calculation, highlighting a possible discrepancy between the liquidity balance and the total of the counterpart movements.

  • Doc change (Doc column)

    • Example: entry over multiple rows with different docs. Report of a 360.00 CHF difference at row 1.
    DateDocInvoiceDescriptionDebitCreditAmountBalance
    14.01.20251 Various purchases 1020360.00-360.00
    14.01.20252 Purchase on 12.014000 30.00-330.00
    14.01.20253 Purchase on 13.014000 330.00 
    • Correction: indicate the liquidity account in square brackets in the second and third rows.

      DateDocInvoiceDescriptionDebitCreditAmountBalance
      14.01.20251 Various purchases 1020360.00-360.00
      14.01.20252 Purchase on 12.014000[1020]30.00-330.00
      14.01.20253 Purchase on 13.014000[1020]330.00 
  • Change in invoice number (Invoice column)

    • Example: entry over multiple rows with different invoice numbers and an empty Doc column. Report of an 8,000.00 CHF difference at row 1.
    DateDocInvoiceDescriptionDebitCreditAmountBalance
    18.01.2025  Customer invoice collection1020 8,000.008,000.00
    18.01.2025 4545Payment from customer 1 30003,000.005,000.00
    18.01.2025 4546Payment from customer 2 30005,000.00 
    • Correction: indicate the liquidity account in square brackets in the second and third rows.

      DateDocInvoiceDescriptionDebitCreditAmountBalance
      18.01.2025  Customer invoice collection1020 8,000.008,000.00
      18.01.2025 4545Payment from customer 1[1020]30003,000.005,000.00
      18.01.2025 4546Payment from customer 2[1020]30005,000.00 

 

 

 

 

 

Cash Flow Dialog

The Cash Flow Report dialog window allows you to customize your liquidity reports by selecting specific liquidity accounts, periods, breakdowns, and other settings to tailor the report to your needs. With the ability to save different configurations, you can create and store multiple customized reports.

In the Banana menu, select Report > Cash Flow Report

Cash report dialog

Basic tab

  • Liquidity account or group
    • Selection: type the name or ID of the liquidity account or group for which you want to generate the report, then click the Add button.
    • When selecting a group (indicated by Gr=), all accounts belonging to that group will be included in the report as liquidity accounts. This is useful for analyzing multiple accounts simultaneously without adding them individually.
    • To remove selected accounts or groups, click the "X" button next to the account name.
  • Forecast checkbox
    • Available only for accounting files that contain the Budget table.
    • Select this checkbox to include forecasts in the cash flow report, allowing you to project future liquidity changes based on budget entries.
    • Enter the start date from which forecast data should be calculated. This date is inclusive, meaning that from the specified day onward, the report will consider budget data (from the budget table). Data before this date will instead use actual data (from the Transactions table). This feature allows for seamless integration of historical actual data with future projections in the Cash Flow analysis.

Other sections of the dialog

Explanations for the other sections are available on the following pages:

  • Period
    Defines the reporting period.
  • Subdivision
    Allows you to generate a report divided into multiple periods.
    Segmentation by segment is currently not implemented.
  • Customization
    Allows you to save report settings. For example, you can create and save separate configurations for:
    • Cash Flow Report: including liquidity accounts.
    • Working Capital Report: including working capital accounts.

Banana财务会计+ 的图表功能

在Banana财务会计+ 中,当打开一个文件时,底部的图表窗口可以提供所选账户、组、成本中心或分部的趋势图形。

根据可以在右侧面板中选择的设置,在表格中显示账户或其它选定项目的数据:

  • 将光标定位在图表的曲线或条形上,就会显示出金额的确切数值。
  • 点击图形上的一个点,就会在相应的位置打开相应的账户明细。

Banana财务会计+ 的图表

控制面板

使用右边的面板,您可以选择要显示的数值和周期、模式,以及打印或保存图表。

如果窗口的大小不允许显示所有的控件,则只会显示与图例相关的控件。要查看所有控件,您需要最大化主应用程序窗口或底部窗口。

时间值

以下会计值可以单独或同时显示在图表中:

  • 当前 - 表示实际值。
  • 预算 - 表示预算值。
  • 上期 - 代表上一年的值。

用鼠标点击名称 (当前、预算或上期),就会显示或隐藏各自的数值。

选项

图例选项选择是在图形窗口中隐藏还是显示图例。它通常是隐藏的,但在需要打印或保存图形时可以显示它。

  • 关闭 - 图形不显示任何图例。
  • 底部 - 图例显示在图表下方的中心位置。
  • 左 - 图例显示在左下角。
  • 顶部 - 图例显示在图表的中央。
  • 右 - 图例显示在右下角。

范围

要显示数据的年限。

  • 1A、2A、3A、4A、A (A代表年份)。

区间

可以根据以下选项自定义图表刻度上每个值之间的空间:
  • 1天、1周、1个月、3个月 (季度)、6个月 (半年)、1年。

数值

图表可以显示期末的会计余额或期间的会计变动。根据所选择的值,相应地调整显示的日期:

  • 余额 - 该图表表示期间末的余额 (例如2022年1月31日 - 期间结束日期)。
  • 动向 - 该图表示期间的运动 (例如2022年1月 - 期间)。
  • 自动 - 该图表示资产负债表账户和成本中心3 的余额,以及损益表账户、成本中心1、成本中心2和部门的变动。

类型

该图表可以用以下方式表示数值:

  • 线型 - 图形由线来表示。
  • 区间 - 图形是由面积来表示的。
  • 条形 - 图形用条形表示。
  • 自动 - 图表在资产负债表账户和成本中心3中以面积表示,在损益表账户、成本中心1、成本中心2和分部中以条形表示。

打印、保存或复制图表

这个功能只适用于Banana财务会计+ 的高级计划

打印、保存或复制图表

在图表表格中,在右上角,点击复制符号,会出现一个菜单,有以下命令:

  • 打印 - 在打印预览中显示图表。
  • 保存 - 将图形保存为PNG图像。
  • 复制 - 将图表复制到剪贴板上的PNG图像。复制的图片可以粘贴到任何文本编辑器 (Word、Excel...)。
  • 复制数据 - 将用于创建图表的数值复制成一个数据表,可以粘贴到任何电子表格 (Excel,Numbers...)。