基于复式记账法的财务预测

文件资料 •
在此文中

Banana财务会计软件的财务预测系统采用的是与会计核算相同的复式记账法。

在进行财务预测的时候,您需要标明来源账户 (贷方) 和目的地账户 (借方)。这样就可以准确地了解资本流动的情况,并有可能获得全面的了解,包括:

  • 预算预测与财务状况、流动资金、资产、第三方和自有资金有关。
  • 损益表预测:收入,成本和经营成果。

计划-执行-控制

Banana财务会计软件的财务预测部分是计划 - 执行 - 控制的组成部分。
其提供了对财务状况和演变的持续,动态控制。

General scheme planning-executing-controlling

财务预测和会计核算存在于同一个文件中

在同一个文件中同时包含有会计核算和财务预测的数据。您可以先从准备好的文件中保存会计核算的数据,然后再添加财务预测,也可以从文件中先保存财务预测的数据,然后再管理会计核算的数据。

共同的要素

  • 基本的会计数据
    标题,货币,会计期间,地址,其它参数。
  • 账户和科目表
    在哪里设置包含账户和总组的会计科目表。
    • 期初余额 - 期初列
      它们被插入到会计科目表中,并作为会计核算 (当前的值) 和预测的初始情况。
    • 年预算 - 预算列
      • 与预算表一起
        会计科目表中的预算一栏将受到保护,程序显示了根据预算表的内容计算出的预算金额,参照会计期间。
      • 如果没有预算表
        您可以手动输入预算数据。
        在做财务预测的时候,程序会生成每月的值,其是由年值除以会计期间的数月而得来的。
  • 其它表格
    • 增值税代码表
    • 汇率表

会计数据 (过去和现在)

  • 发生业务表
    过去(历史)变动的地方。
    发生业务表始终存在于会计文件中。如果您不用它,也可以将其隐藏。
  • 当前的值 (会计核算,过去和现在)
    这是一个账户或组的期间余额或变动情况。
    在报告中,您可以显示当前值的列。
    这些值是根据会计数据计算出来的,计算时考虑到了会计数据的变化。
    • 期初余额 (账户表)。
    • 发生业务表内的动向。
  • 账户明细 (历史)
    这些是根据初始余额加上发生业务的账户或组的变动情况。

预算的数据

这些是用来做预测、预算和计划的。
在程序中,我们总是使用术语预测来表示未来的数据。

  • 预算表
    在此处输入未来的预算业务。
    其操作的方法和发生业务表格是一样的,它们拥有同样的列,以及预测的其它规格。
    列入预算表的,与未来有关的变动情况:
    • 静态值 ​​(如同发生业务表格内的一样)。
    • 软件会自动使用计算公式,自动计算预测的数据。
    • 通过输入重复代码,程序会自动计算重复性的业务来生成预测数据。
  • 预算值 (未来)
    预测值。在报告中,您可以显示预算值列,该值考虑到:
    • 期初余额 (账户表)。
    • 在预算表中的发生业务 (如果有的话)。
    • 如果预算表不存在,请使用账户表或科目表预算列中包含的值。
  • 预算账户明细 (未来)
    这些是根据期初余额和预算发生业务编制的一个账户或组的业务。

预算值的差额

预算值与当前值 (实际值、最终值) 之间的差额。
在报告中,有一列用于对其进行比较,显示差额。

混合预测值(从某特定的一日期开始计算)

在未来某一日期的价值计算如下:

  • 根据目前的价值,在指定的开始日期之前。
  • 从预算值上注明的日期开始。

混合预测值只能通过脚本和网络服务器获得。

会计核算的类型

会计核算所选择的会计方法是用来输入预算业务或动向的。

  • 收入和费用 (现金日记账,收益&费用核算)。
  • 复式记账 (复式记账,复式记账含外汇)。

对于预算计算,该方案内部始终使用基于复式记账的输入。因此,得到的结果和报告非常相似。

会计核算,财务计划以及预测的期间

会计或预测都与一个特定的时期有关。以下是有相关的时期:

  • 会计的期间
    在文件和账户属性中定义此期间,填写会计账套的起始日期和结束日期。
  • 预算的期间
    指的是输入预算数据的时期。
  • 预测的期间
    它是程序用来计算预测的时期。当要求打印的时候,就会显示出来。

欲了解更多的信息,请参见预测时期的页面。

按时期划分

采用复式记账法,每项业务在财务预测中都有属于自己的日期。当需要打印的时候,用户可以选择是按月、季度、每半年还是每年来进行预测,程序将自动计算一切的数据。与电子表格不同的是,不需要在一开始就决定是按月、季度还是按年来进行预测,也不需要在列中手动划分金额。

自动预测

由于可以指出某些业务在未来可以重复进行,该程序包含有所有必要的元素来自动准备未来几年的预测。这样,您就可以知道未来几周、几月、几个季度和几年的收入、成本、流动性和其它资产和负债的变化情况。

所有操作的细节

使用复式记账法,通过输入业务来做财务预测。该程序能够在账户明细上显示每个账户的详细变动情况。这种视图对调查要素非常有用,代表了以流动性为导向的财务预测的另一个优势,这是用电子表格编制的财务预算所难以实现的。

计算日记账

所有会计和预算处理的基础是对日记账的计算。为了编制财务报表、损益表、会计明细、增值税报告,该程序创建了一个内部数据结构,该结构被称为计算日记账。通过API会计与日记账功能可以访问相关的动向。

创建计算日记账的逻辑如下:

  • 它是根据用户输入的数据开始创建的。
  • 对于每项财务变动,包括期初余额,都有一行,主要内容如下:
    • 原始
      指示出业务是否与会计核算 (当前) 或与财务预测 (预算) 有关。
    • 操作类型
      期初余额,动向,结转,发票赔偿。
    • 日期 (相关的日期)。
    • 摘要
    • 账户
    • 账户类型
      指示其是普通账户还是成本或利润中心。
    • 金额 (记账本位币)。
    • 正值表示增加 (借方),负值表示减少 (贷方)。
    • 账户金额
    • 其它列
      • 在发生业务表里所呈现的。
      • 其它几个用于计算的。

每次重新计算时,计算日志都会被清空,然后添加以下的内容:

  • 当前发生业务的行 (与实际会计核算相关)。
  • 预算动向的行。

当前值的行数 (实际值)

当前值的行被添加到临时的日记账中,从下列内容开始:

  • 账户表中的初始余额。
    对于每个有余额的账户,都会创建一行。
    • 日期是指会计核算的开始日期。
    • 账户就是账户。
    • 金额是期初余额。
  • 发生业务表中的会计动向。
    如果动向有多个账户,借方账户、贷方账户、增值税账户、成本中心,则为每个账户生成一行,相对金额为正或负。

预算值的行

预算值的行被添加到临时日记账中,从下列内容开始:

  • 账户表中的初始余额
    与会计核算的值一样,为每个有余额的账户建立一个预算行。
  • 财务预测的动向 (含预算表格)
    针对于会计核算,对于账户中的每个变动,将根据预算表来创建行。
    • 静态值,所有值均已设置。
    • 重复性的动向
      • 对于所定义的整个预测周期,该程序将基于重复代码来创建预算项目的重复项并设置日期。
      • 该程序会根据开始日期,结束日期重复列的内容来生成重复行。
      • 如果预测期为正常的日历年份,并且在1月对每月重复的租金登记进行了设置,则该程序将在接下来的11个月为此租金自动创建重复项。
      • 如果登记的时间是1月31日,对于没有31天的月份,则该日期为该月的最后一天。
      • 如果首次登记在3月28日进行,并且重复代码指示的是月末,则在接下来的几个月中,该日期将成为该月的最后一天。
    • 对于会计分录,如果预算行上有多个账户,则为每个帐户生成一行。
  • 从年度预算开始的变动 (如果没有预算表)。
    如果没有预算表格,则根据账户表和科目表的预算列的内容来创建预算行:
    • 根据处于会计期间的月份进行计算。
    • 每个月都会创建一行。
    • 预算列中的金额除以月数。
    • 如果存在四舍五入的差额,则可以为最后一个月创建额外的一行。

在创建后,将按升序对行进行排序。

金额列计算

一旦创建了对日记账的计算日,所有包含公式,数量或单价的预算行的金额列内容将被重新计算。

Javascript中公式的解析:

  • 创建Javascript解释器
    每次创建计算日记账的时候,也会创建一个Javascript的解释器实例,专门用于解决预算公式。
  • Javascript解释器初始化
    Javascript解释器是通过运行脚本来初始化的。
    • 默认的Banana会计脚本。
    • 可能存在于文件表格中的_budget.js文件的内容。
      这样,用户可以初始化变量或创建自己的计算函数。
  • 公式的解析
    • 临时日记帐行中包含的公式按日期的渐进顺序一个接一个地求解。
    • Javascript 解释器的状态在每次操作后都会保留,因此该公式可以引用在具有前一日期的行中定义的变量。
    • 重复行中包含的公式也按日期顺序执行,因此结果根据执行时间而有所不同。

计算顺序如下

  • 预算行按日期顺序进行处理(如果它们按输入顺序具有相同的日期)。
  • 使用以下优先级计算发生业务的金额:
    • 如果有解决方案。
    • 如果存在数量和价格,则将它们相乘。
    • 否则,保留金额列中包含的值。
  • 对于多货币会计,首先执行货币金额公式,然后执行基本货币金额公式。
    如果没有基础货币金额的公式,程序将恢复为历史汇率并计算基础货币的等值。
  • 对于增值税的核算,要根据发生业务的金额重新计算增值税。
  • 之前处理过的行将用于以下行的计算:
    • 截止至预测行的日期,账户余额只包括以前处理的金额。
    • 如果您在2月份的发生业务中使用了计算全年余额的公式,那么您只有到2月份才会有余额。

预算表格内的总金额列

总金额一列是自动计算的,包含在文件和账户属性中指定的会计期间的预算总额 (会计核算的起止日期)。

  • 如果是单笔的发生业务,总仅额等于金额。
  • 如果是经常性的业务,合计金额是会计期间内所有重复业务的金额之和。
  • 如果日期在会计期间之前或超过会计期间,总金额列则为空。

计算当前的值和预算值,将二者进行比较

生成计算日记账后,将用于计算资产负债表以及所有其它必要的会计操作。

对于报告中定义的时期,程序计算:

  • 当前的数值 (基于发生业务)。
  • 预算值。

以下数值是根据当前数据和预算数据计算出来的:

  • 期初余额
  • 借方动向
  • 贷方动向
  • 动向 (总计)
  • 期末余额 (期初+变动)

还可以计算当前数额与预算数额之间的比较:

  • 绝对差 (预算-当前)。
  • 百分比变化

自动和手动重新计算

在下面的情况下,预算值会自动重新计算:

  • 预算表中是否有更改。
  • 如果会计开始或结束日期已更改。
  • 如果账户表已被修改。
  • 当请求报告而发生业务表已被更改的时候。

每次重新计算后,程序会自动更新:

  • 在账户和科目表格内的预算列。
  • 在预算表格内的总金额列。

如果您修改了增值税表或_budget.js文件或其它用于计算公式的Javascript文件,您必须手动执行重新计算 (点击检查账务的命令)。

计算速度取决于:

  • 账户表和科目表中账户和组的数量。
  • 预算表格内输入的行数。
  • 具有重复业务的行数。
  • 存在的公式。
  • 计划时间段设置。 周期越长,重复行数越多。

人工重新核算总额

如果计算时间很长,可能很难在预算表格中输入数据。您可以通过文件菜单 → 文件和账户属性选项标签中的人工重新核算总额选项来切换到手动重新计算。

要获得更新的数值,您需要使用检查账务的命令。

 

Tell us how we can help you better
If the information on this page is not what you're looking for, is not clear enough, or is not up-to-date, let us know.

分享这篇文章: Twitter | Facebook | LinkedIn | Email