数据控制与安全

The temporary Filter rows feature

With the Temporary Row Filter of Banana Accounting Plus, you can display only the rows that match a keyword (or other search criteria), quickly finding the desired transactions. 
The big advantage is the direct editing of data and significant time saving , without altering the permanent order of the table. Once the Filter is removed, the rows return to their original order.

The Temporary Row Filter function is only available in the Advanced plan of Banana Accounting Plus. It’s also possible to test it with the Free or Professional plans, up to 70 transaction rows.

The most common uses of the Temporary Row Filter are the following:

Note: the Temporary Row Filter is different from the Sort Rows command (from the Data menu), which permanently changes the order of the rows.

Find rows with a keyword

Enter any text (or amount). The Temporary Row Filter immediately displays all rows that contain it.


The text highlighted in green is for explanatory purposes only; it does not appear in the software.

After making the necessary checks and edits, you can simply remove the Filter (delete the text or click the X icon next to the Filter field) and the transactions return to their previous order.

The editable account card

One of the most common uses of the Filter in Banana Accounting Plus is the ability to obtain an editable account (or category) card. In practice, you can view transactions related to a specific account and make the necessary changes directly.

How to obtain an editable account card
In the Temporary Filter field, enter the following combination:

  • !=account code

For example, if you enter !=1020 you will obtain an editable account card for account 1020. The != sequence tells the Filter to display all rows where a cell contains the code 1020. 

How to obtain a modifiable account card when the account is descriptive and made up of two or more words
In the Temporary Filter field, enter the following combination:

  • !="account text"

For example, if you enter !="Bank XX", you will get a modifiable account card for the account Bank XX.
The sequence != tells the filter to display all rows where a cell contains exactly that value.
When the text you are searching for consists of two or more words separated by spaces, you must place the text in quotation marks.

Edit and return to full view
Within the editable account card you can perform checks and correct the transactions.
Once the verifications are complete, you can remove the Filter:

  • by deleting the entered text, or
  • by clicking the X icon next to the Filter field.

This way, all transactions will be shown again in their original order.

Highlight colored rows

Rows are often colored when you want to return to them later, for double-checking, for review by someone else, or because they are transactions to be completed. The ability to highlight them all at once avoids scrolling through the Transactions table and gives a clear overview. The time savings and work convenience are evident.

How to highlight colored rows
In the Temporary Filter field, enter the following combination:

  • !_co! or !_color! 

The program displays all colored rows.

It is also possible to display only rows of a certain color. The program assigns each color a style number (from number 2 onward) based on when the color was first applied. You can therefore use, for example:

  • !_co!2 to see rows with style color 2 (in the example, light blue)
  • !_co!2|3 to see rows with style color 2 and 3 (in the example, light blue and green rows).

After making the necessary checks and edits, you can simply remove the Filter (delete the text or click the X icon next to the Filter field) and the transactions return to their previous order.

Simple Filters 

The Filter allows you to find rows simply by entering a text as a search criterion. When you enter the text to search, the program filters all rows that contain the specified text, separated by spaces.

Here are some examples of Filters:

  • invoice mario
    Shows rows that contain the words "mario" and "invoice" in any position.
  • mar inv
    Depending on the number of rows, the same result can be achieved by entering abbreviated text.
  • "invoice mario"
    Search for text including spaces: if the text is enclosed in quotes, the program considers it as a single word.
  • "!~Mario"
    Normally, the search is case-insensitive.
    You can make the search case-sensitive by inserting a special character.

Spaces are always considered as an AND command separator.

  • A space means the conditions are additive.
  • Never include spaces in the search unless they are within quotes, for example: "invoice mario".
  • Examples:
    • invoice mario
      The program includes rows that contain both "mario" and "invoice".
    • "invoice mario"
      The program considers the quoted text as a single word, including the space. Therefore, it searches all rows that contain exactly "invoice mario" (in that order).

Special characters

You can use almost any character in the search.

Only the exclamation mark "!" and the vertical bar "|" at the beginning of a text sequence have special meaning.

  • " " space is considered as command separator and means AND.
  • "|" means OR
    • At least one of the elements preceded by "|" must be present in the row.
    • Example: 
    •  |mario |invoice |fee 
      the search will display rows that include "mario" OR "invoice" OR "fee".
    • mario |invoice |fee 
      the search will display rows that include "mario" AND "invoice" OR "fee".
    • If you can't find the vertical bar "|" on your keyboard
      • On Windows is the Alt-124 character. 
      • For other OS search on Google
        "Windows/mac keyboard layout Italy/Switzerland/US" and look in the image section.
  • Command specifier "!".
    Any text preceded by the exclamation mark is considered a command and has a specific meaning.
    For example, to exclude a text, use the command sequence "!-".
    mario !-invoice

 Filter Expressions

The Filter Expressions are experimental and may be subject to changes and improvements.

Create powerful filtering conditions using expressions.

The character "!" at the beginning of a text indicates a special search command.

  • !
    When placed before or after a space, it starts a command sequence.
  • !!
    Is treated as a simple "!" and not as a command sequence.
  • !-
    The minus sign "-" is used to exclude content and can be combined with any other operator.
    !-mario !-1000 !-=1000 !-^payment !-~10
  • !~
    The tilde "~" must be placed immediately after "!" or "!-".
    With "~", the search becomes case-sensitive.
    !~mario
    !-~mario

Command characters

These are the characters that immediately follow the start of the command "!", "!-", "!~", or "!-~".
They can also be used with "-" to exclude and "~" to make the search case-sensitive.

  • !=
    Finds exactly the specified text in the cell.
    !=1000
    Can be used with multiple values separated by the "|" character.
    !=1000|2000|30000
    Empty cell.
    Starting from version 10.1.16 selects cells with empty values.
    !=
  • !+
    Contains the specified text. Equivalent to a normal search but allows combinations with other characters.
    !-+mario excludes rows that contain "mario".
    !~+mario excludes rows with "mario" respecting case sensitivity.
  • !<>
    Different from the provided text.
    !<>1000
  • !.
    Wildcard characters (*, ?) for search with special characters.
    !.100*
    !.100*|2?0*
  • !^
    Starts with the specified text.
    ^mar
    ^mar|hom
  • !$
    Ends with the specified text.
    !$rio
  • !_
    Search by whole word.
    !_100
    !_100|200
  • !:
    Regular expression.
    !:\bmario\b

Greater than, Less than, and Ranges

Characters used to compare numeric values or dates.

  • Date format: yyyy-mm-dd
    2024-12-31
  • Amount with "." as decimal separator and no thousands separator.
    1999.99

Comparison commands:

  • !> Greater than.
    !>100
  • !>= Greater than or equal.
    !>=100
  • !< Less than.
    !<100
  • !<= Less than or equal.
    !<=100
  • !<> Not equal to.
  • !>< Exclusive range.
    !><99.99|200
  • !>=< Inclusive range.
    !>=<100|199.99

Column specification

Allows you to specify the column in which to perform the search.

  • !description!
    Search in the "description" column.
    !description!mario
    !description!=
    !des*!mario
    !des*;doc!mario
    !description:xml!mario
    !debit*!=1000

Show rows with formatting

With these expressions, the Filter displays the rows that have a formatting bold or italic. 

  • !_format! or the short form !_fo!
  • After the command
    • b for bold
    • i for italic 

Examples of using filter text

  • !_fo! 
    Show rows with specific formatting.
  • !_fo!b 
    Show rows in bold.
  • !_fo!i 
    Show rows in italic.

Show rows with errors or warnings

The Filter displays the rows that the program has marked as errors (red)or warning (yellows). 

  • !_error! or the short form !_er!
  • After the command
    • e for errors
    • w for warnings 

This command will help you get the lines marked as errors (red) or warning (yellow). 

  • !_er! 
    Show rows with errors or warnings.
  • !_er!e 
    Show rows with errors.
  • !_er!w 
    Show rows with warnings.

Filter Commands Combinations 

You can combine multiple commands by separating them with a space.

  • Commands separated by the space are considered AND expressions. 
  • The use of the vertical bar "|" preceding the command is considered an OR expression.

The text highlighted in green is for explanatory purposes only; it does not appear in the software.

Other examples of filter combinations:

  • invoice mario fee 
    Search for "Invoice" AND "Mario" AND "fee"
  • invoice |mario |fee 
    Search for "Invoice" AND "Mario" OR "fee"
  • |invoice |mario |fee 
    Search for "Invoice" OR "Mario" OR "fee"
  • 2022 !des*!mario !debit*!=1000
    Shows rows with "2022", "mario" in columns "des" and exact "1000" in the "debit" columns.
  • |!PeriodTotal_?_C:xml!<> |!PeriodEnd_?_C:xml!<> 
    Shows rows with an amount in columns whose XML name starts with PeriodTotal_ and ends with _C
    or whose XML name starts with PeriodEnd_ and ends with _C

Reasoning Behind the Filter Expressions

The Filter Expressions filter may seem unusual, but the goal is to have a syntax that:

  • Does not interfere with natural searching, allowing users to search intuitively by combining words as they normally do in smartphone apps.

  • Is not tied to a specific language and uses only symbols.

  • Supports all possible searches, so it can be used to express user filters similar to those in Excel.

  • Leaves room to include specific Banana commands, such as color, errors, and others.

We evaluated several other search syntax types, but most of them use common characters such as the minus sign “-”, the plus sign “+”, or others like “\”, “(”, “*”, “?”, which are frequently used in accounting. 
For this reason, we decided to create a special syntax where the exclamation mark “!” is used as a command indicator.
Since “!” is normally used at the end of a sentence, it is unlikely to interfere with search terms.
All feedback and suggestions are welcome!

Cursor position

When using the filter, the cursor remains on the cell where it was before the filter was applied, even if that cell is not currently visible.

  • To move around the table, you need to click on a cell.
  • Once the filter is removed, the cursor does not necessarily return to the original cell.
  • To return to the cells you were on before applying the filter, you can use the navigation buttons “<” and “>” located in the toolbar.

Banana Accounting Plus GPT for using the Filter

This Banana Accounting GPT Assistant was created using ChatGPT and is designed to generate advanced search syntax for filtering rows in the Transactions table.

The GPT command generator for advanced search syntax (Filter) is experimental and may be subject to changes and improvements.

Requirements

To use this GPT, you need:

How it works

  • Open the Banana Accounting Plus GPT from this link:
  • In the Message field below, enter a sentence that describes what you want to search for within the Transactions table using the Filter. In general, the more specific your request, the better the results.
  • The GPT will process your request and return the corresponding result.
    Based on the input given to the GPT, a text string will be generated containing the necessary command to filter the rows in the Transactions table.
  • Copy the generated text string.
  • Paste the copied string into the Filter of the Transactions table in Banana Accounting Plus.

Banana Accounting Filter command creator GPT

Examples of messages to enter in the GPT

Below are examples of messages to enter in the GPT chat, along with the corresponding generated results:

  • "Find all transactions from the third quarter of 2024"
    • Result: "!date:xml!>=2024-07-01 !date:xml!<=2024-09-30"
  • "Search for rows with an amount of 450.00"
    • Result: "!amount:xml!=450.00"
  • "Search for rows with an amount greater than 200"
    • Result: "!amount:xml!>200"
  • "Search for rows with the value 3001 in the Credit Account column"
    • Result: "!accountcredit:xml!=3001"
  • "Give me the rows with value 1020 in the Credit Account column and an amount between 1500 and 4000"
    • Result: "!accountcredit:xml!=1020 !amount:xml!>=<1500|4000"

The temporary Sort rows function

The temporary Sort Rows function in Banana Accounting Plus allows you to temporarily sort the rows of a table without permanently changing their arrangement. It’s a very useful feature for quickly finding data, whether text or amounts.
Once the function is removed, the table rows return to their original order.

To permanently change the order of rows in a table, use the Data > Sort Rows menu.

The temporary Sort Rows feature is one of the new functions available only in the Advanced plan of Banana Accounting Plus. It can also be tested with the Free or Professional plans, up to 70 transaction rows.

This tool allows you to quickly sort the content based on the column from which the Sort function is applied:

  • Right-click on the column header where you want to apply the sorting.
  • Hover over the small arrow and select ascending or descending sort.

Advantages

  • You can sort the displayed rows in ascending or descending order based on the desired column.
  • when you remove the sort view, the rows return to their original order without needing to use the Undo command.

Sort function in Banana

Sorted rows in Banana
An arrow will appear in the header of the column selected for sorting.

Important Note

The Temporary Sort Rows function is different from the Sort Rows command (from the Data menu):

  • Temporary Sort Rows is a temporary on-screen sort, designed to speed up the review and editing of previously entered data. It is easy to remove sorting criteria and return to the original row order. This feature is only available with the Advanced plan.
  • The Sort Rows command (from the Data menu) permanently changes the order of rows in the table and can only be undone with the Undo command. This command is available in all plans.

检查账务以及重新计算

您可以使用不同的方法重新核算账套以及检查您的会计文件:

  • 使用 Shift + F9 键 (Windows 和 Mac) 或者使用 Cmd + 9 (Mac)
    初级会计复核
  • 点击操作菜单 → 检查账务的命令
    该解决方案包括几个广泛的控制选项-大量的会计复核。
  • 通过数据菜单 → 列设置的命令来显示余额列

如果存在错误信息提示或者差额,您需要纠正它们。

会计的重新计算和控制 (初级)

检查账务命令主要是检查正在使用中的软件版本,如果有更新的版本,程序会提示您可以更新到最新的版本。我们强烈建议更新,因为在新版本中许多功能得到了改进,各种问题也得到了解决。

此命令将执行以下操作:

  • 其将会重新设置账户余额,以及成本中心和分部的余额
  • 其会验证及报告是否在各个表格中存在错误 (账户,发生业务,增值税代码以及汇率表)
  • 其将重新输入所有的操作,就好像它们是第一次被输入的一样
    • 对于多货币会计核算,其将使用最新的汇率来重新核算基础货币的初期余额
    • 如果发生业务行没有被加锁,那么其将重新核算所有的发生业务行:
      • 增值税的百分比取自增值税码表,并且增值税额会被重新核算
    • 其将更新账户余额,以及成本中心和分部的余额
    • 在现金账簿中发生业务表内的渐进账户余额会被重新核算
  • 其将重新核算账户表科目表的合计 (收益和费用核算)
    • 其将更新预算差额以及前一年的列
    • 在多种货币核算中,其将使用最新的汇率和汇率差来更新已核算的余额

检查账务的窗口 (扩展控制)

除了主要的重新计算和会计检查外,还进行了额外的检查。

检查账务

刷新账套加额外检查

这是最有用的功能之一:整个会计文件都会被重新检查,所有的余额都会被重新计算,如果错误用户也会被通知。如果账户摘要和科目列 (发生业务表) 中的文字被改变,该命令也会更新这些文字。

账户属性

此选项处于被默认激活的状态。程序会验证输入文件和账户属性的数据是否与实际的会计文件相符 (例如: 开账日期和结账日期,增值税账户,汇率差额账户,等等)。

发生业务

交易中的差额

在此选项被激活后,程序就会验证收益 & 费用核算记账中的借与贷之间,或账户和科目之间是否有差额。

  • 在软件程序最下面的信息窗口中会指示出有差额的行。
  • 余额列显示借方和贷方交易的差额。如果出现错误,余额不会归零。
  • 底部的信息窗口显示总差额的金额 (仅当您在发生业务表中的时候)。

包括中间的差额

如果该选项被激活,在多个分录中,程序会检查借方和贷方分录之间是否存在差额。
很多时候,差额是由于条目不完整或金额不正确造成的 (如下图的例子)。

发生业务差额

检查余额 (#CheckBalance)

通过激活这个检查,程序会显示出摘要中显示的余额是否与指定日期的账户余额不同。
#CheckBalance 的发生业务用于表明某日的账户余额是正确的。
在月末、季末或年末,为现金和银行账户创建#CheckBalance 的发生业务是很有用的。#CheckBalance 的发生业务也可与发生业务加锁的命令一起使用。
通过使用#CheckBalance发生业务,您会注意到在结账后,是否做了不正确的分录。

#CheckBalance 发生业务的特点:

  • 日期。这必须是与余额有关的日期。
  • 摘要必须包含:
    • #CheckBalance  后面是账户的余额,包括小数。
      #CheckBalance  -1200.00
      #CheckBalance  0.00
    • 对于多币种账户来说,#CheckBalance的字样后面是货币代码和账户余额,包括小数。
      #CheckBalance  CHF -1200.00
      #CheckBalance  EUR 0.00
      #CheckBalance  -1200.00  没有首字母的货币,则根据基础货币的余额进行核对。
  • 借方账户表示进行验证的帐户。
  • 金额必须留空。

该程序检测到核查余额与文件中账户余额之间存在差额。

检查余额

相同的文件不同的日期

在此项功能被激活后,程序会检查拥有同样文件编号的发生业务是否拥有同样的日期。在多行的发生业务中,文件编号和日期没有相对应的关系,程序不能正确的确定对方的关系。

账户

账户表结构

在此项功能被激活后,程序会检查账户表的结构是否正确。

汇率差额的存在

在此项功能被激活后,程序会检查是否有没有记录的汇率差存在。

初期余额和往年余额不同

如果这个选项被激活,程序会检查新年度的期初余额是否与上一年度的期末余额一致。如果上一年的期末余额和新一年的期末余额之间存在差额,这些差额将在信息窗口中作为总额报告。

个性化检查 (扩展程序)

在此项功能被激活后,程序会运行检查被用户附加上的其它功能,为自定义做验证。

项目

Asset账户的期初余额

启用此选项后,程序会检查项目表格表中列出的项目的期初金额是否与相应Asset账户的期初余额一致。此检查仅对已分配Asset账户的项目执行。

包括额外的检查和快捷方式 Shift + F9

在此项功能被激活后,通过按下 Shift+F9 键,程序将在对话框窗口中启动所有被激活的检查。否则只会做会计的重新核算 (Mac 版本: 大写键 + Cmd + 9)。

使用区块链技术对发生业务加锁

用区块链进行数据认证

针对会计数据,Banana 财务会计软件使用非常安全可靠的区块链加密系统发生业务可以被锁定并用数字代码标记,即使在多年之后,也可以保证会计数据是可靠的。区块链加密技术还可使用户确保受保护的会计数据未被修改。

Banana.ch是世界上第一家在会计中使用区块链技术的公司。在2002年开发并取得专利权 (美国专利号7020640)。该方法保证了最高级别之一的数据完整性,并且符合国际法的规定。

欲了解更多信息,请参见区块链的页面。

发生业务加锁的命令

通过对发生业务加锁命令的使用,可以通过控制代码对会计业务进行封锁及标记,通过验证,多年来,没有被修改的业务。

  • 正在验证一个可能存在的锁的有效性。
  • 在锁定日期之前的业务正在逐渐编号并被锁定。对于每笔业务,正在计算该行的数字代码和渐进的数字代码。
    数字代码的计算是根据列的顺序进行的。
  • 在会计中指示出,与锁定日期相等或更早日期的业务将不再被接受。

发生业务加锁

新锁日期 (包括)

指定日期,直到会计业务将被锁定。

密码 (可选)

可以输入最终用来解锁或进行新锁的密码。
如果程序在会计业务,包括加锁日期中没有找到任何错误的话,其将对会计业务进行加锁,计算以及将单个数据和代码分配给每一行的会计业务,如下图所示,这些可以在发生业务表格中的加锁表中被查看。

最近加锁

以下区域的数据是由程序根据最后执行的锁自动填写的。

加锁生效

如上图所示,如果加锁已生效,那么在此信息栏中会出现 “确定” 二字。

加锁日期

会显示上一次被执行的加锁日期。

加锁号码

此数字是根据在锁号列的最后一行中所显示的号码而自动输入的。
当加锁被重复,如果最后一行的锁数值不变,则意味着该锁是有效的,且该数据未被更改;然而,在值被改变的情况下,系统会显示以下代码:

  • (-1) 如果该锁从第一行起无效;
  • (-2) 如果存在拥有相同锁号的行。
     

累进散列

这是最后一笔业务中的控制代码。

发生业务:加锁视图

所有的数字控制码与该程序用于创建数字签名的所有信息一起显示。

  • 锁号: 标识不同行的渐进数字。
  • 加锁金额: 按照一些国家法规,累计交易总量类似于页末的总计。
  • 加锁行:(隐藏列) 根据行的数值计算的数字标记。
  • 累计锁: 整体数字标记。


数字密码加锁

这是认证的主要因素,使用的是区块链的方法。
数字代码根据以下值计算:

  • 当前条目的内容,包括金额、摘要和锁定时刻的账户摘要
  • 渐进号码 (锁号)
  • 累计余额 (加锁金额)
  • 前一个条目的渐进代码 (渐进代码)

如果对会计数据进行了修改,即使是最轻微的,也会造成控制号码的不同 (日期和金额进行了更改)。
如果控制号码维持不变,那么这意味着数据是原始的,没有改变。


检查锁

使用操作菜单 → 锁定发生业务 检查锁的命令,程序检查该区块是否有效,并显示该区块的数据。

  • 该程序重新计算数字标记,并检查重新计算的数字标记是否等于与记录匹配的数字标记。
    • 如果它们相等,该区块被认为是有效的,因此数据是原始的。
    •   如果标记不相等,就意味着数据被修改了,而不是在该区块时计算的原始数据。

验证锁

发生业务解锁

使用操作菜单 → 发生业务解锁的命令可以移除锁和取消控制的代码。如果您在加锁的时候输入了密码,那么在解锁前,在相应的信息栏输入密码是必要的步骤。
如果之后您想要再次对业务进行加锁,如果它们没有被更改,那么加锁的散列数将是相同的; 相反,如果一些数据被进行了更改,那么散列数也将是不同的。

部分解锁

如果会计业务被加了锁,从一个指定的日期进行部分解锁是可能的。如果您在加锁的时候输入了密码,那么在解锁前,在相应的信息栏输入密码是必要的步骤。

解锁

为什么要为会计核算加锁?

原则上来说,被加锁的会计业务不应该再被解锁。但是也有可能发生在加锁之后,您在会计核算中发现了错误,需要纠正的情况。
用户需要在加锁之前保留该文件的副本,以便在有需要的时候进行更改。在发现错误之后,可以恢复之前的情况。与此同时,可能已经发生了其它的业务,因此通常会发生在恢复了以前会计核算的版本后被证明是错误的情况。因此,为了避免这种不必要的,浪费时间的情况,我们才决定添加了发生业务解锁的功能。

认证不得与数据安全相混淆。数据认证是一种确保会计数据是原始数据的方法为了防止数据被修改,该方法是与数据安全性相关的方法。但是,数据安全程序只能在限制数据访问的环境中实现。

如果文件完全可供用户使用,例如在台式电脑上,用户可以完全控制数据。用户可以轻松地替换文件。通过认证,无法防止数据被更改,但是它将允许用户知道数据是否为原始数据。

保存账簿的人负责会计文件,并决定是否允许对其进行更改。
 

组织认证和数据验证

一旦您锁定了一定期间的发生业务,您需要:

  1. 打印加锁信息或打印具有特定认证编号的最后一行认证的业务 (LockProgr)。
  2. 将此信息与会计凭证一起签署并存放在安全的地方。

为了检查会计数据是否为原始会计数据,您需要按照以下步骤进行:

  1. 打开加锁信息的表格。
  2. 返回显示数字控制编号的文档
  3. 检查使用加锁号码识别的行是否仍然具有相同的数字控制编号
  • 如果数字匹配,会计数据与认证数据相同。
  • 如果号码不匹配,则表示会计数据已被修改。

Banana软件公司正在开发应用程序,可以比较两个文件并获取有关已更改数据的指示。

数据安全

数字认证确保数据仍然是原始数据。其不会阻止数据修改。

会计人员有责任确保数据不被修改。每个行政部门必须根据其规模和需要进行组织。
如果想确保数据未被未经授权人员更改,必须采用其它的方法和工具,例如:

  • 将数据保存到安全系统(受保护的网络驱动器),并设置密码保护。
  • 保留数据副本。
  • 加密档案。


长期存档

记帐文件包含输入的数据。 为了打开文件并获取报告或账户明细,您需要掌管您的程序。

Banana财务会计软件提供将所有会计数据及其打印输出导出到Pdf,Html和Xml的可能性。
已生成的文件可以被保存在CD上,即使在很多年后,即便是不使用Banana财务会计软件的人也可以通过任何电脑读取CD上的信息。

 

 

Blockchain nuove pagine Francesca

Capitolo 1

 

La blockchain nella contabilità (titolo pagina)

La popolarità della tecnologia della blockchain è cresciuta senza sosta negli ultimi anni ed è utilizzata in diversi ambiti per garantire l’autenticità e l’integrità dei dati digitali. Il percorso che ha portato alla nascita e uso della blockchain è lungo, ma solo nel 2009 la tecnologia viene ufficialmente denominata “blockchain”. 
Prima che diventasse popolare, Banana.ch SA aveva già applicato questa innovazione per certificare la validità dei dati contabili presenti sul software Banana Contabilità. Dunque, l’azienda svizzera può essere riconosciuta come una degli “early adopter” della blockchain.
Scopri i retroscena e le informazioni più rilevanti in questa sezione completamente dedicata alla blockchain nella contabilità, una delle numerose innovazioni applicate da Banana.ch SA.
Partiamo dalla definizione: 

La tecnologia blockchain è un sistema di sicurezza e di certificazione che assicura l'integrità dei dati trasmessi, consentendo di:

  1. Controllare che i dati non siano stati modificati successivamente
  2. Fare affidamento sui contenuti digitali indipendentemente dalla loro posizione.

Inoltre, la blockchain è principalmente decentralizzata, ovvero non ha un'autorità centrale che controlla le transazioni, ma è gestita dalla rete di computer interconnessi che lavorano insieme per impedire qualsiasi modifica non autorizzata. Tuttavia esistono anche modelli centralizzati o ibridi, come nel caso di Banana Contabilità Plus.

 

 

 

La nascita della “pre-blockchain” di Banana Contabilità

Nell’era dei primi passi verso la digitalizzazione, il Governo svizzero, verso la fine degli anni ‘90, aveva messo in consultazione delle nuove norme relative al conservare la contabilità in formato digitale, prescrivendo anche una serie di adempimenti. I programmi di contabilità dovevano aggiornarsi per permettere alle aziende di integrare i sistemi informatici entro il maggio del 2002. Da quel momento in poi bisognava abbandonare la carta. 
Nel frattempo, Domenico Zucchetti, fondatore di Banana.ch SA con una formazione come giurista e programmatore, aveva già iniziato a sviluppare un software per scopi professionali. 

Immagine

Domenico Zucchetti, Fondatore e CEO di Banana.ch SA

«Dieci anni prima dell’applicazione delle nuove normative, avevo creato la prima versione di Banana Contabilità e da allora la mia attività principale era la programmazione. Avevo però una formazione di contabile e una laurea in giurisprudenza. Il cambiamento di legge mi interessò parecchio e diventò uno stimolo per trovare una soluzione sicura, consapevole della trasformazione digitale, valida per diverse nazioni, che non facesse perdere l’immediatezza d’uso e non rendesse più difficile tenere la contabilità»

 

Domenico aveva iniziato a lavorare a delle possibili soluzioni, ma non è stato semplice trovare una che potesse soddisfare tutte le esigenze e risultare di facile comprensione per i contabili. Dopo alcuni anni e molte iterazioni, si è cristallizzata l’idea di certificare ogni singolo movimento con un hash (metti link alla pagina dove si spiega cos’è) e riprenderlo anche nel calcolo dell’hash della registrazione successiva. Questo approccio è, in sostanza, quello della blockchain. «La soluzione mi pareva garantisse la massima protezione dei dati, soddisfacendo i requisiti di legge. Questa era però la mia opinione e occorreva verificare se gli specialisti avrebbero concordato» precisa Domenico. 


La tecnologia blockchain non era ancora molto conosciuta al di fuori della cerchia degli informatici, «infatti veniva vista con sospetto dai revisori e dai contabili, nonostante il sistema funzionasse molto bene e soddisfacesse le esigenze legali» spiega Domenico. Dunque, i software di contabilità continuavano ad usare delle password per proteggere i dati.
Qualche anno dopo, con l’introduzione del Bitcoin nel 2009 è nato il termine “blockchain” e questa tecnologia si è finalmente rivelata al mondo intero. Per molti è stata un’illuminazione: grazie alla blockchain, le operazioni salvate nel giornale di Bitcoin, disponibile liberamente sulla rete, sono state considerate più sicure dei giornali contabili delle banche, custoditi in ambienti separati e protetti da una moltitudine di sistemi di sicurezza. Grazie al Bitcoin, è diventato facile comprendere la potenza della tecnologia della blockchain.


L’uso della blockchain in contabilità

Prima dell’arrivo del Bitcoin, Domenico Zucchetti ha incaricato una società di revisione di verificare se questo nuovo sistema basato sugli hash concatenati sarebbe stato conforme alle normative. Dopo aver documentato il concetto e il funzionamento (vedi documento interno del 2001/2002), nel 2002 il sistema è stato certificato conforme alle normative per l’archiviazione di dati contabili in Svizzera e in Germania.

 

IMMAGINE

Il sistema di protezione dei dati contabili di Banana Contabilità negli anni 2000
 

Il 21 marzo 2002 Domenico ha depositato una domanda di brevetto negli USA (US Patent No. 7,020,640) con il titolo di “Method for certifying data containing a sequence of transactions”. Pochi mesi dopo, nel giugno 2002, in tempo per l’entrata in vigore delle nuove norme, «presentammo un aggiornamento di Banana Contabilità che conteneva le funzionalità della blockchain». Questa è divenuta la prima applicazione della blockchain nel mondo della contabilità. Securing Accounting Data è il documento che illustra l’introduzione della tecnologia blockchain nel software Banana Contabilità.

 

La blockchain di Banana Contabilità

Gli hash in Banana Contabilità vengono concatenati per certificare i movimenti e mantenere l'integrità del giornale. In questo modo si possono aggiungere nuovi movimenti senza alterare quelli esistenti. Il sistema certifica le basi dati, incluso il cambiamento delle sequenze dei record, utilizzando numeri progressivi e hash crittografici. Questo rispetta anche le normative contabili svizzere che richiedono la numerazione progressiva dei movimenti.

Qualche anno dopo, con l’introduzione del Bitcoin nel 2009 è nato il termine “blockchain” e questa tecnologia è stata finalmente svelata al mondo intero. Per molti è stata un’illuminazione: grazie alla blockchain, le operazioni salvate nel giornale di Bitcoin, disponibile liberamente sulla rete, venivano considerate più sicure dei giornali contabili delle banche, custoditi in ambienti separati e protetti da una moltitudine di sistemi di sicurezza. Grazie al Bitcoin, è diventato facile comprendere la potenza della tecnologia della blockchain.

La blockchain è diversa dal bitcoin

Il termine più importante legato alla blockchain è il Bitcoin. Nel 2009 il "fantomatico" Satoshi Nakamoto ha introdotto il Bitcoin, una forma di denaro digitale basato su un giornale distribuito, dove ogni blocco di transazioni è concatenato crittograficamente con il precedente. Questa criptovaluta fa capire che è possibile tenere al sicuro dei valori monetari importanti anche sulla rete. Il Bitcoin è un sistema sofisticato che utilizza e combina diverse tecnologie, tra cui la blockchain, gli indirizzi crittografici, il registro distribuito e il consenso distribuito. 


Il Bitcoin viene menzionato in diverse sezioni ed è bene ricordare che, pur essendo molto conosciuto, si tratta solo di uno dei sistemi che utilizzano la tecnologia blockchain. La blockchain e il Bitcoin sono spesso interconnessi, un po’ come Internet (l’infrastruttura tecnologica) e il web (l’applicazione più utilizzata). 


Puoi approfondire diversi aspetti della blockchain nella contabilità nei seguenti capitoli:


Aspetti fondamentali della blockchain

Blockchain per contabili e programmatori

Funzionamento nella contabilità

 

 

 

Capitolo 2

Il valore della blockchain nella digitalizzazione (titolo pagina)

 

Tre punti principali:

  • La trasformazione digitale ha creato il bisogno di verificare e proteggere i documenti digitali. La blockchain si è rivelata la tecnologia migliore, sia a livello tecnico che legale.
  • La blockchain ha stravolto alcune pratiche che venivano utilizzate prima dell’avvento delle tecnologie digitali. Con la blockchain è possibile: gestire i dati in modo distribuito (e non centralizzato), ridurre l’uso di intermediari nelle transazioni.  
  • Banana Contabilità applica la blockchain per verificare l’autenticità dei dati contabili in modo centralizzato. L’applicazione della blockchain in Banana è quindi diversa da quella del Bitcoin, ed è ideale per ottenere facilmente la garanzia della validità dei dati.  

 

Per millenni, l’essere umano ha usato dei supporti materiali quali steli, pergamene, e infine carta per redigere dei documenti. Il contenuto poteva essere alterato tramite la modifica del supporto fisico, quindi per evitare falsificazioni si usavano firme, sigilli o altri accorgimenti. Ancora ai giorni nostri, per proteggere il documento da eventuali perdite, è normale ricevere una copia e apporvi delle firme con una penna. Nel caso delle aziende o privati, di solito si conservano i documenti originali o le copie in un archivio. I sistemi di archiviazione seguono tutt’ora delle leggi che prescrivono la conservazione dei contenuti e li tutelano contro la falsificazione.  

Ma con l’arrivo delle tecnologie digitali sono arrivati importanti cambiamenti. 

 

La centralità della blockchain nell’era digitale

Nel mondo digitale l’informazione non è più impressa su un supporto fisico, ma è memorizzata come impulsi elettronici all’interno di un dispositivo. Con la trasformazione digitale le modalità millenarie di salvare e accedere alle informazioni vengono stravolte. Per far sì che il nostro sistema economico e giuridico continui a stare in piedi è necessario avere dei sistemi di certificazione che ci consentano di garantire l’autenticità e integrità dei dati digitali. Qui entra in gioco la tecnologia blockchain, che ci permette di verificare in modo affidabile i documenti elettronici.
 

Immagine


Tutti i documenti (certificato di matrimonio, sentenza, contratto, banconota, ...) sono sostanzialmente degli attestati di eventi che hanno rilevanza giuridica. Ovviamente le persone continuano a sposarsi, a rivolgersi ai giudici, a stipulare contratti e ad effettuare pagamenti, e l’autenticità degli attestati di questi eventi deve essere garantita. La blockchain, intesa come strumento in grado di garantire l’autenticità e l’integrità delle informazioni di valore, assumerà quindi un ruolo sempre più centrale nell’era digitale.


La tabella qui di seguito riepiloga i principali cambiamenti che hanno anche importanti conseguenze legali.

VEDERE SE METTERE TABELLA?

 

Informazioni di valore verificate: Banana VS Bitcoin 

Il contesto d’uso della blockchain è quello dove i contenuti di valore devono rimanere immutati. La blockchain può essere applicata indipendentemente dalla tecnologia della conservazione dei dati usata, quindi può certificare:
•    Strutture sequenziali (log)
•    Base dati relazionali (SQL)
•    Database tipo documento (Json)
•    Base di dati distribuite o centralizzate.


La blockchain può valorizzare qualsiasi sistema, l’importante è che sia utilizzato in modo intelligente e che l’applicazione della certificazione sia di utilità all’applicazione. Vediamo quali sono le principali differenze tra il sistema usato da Banana Contabilità e da Bitcoin, il sistema più conosciuto al mondo:

  • Aggiunta del sigillo - Nel caso di Banana Contabilità, i sigilli sono aggiunti come informazione supplementare ai dati già esistenti. Nel giornale del Bitcoin invece il sigillo diventa parte integrante della struttura dati, serve come identificativo del blocco e come connessione al precedente. 
  • Controllo e verifica dei dati – In Banana Contabilità il controllo e la verifica spettano al contabile, che può modificare i dati liberamente, fino a quando non decide di applicare il comando per la certificazione. Quando è stato applicato il sigillo, eventuali errori devono essere corretti con operazioni supplementari di storno o rettifica. In Bitcoin, i minatori che preparano i blocchi sono anche responsabili di verificare l’autenticità delle transazioni e quelle che non hanno i requisiti vengono scartate. 
  • Fasi dell’applicazione - In Bitcoin ogni blocco è provvisto di timestamp, che offre un chiaro riferimento temporale. Non vi sono obblighi legali da soddisfare e il funzionamento e il valore del Bitcoin dipendono dalla fiducia che le persone nutrono nel sistema.

     Vedere come presentare le tabelle

Fasi nel sistema Bitcoin

Eseguita da

Spiegazione

Creazione delle informazioni

Titolari degli averi

Invio ordini di trasferimento

Raccolta e verifica contenuti

Minatori

Preselezione degli ordini 

Applicazione dei certificati

Minatori

Creazione dei blocchi e sigilli

Aggiunta alla collezione

Ogni nodo della rete

Aggiunta al proprio giornale in base alle regole del consenso distribuito

Custodia dei dati e dei sigilli

Ogni nodo della rete

Copia locale di tutti i dati

Garanzia autenticità dei dati

Ogni nodo della rete

Verifica multipla presso altri nodi della rete

In Banana Contabilità c’è un unico giornale, cioè la tabella Registrazioni con tutti i movimenti, da quelli in corso (senza sigilli) e quelli da considerare definitivi che sono muniti di sigilli. Il contabile (o un altro incaricato) si occupa del passaggio a definitivo impartendo il comando che applica i sigilli.
 

Fasi in Banana Contabilità

Eseguita da

Spiegazione

Aggiunta e correzione

Utente

Inserimento dei movimenti in modo libero

Verifica e certificazione dati

Utente / Supervisore

Comando Blocca movimenti

Custodia dei dati e dei sigilli

Utente / Supervisore

Obbligo di tenere copie

Garanzia autenticità dei dati

Utente / Supervisore / Esterno

Conservazione sigilli in modo da provare originalità dei dati

 

Blockchain come protezione dei dati

 
La conservazione delle informazioni digitali non è sempre garantita: difetti tecnici, errori di programmazione o persone che abusano o bypassano i sistemi di protezione possono cambiare le informazioni e anche evitare che ci sia traccia del cambiamento. Per questo motivo la blockchain, che funziona per qualsiasi tipo di dati, è diventata importante per verificare se i dati sono originali. 

La blockchain è indirettamente anche un sistema di protezione dei dati: dato che è possibile capire facilmente se i contenuti sono stati modificati, fa da deterrente ai tentativi di alterazione. Grazie alla blockchain, se i dati hanno subito delle modifiche si possono recuperare delle copie e verificarne l’originalità. 

IMMAGINE

Al momento, la conservazione dei dati si sta spostando sul cloud, esponendoli a una serie di nuovi pericoli per la loro integrità. Bisogna quindi applicare un sistema di certificazione legato alla protezione dei dati sui cloud e le leggi attuali sono aperte all’uso della blockchain come metodo di certificazione. È molto probabile che questa modalità di certificazione dei dati diventerà la norma anche in ambito contabile. 

 

Sul superamento dell'intermediazione: addio alle banche?


L’utilizzo di documenti cartacei ha favorito la crescita dei servizi di intermediazione. Il valore del denaro viene depositato fisicamente presso un intermediario (solitamente una banca) che tiene nota dei passaggi di proprietà, ricevendo un compenso. Anche tutto ciò che viene trattato in borsa viene gestito da intermediari. Nel momento in cui l’attestato della proprietà di un’azione o di un qualsiasi altro valore è in forma digitale, si apre la possibilità di trasferirlo in maniera elettronica in qualsiasi punto del mondo. Non c’è più la necessità di avere degli intermediari. 

IMMAGINE

Quando si tratta di dati digitali, anche il sistema Bitcoin permette di effettuare dei pagamenti diretti, senza intermediari. Tramite la blockchain si possono creare valori digitali (azioni, obbligazioni, biglietti, buoni acquisto, certificati d’autenticità e altro), che possono essere scambiati direttamente. Secondo Domenico Zucchetti «la blockchain verrà adottata nell'intermediazione per rendere i processi più sicuri, efficienti e facilmente integrabili».


Il Bitcoin è stato originariamente concepito come un sistema per eseguire trasferimenti di denaro senza intermediari a costi irrisori. Tuttavia, la realtà si è rivelata diversa: gran parte delle operazioni Bitcoin vengono gestite da intermediari (Exchanges), con costi che hanno raggiunto i 60 dollari per transazione a causa dei compensi dei minatori. Per via delle sue limitazioni tecniche, il Bitcoin non può competere con i sistemi bancari tradizionali o centralizzati come Paypal, M-pesa, Wechat e Alipay. Nonostante ciò, la tecnologia blockchain ha attirato molti investimenti e attenzione per la sua capacità di creare nuovi tipi di business che non necessitano di intermediari. 

 

Preservare la flessibilità delle organizzazioni

La blockchain non deve andare contro il concetto della flessibilità nelle operazioni contabili delle organizzazioni. Ma la blockchain rende difficile modificare i dati con un sigillo. Come si può rimanere flessibili usando la blockchain?
Non ha alcun senso correggere continuamente gli errori con delle operazioni di storno e rettifica o applicare i sigilli senza aver verificato i dati; bisognerebbe invece avere un sistema che sia in grado di assicurare un’alta qualità. In Banana Contabilità è possibile inserire i movimenti, controllare la contabilità e correggere le operazioni in modo semplice. Solo al momento in cui i tutti i dati sono stati riconciliati e corretti, si applica la blockchain. 

IMMAGINE

Fiscalità e mancanza di flessibilità 
Il rischio maggiore di un approccio burocratico lo si vede ovviamente in ambito fiscale, dove è ritenuto normale impedire l’evasione fiscale obbligando le ditte a registrare i movimenti in tempi brevi, senza ulteriori modifiche. Invece che aumentare la complessità, le autorità fiscali dovrebbero fare una valutazione complessiva della situazione e fare in modo che tenere la contabilità e pagare le tasse diventi il più facile possibile. L’utilizzo della blockchain dovrebbe servire a tale scopo. Per le piccole ditte, il concetto da seguire dovrebbe essere quello di applicare la blockchain ai movimenti contabili quando i dati sono stati controllati, cioè quando si chiude un periodo o si presentano dei rendiconti periodici. Diverso è il discorso per le grandi aziende, dove il giornale viene alimentato da molti utenti e da procedure automatiche. In questo caso, la blockchain potrebbe essere applicata immediatamente. 

 

La blockchain nelle applicazioni distribuite: il caso del Bitcoin

C’è un grande interesse nel creare delle applicazioni in cui i dati siano gestiti in modo distribuito, dove gli utenti hanno una propria copia dei dati. Il Bitcoin è il sistema più conosciuto che si basa sulla blockchain decentralizzata. 

IMMAGINE

Quando viene usato in contabilità, il Bitcoin è però anche molto diverso dai soliti sistemi contabili perché l’elemento chiave è il consenso distribuito. Non c’è un’autorità centrale, infatti ogni nodo della rete Bitcoin decide, in base a delle regole predefinite, quali siano i blocchi di transazioni che devono essere aggiunti al giornale e in quale ordine. Per poter rendere il sistema Bitcoin affidabile, il calcolo del sigillo è reso molto oneroso da complessi calcoli matematici. 
Questa scelta tecnica può indurre a credere che la blockchain venga usata solo con il consenso distribuito. In verità la blockchain funziona sia se il sistema di aggiunta dei dati si basa sul consenso centralizzato che su quello distribuito. Semplicemente, negli ultimi decenni si è preferito puntare su applicazioni distribuite.

 

La blockchain applicata a base dati centralizzate: il caso di Banana Contabilità

Come dimostra l’esempio di Banana Contabilità, applicare la blockchain ai sistemi contabili esistenti comporta vantaggi notevoli. Adattare applicazioni esistenti che usano dei database relazionali (SQL) alla blockchain è molto facile dal punto di vista tecnico. Risulta più complicato l’aspetto organizzativo del database. 
Nel caso dei software contabili, il giornale contiene le transazioni organizzate in un determinato modo. Se si vuole introdurre l’uso della blockchain, bisogna aggiungere nella tabella dei dati due colonne supplementari nelle quali memorizzare il numero progressivo della riga e il sigillo progressivo (blockchain). 

  1. In seguito, bisogna capire come organizzare questi sigilli. Nel caso di Banana Contabilità, usiamo:
    Una procedura che permette di calcolare i sigilli delle operazioni definitive non ancora munite di sigillo. 
  2. Oppure una procedura che, a scadenze regolari, numera le operazioni, calcola e salva i sigilli nelle righe di registrazione (per ulteriori informazioni tecniche si rimanda alle spiegazioni contenute nel brevetto USA).


La procedura scelta deve ovviamente includere la verifica dell’integrità dei dati. L’affidabilità dei dati in Banana Contabilità sarà comunque sempre dipendente dalle persone che li gestiscono, che sia una persona interna all’azienda o un sistema di notariato digitale. Solo le persone designate devono avere la possibilità di modificare i sigilli originali. 

IMMAGINE

Lo stesso approccio usato per la contabilità può anche essere usato in tutti gli ambiti dove c’è un giornale o registro. La blockchain potrebbe quindi essere usata per certificare:

  • I dati di un registro fondiario
  • Il registro degli accessi
  • Il registro degli eventi di un computer
  • Altre strutture dati che raccolgono informazioni di valore.


Ogni operazione può essere munita di un sigillo progressivo. Questo sistema, specialmente quando ci sono grandi quantità di dati, è molto più semplice, più veloce e anche più sicuro rispetto alle procedure basate sul confronto di dati perché:

  • Eventuali tentativi di manipolazione possono essere facilmente individuati perché si vedrà che la firma digitale non corrisponde più a quella originale.
  • La blockchain permette di assicurare che i dati siano sempre sincronizzati e che non ci siano differenze difficili da riconciliare, anche per i giornali di grandi organizzazioni.


Il sistema della blockchain centralizzata è stato adottato dall’organizzazione svizzera di aiuto allo sviluppo Helvetas. Grazie alla blockchain di Banana Contabilità, Helvetas riesce ad integrare e mantenere allineate le contabilità di oltre 200 progetti nel mondo intero con la contabilità centrale. E il loro è solo uno dei molti esempi di applicazione della blockchain non decentralizzata. 
 

 

Capitolo 3

La blockchain di Banana.ch SA  (titolo capitolo 3, cercare qualcosa di più creativo?)

 

In questo capitolo scoprirai che:

  • La blockchain viene sempre applicata a una collezione di dati in crescita. Gli algoritmi chiamati “hash crittografici”, creano un codice unico per ogni transazione, e sono l’elemento base della blockchain.  
  • Banana Contabilità è un semplice esempio che dimostra come la blockchain può essere integrata in un giornale contabile. In questo caso i movimenti vengono numerati con un numero progressivo e l’ultimo hash crittografico del giornale certifica l’integrità di ogni transazione e dell’intero giornale fino a quel momento.
  • Con la blockchain di Banana Contabilità è possibile verificare l’integrità dei dati ed è uno strumento utilissimo per i revisori, ma questo avviene solo se si conservano i sigilli digitali delle operazioni.  

 

Sono numerose le innovazioni adottate dall’azienda Banana.ch SA. Nel caso della blockchain, questa è stata integrata nel software contabile prima di diventare popolare, trasformandoci in pionieri della sua adozione. In questo capitolo scopriremo alcune caratteristiche della blockchain applicate allo sviluppo di Banana Contabilità.

Per chi non ha molta familiarità con la blockchain, abbiamo un capitolo introduttivo che definisce le basi di questa tecnologia. In seguito tratteremo del caso specifico della blockchain di Banana Contabilità.  

IMMAGINE

 

Come funziona la blockchain: gli hash crittografici


La blockchain (o “catena di blocchi” di dati) si basa principalmente sugli hash crittografici:

Un hash crittografico è un tipo di algoritmo che prende qualsiasi tipo di dato (una transazione, nel caso del giornale contabile) e produce un unico codice chiamato hash. Il termine “hash” deriva dall’inglese e significa letteralmente “tritare, macinare”. Infatti, la funzione matematica prende una linea di testo (input) e la “trita”, facendola diventare una serie di caratteri (hash sum). Questo hash è una specie di firma digitale che certifica la validità dei dati e anche un piccolo cambiamento nei dati produce un hash completamente diverso. Se il contenuto invece rimane uguale, ripetendo l’operazione di calcolo si arriverà sempre allo stesso numero. Essendo questo numero gigantesco è praticamente escluso che due sequenze di dati diversi possano dare dei numeri uguali. 

 


La blockchain consente di aggiungere dei nuovi elementi senza compromettere l'integrità degli hash già presenti. In ambito contabile questo aspetto è fondamentale perché si deve potere certificare e verificare l'integrità dei movimenti contabili inseriti fino a un certo momento, ma anche aggiungerne dei nuovi. 


Con i database tradizionali sarebbe necessario scambiare tutti i dati del giornale per verificarne l'integrità. Invece, con la blockchain distribuita, ogni nodo della rete collabora con gli altri ed è in grado di interrogarli per verificare che il suo giornale sia quello corretto. Questo avviene con il sistema Bitcoin, dove ogni nodo assume anche il ruolo di validazione dei contenuti, rendendo estremamente difficile per qualcuno creare un sistema di frode. 

 

IMMAGINE

 

Gli hash crittografici devono soddisfare determinate caratteristiche, qui trovate un approfondimento tecnico [link sezione 4]. 


Come funziona la blockchain: le collezioni di dati 


La blockchain è un sistema di certificazione che garantisce diversi aspetti fondamentali per l’uso dei dati digitali.


Garanzia dell’integrità delle collezioni di dati - Ogni blocco dati della collezione viene munito di un proprio sigillo digitale; questo sigillo è anche il certificato di tutta la collezioni dati, dall’inizio fino al quel punto. È possibile verificare l'integrità della collezione di dati ricalcolando gli hash di tutti i blocchi e confrontandoli con gli hash originali.


Applicazione a “dati in crescita” - La blockchain permette di aggiungere elementi alla collezione, senza invalidare i sigilli precedenti. All’interno delle collezioni di dati si possono conservare informazioni importanti con la certezza che i contenuti rimangono integri anche se vengono aggiunte nuove informazioni.     I blocchi devono avere un modo per definire la loro sequenza, ad esempio un numero progressivo o un riferimento al blocco precedente.


Trasmissione e archiviazione sicura - Il vantaggio offerto da questa tecnologia è che le collezioni di dati possono essere trasmesse facilmente. Questi dati possono custodire informazioni importanti, che attestano il possesso di una certa somma in Bitcoin o la proprietà di una casa, con la certezza che i dati non possano essere manipolati o falsificati. Si possono impostare controlli regolari che scoraggiano e rendono completamente inutili i tentativi di alterazione dei dati.


Il funzionamento della blockchain dal punto di vista logico è molto semplice:

  1. Per ogni elemento della collezione si calcola un sigillo digitale, includendo nel calcolo, oltre ai dati del movimento, anche il sigillo dell’operazione precedente.
  2. In questo modo i sigilli formano una catena e il sigillo dell’ultimo movimento è anche il sigillo di tutta la collezione. 

IMMAGINE

 

Se il contenuto della collezione non cambia, ricalcolano i sigilli, si otterrà uno sigillo uguale a quello calcolato in precedenza. Se si modifica anche un singolo elemento, il sigillo risulterà diverso. 


In contabilità, per verificare l’integrità della collezione si deve ricalcolare tutti i sigilli partendo dal primo movimento e poi si fa un confronto con i sigilli originali. Una ditta può dimostrare che i dati della contabilità non sono cambiati tenendo sempre una copia dei sigilli originali. Quando si aggiungono nuovi movimenti, non si va a intaccare i sigilli precedenti. Ad esempio, se vogliamo verificare i sigilli di una precedente chiusura trimestrale, questi non subiscono cambiamenti. 


La blockchain nel giornale di Banana Contabilità 


Nel 2002, Banana Contabilità è stato il primo software contabile al mondo a impiegare la blockchain, offrendo un nuovo metodo per proteggere i dati del giornale contabile. 

La blockchain si utilizza per i dati storici, che una volta creati e validati non devono più essere modificati, ad esempio un giornale contabile o un registro degli accessi. Banana Contabilità ci offre un esempio di facile comprensione su come un software contabile può integrare la blockchain:

  • Ogni transazione è rappresentata dalla riga del giornale che contiene un hash crittografico calcolato in base al contenuto dell’hash crittografico della riga precedente. 
  • L’hash della riga è il risultato del concatenamento di tutti gli hash delle righe precedenti, diventando un certificato che garantisce l’integrità dei dati dall’inizio del giornale. 
  • Aggiungendo altre righe, ciascuna con il proprio hash, non verranno invalidati gli hash precedenti. 

IMMAGINE

Verificare facilmente la validità del giornale


Per quanto riguarda la contabilità, diverse normative nazionali richiedono che i movimenti siano numerati in modo progressivo, perciò Banana Contabilità assegna alle registrazioni un numero progressivo. Per ogni movimento viene calcolato un hash crittografico che garantisce l’integrità di ogni transazione e dell’intero giornale fino a quel momento. Questo numero determina la sequenza delle righe, permette di verificare la validità degli hash ed è conforme alle normative. Di conseguenza, il giornale contabile risulta certificato. 


La concatenazione degli hash crittografici di Banana


Nella blockchain ogni blocco di dati ha un hash crittografico che è calcolato sulla base dei contenuti e dell’hash del blocco precedente. In questo modo si crea una catena crittografica. L’hash del blocco finale diventa anche il certificato di tutti i dati della catena (dall’inizio fina all’ultimo blocco). 


L’ordine in cui i blocchi si susseguono nella blockchain è tanto importante quanto le informazioni contenute nel blocco. Questa tecnologia garantisce infatti l’immutabilità sia dei contenuti che della successione dei dati, in modo che ogni blocco può essere consultato, ma non può essere alterato. 


In Banana Contabilità, ogni registrazione ha il suo blocco con relativo hash. L’immagine seguente mostra la concatenazione dei blocchi nel giornale contabile. Ogni blocco ha un numero di sequenza che serve a garantire la progressività dei dati. 
 

IMMAGINE

 

Quando si modifica il contenuto, cosa succede? 


Il concatenamento degli hash garantisce che se i contenuti vengono modificati, lo si potrà vedere perché gli hash saranno diversi. 


Le due immagini seguenti mostrano cosa succede quando viene modificato il valore di un singolo importo in Banana Contabilità. Nel registro modificato (modified ledger) viene indicato l’importo di 40 CHF invece di 30 CHF indicato nella seconda riga del registro originale. Cambiando i dati, cambiano anche gli hash crittografici del dato che è stato modificato (in questo caso quello nella seconda riga). Anche gli hash successivi saranno modificati poiché è avvenuto un cambiamento nei dati.

IMMAGINE 1

IMMAGINE 2

 

Come si crea la blockchain in Banana Contabilità

Le fasi della creazione del blockchain possono essere riassunte nel modo seguente: 

  1.  Raccolta e creazione dei blocchi di dati. 
     
  2. Verifica dei dati. 
     
  3. Fissazione delle sequenze dei dati. 
     
  4. Calcolo degli hash crittografici. 


Le modalità di creazione di una struttura dati blockchain può variare a seconda del software. Nel caso di Banana Contabilità la sequenza è la seguente: 

  1. Il contabile inserisce o importa i dati nella tabella Registrazioni includendo per ogni movimento tutte le informazioni necessarie. 
  2. Il contabile impartisce il Comando “Blocca righe di Registrazione” specificando fino a quale data i movimenti devono essere bloccati (generalmente si includono i dati controllati). Quando si impartisce questo comando il programma esegue le seguenti operazioni: 
    1. Verifica se i movimenti da bloccare non contengono degli errori; 
    2. Verifica che la sequenza degli hash crittografici precedenti sia corretta; 
    3. Attribuisce un numero di sequenza progressiva a ogni movimento, partendo dall’ultimo numero di sequenza precedente;
    4. Calcola gli hash crittografici di ogni movimento concatenandoli con quello della riga precedente. 
      Presenta un riassunto dell’operazione di blocco.

 

Come verificare l’integrità dei dati

Chi deve verificare la correttezza dei dati, si assicura che siano corretti da un punto di vista materiale (i dati corrispondono all’effettiva operazione) e formale (i conti dare e avere sono indicati in modo corretto). La verifica dei dati può avvenire in più momenti. 


Per potere verificare l’integrità di un giornale di Banana Contabilità:

  1. Si impartisce il comando di verifica che ricalcola l’hash crittografico di tutti i movimenti. 
  2. Si verifica che l’hash crittografico dell’ultima riga sia uguale a quello che si è memorizzato. 


Affinché sia possibile verificare l'integrità dei dati, è necessario conservare l'hash crittografico che è stato generato al momento del blocco. La modalità di memorizzazione e conservazione dell'hash crittografico per scopi di verifica dipende dall'organizzazione in questione. Se l'hash non viene conservato, non sarà possibile accertarsi dell'integrità dei dati.
 

IMMAGINE

 

Custodia dei sigilli in contabilità

La blockchain è uno strumento utilissimo alla gestione delle raccolte di dati, inclusi quelli contabili. Questa tecnologia deve però essere supportata da un’organizzazione adeguata dei sigilli originali. Ciò dipende dal tipo di azienda. Nel caso delle piccole imprese, l’autenticità può essere assicurata tramite l'operatore, che dopo aver controllato la contabilità, blocca periodicamente i dati e registra i sigilli digitali dell'ultima operazione.


Per custodire i sigilli digitali, è sufficiente seguire alcune semplici accortezze:

  • Il contabile deve stampare o inviare tramite email l'hash crittografico relativo all'ultimo sigillo digitale generato.
  • Il revisore deve annotare nei propri documenti l'hash relativo ai dati che ha verificato.
    Se l'organizzazione possiede più contabilità distribuite, quando consolida i dati deve prendere nota dell'hash corrispondente.

 

La revisione della contabilità con la blockchain, anche per le autorità fiscali

La blockchain semplifica notevolmente la conservazione dei dati contabili: si possono tenere copie dei file, fare backup e, tramite la verifica degli hash, essere certi dell’autenticità dei dati.


Per i revisori della contabilità è essenziale verificare il funzionamento della blockchain. Va evitata qualsiasi manipolazione degli hash e delle modifiche da terzi. Fortunatamente, con la blockchain è molto semplice individuare in tempi brevi qualsiasi modifica, quindi funziona da terrente contro utilizzi inappropriati dei movimenti contabili.

 

La blockchain nella fiscalità
 

La possibilità di creare copie autentiche del giornale contabile con la certezza che i dati siano identici consente ai revisori di effettuare controlli anche al di fuori del sistema informatico . Con l'utilizzo della blockchain, diventa ancora più semplice effettuare revisioni periodiche; i sigilli digitali garantiscono che i movimenti già controllati non siano stati modificati successivamente.

Per le autorità fiscali, la blockchain rappresenta un sistema interessante. Le aziende devono solamente inviare contemporaneamente agli adempimenti l'hash relativo allo stato attuale della contabilità. In questo modo, il fisco e l'ufficio di revisione possono verificare tutta la contabilità, evitare le verifiche mirate a scoprire eventuali modifiche a posteriori dei dati.
 

 

 

Capitolo 4

La blockchain per contabili, giuristi e programmatori (titolo capitolo 4)

 

 

L’ultima parte della sezione “Blockchain in contabilità” è dedicato a chi vuole approfondire alcuni aspetti della tecnologia. In questo capitolo scoprirai che:

  • La tecnologia blockchain si è adatta facilmente al sistema legislativo esistente
  • La certificazione dei dati avviene tramite gli algoritmi di hash, che rappresenta l’impronta digitale di queste collezioni di dati. Questi hash sono anche chiamati sigilli digitali e devono avere determinate caratteristiche
  • Banana Contabilità è un esempio chiaro di come la blockchain può essere applicata a un software in commercio. Ci sono però diversi aspetti legali e contabili che vanno applicati a questa tecnologia.

 

Banana Contabilità ha integrato la blockchain all’interno del software contabile in modo quasi visionario, qualche anno prima che questa tecnologia divenisse popolare. Questo cambiamento si è rivelato rivoluzionario per il programma, poiché la blockchain ha una funzione importante di protezione dei dati e assicura che il software adempia ai requisiti di legge per la tenuta dei dati contabili. Oltre a ciò, ha portato la sicurezza dei dati a un livello molto più alto rispetto alle tecnologie precedenti.  

C’è un grande interesse verso la blockchain, ma l’argomento risulta piuttosto complicato per via delle sue tecnicità e dell’aspetto culturale della trasformazione digitale, tutt’ora in atto. È necessario un cambio di prospettiva, che implica però un’immersione nei possibili impieghi della blockchain.

Approfondiamo assieme gli aspetti rivoluzionari di questa tecnologia dal punto di vista di programmazione, di contabilità e legislazione. 

 

Aspetti legali e culturali della blockchain


Domenico Zucchetti [inserire la biografia da qualche parte sul sito o mettere un’ancora] si è occupato delle tematiche del commercio elettronico e la protezione dei dati quando erano ancora sconosciute ai più. Già nel 1986, ne tratta nella sua tesi di laurea in giurisprudenza.

Immagine

Domenico Zucchetti, Fondatore e CEO di Banana.ch SA

«Il tema era nuovo, c’era poca letteratura, ma si intuiva ovviamente il grande potenziale di sviluppo dell’e-commerce. Una delle domande che ci si poneva era se questo commercio avrebbe richiesto modifiche dell’impianto giuridico esistente. Era evidente che sarebbero emerse nuove modalità di fruizione e nuove tipologie di contratto, ma ero arrivato alla conclusione che i diversi contratti, nella loro sostanza giuridica sarebbero rimasti sostanzialmente immutati. Così è stato, la rivoluzione informatica è potuta procedere speditamente e ha preso piede in ogni ambito della società, grazie al fatto che le leggi e i concetti giuridici esistenti hanno richiesto adattamenti molto limitati.»

 

Il fatto che il sistema giuridico non sia stato stravolto dall’e-commerce ha permesso un’adozione veloce della blockchain come strumento per garantire l’integrità e l’autenticità dei dati. Il sistema della blockchain viene ora utilizzato in diversi ambiti. La premessa per il riconoscimento da parte delle autorità amministrative e giudiziarie è ovviamente che i sigilli digitali siano calcolati con tecnologie che ne impediscano la falsificazione.

La questione si pone più che altro in termini organizzativi e culturali. La blockchain, come altre tecnologie, è stata adottata senza prima riflettere sulle possibili implicazioni. Ad esempio, il crimine organizzato può usare il Bitcoin e altre monete digitali come strumento per muovere e riciclare ingenti somme di denaro. Diverse autorità giudiziarie si stanno aggiornando per poter perseguire i criminali e evitare che investitori o minatori ignari vengano accusati di aver permesso di eseguire delle operazioni illegali. Anche a livello di sviluppo tecnologico, gli sviluppatori stanno continuamente migliorando la blockchain per aumentarne la sicurezza e l'affidabilità.

Per i programmatori: hash e sigilli digitali

La certificazione dei dati della blockchain si basa sulla tecnologia di calcolo degli hash, un’operazione che prevede diversi algoritmi. Per una spiegazione più sintetica e meno tecnica potete leggere la definizione nel capitolo 3 [LINK].

Le funzioni di hash sono dei programmi che prendono un insieme di dati e creano un breve testo chiamato hash o hash sum che rappresenta l'impronta digitale dei dati stessi. La funzione di hash può essere paragonata ad un processo di distillazione, allo scopo di ottenere una piccola goccia. La goccia ottenuta, l’hash sum, sarà sempre esattamente la stessa se i dati di partenza sono uguali.

 

IMMAGINE

 

Gli algoritmi di hash sono dei programmi open source sviluppati da esperti nell’ambito della criptografia. Domenico Zucchetti specifica che « come succede a me, la maggior parte dei programmatori probabilmente usa le funzioni di hash senza capire i dettagli dell’implementazione, ma ha fiducia che funzioneranno nel modo corretto».


Ci sono diversi algoritmi con diverse caratteristiche e finalità. Banana Contabilità e Bitcoin usano l’algoritmo di hashing SHA-256, che produce un hash di 256 bit. Si parte da un qualsiasi contenuto e si ottiene sempre un valore della lunghezza di 256 bit, che viene convertito in un testo per risultare leggibile. Di seguito si vede l’hash calcolato su un solo carattere.

Dati

Sigillo / Hash SHA-256 in esadecimale

“1”

6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B

“2”

D4735E3A265E16EEE03F59718B9B5D03019C07D8B6C51F90DA3A666EEC13AB35


Le caratteristiche principali dei sigilli digitali della blockchain


Per la certificazione dei dati si devono usare degli algoritmi di hash molto particolari. Questi hash sono chiamati “sigilli digitali”, in quanto hanno delle caratteristiche molto specifiche:

  • Sono un’entità di dati molto piccola, facile da memorizzare e da inviare
  • Devono essere in grado di elaborare una sequenza di dati di qualsiasi lunghezza
  • Devono produrre un dato riassuntivo di lunghezza fissa, generalmente 256, 512 o 1024 bit
  • Sono determinanti: partendo dallo stesso contenuto si ottiene sempre il medesimo hash. Anche un minimo cambiamento nei contenuti, produce un sigillo significativamente diverso 
  • Sono unidirezionali: partendo dall’hash deve essere tecnicamente impossibile ricostruire il contenuto dei dati originali 
  • Sono resistenti alle collisioni: deve essere tecnicamente impossibile trovare dei contenuti diversi che producano il medesimo sigillo 
  • La sequenza di caratteri generati è imprevedibile e non può essere associata ai dati di partenza
  • Effetto valanga: una piccola modifica ad un contenuto cambierà il valore degli hash in maniera così radicale che il nuovo valore apparirà non correlato con quello vecchio
    Possono essere facilmente scambiati e inviati a terzi senza esporre i contenuti originali.

IMMAGINE

 

Infine, gli hash crittografici sono riconosciuti legalmente se soddisfano tre caratteristiche principali:

  1. Garantiscono i criteri di unicità (non sono presenti collisioni)
  2. Garantiscono l’unidirezionalità dei dati
  3. Sono difficilmente attaccabili.

Gli hash usati come sigilli digitali identificano in maniera univoca l’insieme dei dati che sigillano. Ciò significa che i sigilli fungono anche da “numero di targa” specifico della sequenza di dati. 


Per verificare la validità dei sigilli si calcola nuovamente il sigillo con il medesimo algoritmo partendo dai dati “sigillati” e si confronta il risultato con il sigillo originale. Se i sigilli sono uguali, i contenuti sono uguali; se i sigilli sono diversi, i contenuti sono diversi. In questo modo un malintenzionato non potrà mai creare una sequenza di dati diversa che produca il medesimo sigillo.

Il problema della collisione

L’affidabilità del sigillo dipende dall’impossibilità di generare un hash uguale partendo da dati diversi. L’insieme dei dati di partenza è ovviamente più grande di quello dell’hash, per cui esistono delle combinazioni di dati che possono produrre il medesimo sigillo, che in termine tecnico si chiamano “collisione”. Per evitare questo problema, è essenziale rimanere aggiornati a livello tecnico con i migliori algoritmi.

La differenza con il sistema complicato del Bitcoin

Il calcolo del sigillo nel sistema Bitcoin è abbastanza complesso. Solamente i minatori in possesso di grandi capacità di calcolo riescono a competere. Questo aspetto tecnico richiede ingenti investimenti in computer ed energia. Il sistema prevede in media 10 minuti per completare un singolo blocco. Al momento i sigilli del nuovi blocchi devono iniziare con 18 zeri, richiedendo un numero elevatissimo di tentativi per calcolarlo. 
 

IMMAGINE

Questa particolarità del sigillo che inizia con degli zeri rende la procedura di generazione del sigillo più complessa e più difficile da comprendere. Il sistema di calcolo utilizzato in Banana Contabilità è più lineare e il funzionamento più comprensibile. Nonostante le differenze di calcolo, la blockchain di Bitcoin e di Banana Contabilità servono comunque allo stesso scopo, che è quello di avere una sequenza di dati la cui integrità può quindi essere verificata grazie ai sigilli.

 

Aspetti legali e contabili della blockchain di Banana contabilità

La blockchain del software Banana Contabilità è stato sviluppata per impedire modifiche alle registrazioni. Banana Contabilità è un interessante esempio di come questo sistema di certificazione può essere aggiunto ad un software in commercio, permettendo grandi passi avanti in termini di sicurezza e affidabilità, con un metodo decisamente più sicuro della semplice password. Nel caso della blockchain di Banana Contabilità, le modalità d’uso sono comprensibili anche a chi non ha particolare conoscenze tecniche.

In Banana Contabilità il giornale è uno solo e ci sono due tipi di registrazioni:

  1. Registrazione con i sigilli della blockchain, che sono bloccate dal comando “Blocca movimenti”. Da questo momento i movimenti sono protetti, non si possono più cambiare e sono anche muniti dei sigilli digitali, con la possibilità di accertare l’originalità dei dati
  2. Registrazioni libere, in corso di elaborazione, che si possono modificare.

Tenere la contabilità è un’attività piuttosto complessa dove bisogna raccogliere le informazioni, inserirle e catalogarle correttamente. Ci sono spesso degli errori o dimenticanze che si scoprono solitamente alla fine del periodo, quando si fanno le riconciliazioni bancarie, si analizza il bilancio e si preparano i resoconti dell’IVA.

Ovviamente questi errori vanno rivisti e in Banana Contabilità ci sono due modi per correggere:

  • Le operazioni che non sono ancora state munite di sigillo possono essere modificate direttamente 
  • Le operazioni della blockchain devono invece essere corrette con delle operazioni supplementari di storno e di rettifica.

 

Applicare la blockchain al giornale di Banana Contabilità

La blockchain in Banana Contabilità è stata concepita come un servizio controllato completamente dall’utilizzatore. L’utente ha una contabilità sempre aggiornata e gode della massima libertà di modificare i movimenti, consultare i diversi resoconti e confrontare i propri dati con quelli della banca. Nel momento in cui ritiene che tutto sia corretto (di regola alla fine di un periodo o quando si deve presentare rendiconti particolari) impartisce il comando di blocco dei movimenti.

  1. All’utente viene presentata una finestra di dialogo nella quale indicare la nuova data di blocco delle registrazioni da bloccare.
     

IMMAGINE

 

  1. A questo punto Banana Contabilità procede all’applicazione dei sigilli ad ogni operazione, e li indica nella colonna BloccoProgr.

IMMAGINE

  1. Per tutte le righe che non sono bloccate e fino alla data del blocco indicata, il programma procede nel modo seguente:
    1. Verifica che non ci siano errori nei movimenti. Se vengono riscontrati degli errori (ad esempio se il conto non è corretto) la procedura di blocco viene interrotta. L’utente dovrà correggere l’errore e ripetere il comando di blocco
    2. Assegna un numero progressivo che viene salvato insieme ai dati della riga stessa. Quando si blocca il periodo successivo, la numerazione riprende dall’ultimo
    3. Calcola il sigillo dell’operazione (hash progressivo) combinando i dati della registrazione con il sigillo della registrazione precedente.
  2. Il software impedisce modifiche alle righe con i sigilli e inserimenti di registrazioni con una data inferiore a quella del blocco. In pratica non si bloccano solo le registrazioni, ma anche il periodo contabile.
     
  3. Il programma visualizza un rapporto dell’avvenuto blocco, che mostra il numero progressivo dell’ultima registrazione bloccata e il relativo sigillo. Questo sigillo è anche il certificato di tutti i movimenti contabili dalla prima registrazione in avanti, quindi di tutta la contabilità fino a quel punto.

IMMAGINE

 

  1. Il programma offre una funzione di verifica dei sigilli, controllando se la sequenza è corretta. Questa funzione è automatizzata anche quando si impartisce il comando di controllo della contabilità e, se i dati sono stati manipolati bypassando le sicurezze del software, verrà segnalato un errore.

 

La custodia dei sigilli, una certificazione a prova di legge

La tenuta della contabilità è soggetta a regolamentazioni. La certificazione dei dati è generalmente eseguita allo scopo di garantirne e di assicurarne la conformità alle normative. La blockchain è un sistema che, dal punto di vista tecnico, soddisfa i requisiti di legge. Il certificato dei dati indica la data di sistema in cui si è impartito il comando di blocco, ma questo valore non fa stato legalmente. Infatti spetta all’utente salvare questi dati in modo da potere dimostrare il momento in cui i sigilli sono stati applicati. Una possibile modalità è quella di stampare il resoconto e munirlo della propria firma.

L’applicazione dei sigilli avviene di regola quando bisogna trasmettere dei dati alle autorità fiscali. L’invio dei dati servirà anche come certificazione dei dati della contabilità.

 

La sicurezza data dalla blockchain nella contabilità

La blockchain semplifica enormemente la conservazione dei dati contabili. Si possono tenere copie dei file, effettuare dei backup e, tramite la verifica dei sigilli, essere certi che si tratti dei dati autentici. Per i revisori, invece, diventerà importante verificare il funzionamento della blockchain e di come sono attribuiti e salvati i sigilli. Bisogna evitare che i sigilli possano essere manipolati dato che ciò comporterebbe la modifica dei dati.

La blockchain costituisce un deterrente importante alla modifica dei movimenti contabili per varie ragioni:

  • Se i movimenti sono muniti di sigilli, è molto difficile per persone non autorizzate modificare movimenti contabili senza farsi scoprire. 
  • Con la blockchain individuare modifiche sui dati è semplice ed è facile ripristinare anche la situazione originale.
  • Qualsiasi tentativo di modifica può essere scoperto in tempi molto brevi
  • Si potranno facilmente individuare modifiche indebite ai dati esistenti, frutto di procedure errate.
     

可检测会计差额的新余额列

余额列出现在会计分录表格中,适用于复式记账、多币种、收支会计和现金管理的账套。这一列非常有用,因为它可以检测到会计分录表中的差异。 

仅当存在会计差异时,余额列才会显示数值。
如果分录正确且余额为零,该单元格将保持空白,余额列不会显示任何异常。
因此,余额列中出现金额表示该笔分录不完整或存在需要检查和更正的错误。

▶ 观看视频:新的余额列

如何显示余额列

默认情况下,余额列不显示。您可以通过菜单显示该列:

  • 数据 > 设置列 > 余额列

在“设置列”对话框中,可以使用上移(将列向左移动)和下移(将列向右移动)按钮将余额列移动到所需位置。

余额列中出现差异的原因

出现会计差异时,必须找出原因并进行更正。

差异可能主要由以下原因造成:

  • 借方账户、贷方账户或类别单元格为空或包含错误的值
  • 在涉及多个账户或类别的分录中,金额总和不一致
  • 带有增值税代码的分录中,增值税分解或增值税账户设置不正确。

注意在复合分录中,程序在分录未完成前可能会临时显示借贷不平衡的差异。

复式记账中的余额列

在复式记账中,余额列显示借方和贷方列之间的差异。

当账目正确时,余额列应为空(单元格无内容):

  • 当借方与贷方金额总和相等时,余额为零;
  • 在涉及多个账户或类别的分录中,在所有相关分录完成之前可能会显示余额。最后一笔分录后,余额应为零。

Balance column

图中所示的示例涉及一笔用于支付多张发票的会计分录。各个账户及其相应金额分别录入在多行中:

  • 在第一行的贷方列中,记录银行账户 1020,支付总金额为 1'000。
  • 在后续各行的借方列中,记录以下账户:
    • 账户 1520 – 投资,金额为 300
    • 账户 5820 – 旅行,金额为 200
    • 账户 4000 – 材料采购,金额为 400。

因此,借方记录的金额合计为 900,而贷方记录的金额为 1'000。

因此,该会计分录存在 100 的差额。该差额会显示在分录最后一行的余额列中,从而可以立即发现该分录未达到借贷平衡。

收支会计中的余额列

在收支会计和现金管理中,余额列用于显示账户列与类别列之间的差异。

当账目正确时,余额列应为空(单元格无内容):

  • 如果账户列与类别列中的金额总和相等(无差异),则余额为零。
  • 对于涉及多个账户的分录,在所有相关账户和类别分录完成前,会显示一个余额。完成最后一行分录后,余额应归零。

balance column

在示例图像中,产生了1000 的差异:

  • Doc 2行的分录中,类别列未填写。因此,该金额只记录在账户上,导致1000 的差异

检查账目

检查账目命令也包含对余额列的检查。

如果余额列不为零,则表示存在错误。要找到引起差异的第一行:

  • 浏览余额列,查找差异开始的第一行。
  • 使用重新检查账目命令,该命令会指出差异开始的行。