12.3. 使用贸易科目自动记录外币交易

贸易科目是在GnuCash 2.3.14 版本中引入的功能。其基本概念由Peter Selinger在Tutorial on multiple currency accounting中提出,教程的第二部分Multiple currency accounting in GnuCash则介绍了怎样在早于2.3.14的版本中手动创建并使用贸易科目。 Trading accounts were introduced as a feature from . The conceptual basis for trading accounts is described in by . A second tutorial describes the manual creation and use of trading accounts in GnuCash prior to version 2.3.14.

GnuCash默认不启用贸易科目。要启用贸易科目,前往 文件属性+科目标签页,勾选使用贸易科目复选框。

12.3.1. 贸易科目的概念

在会计领域中,贸易科目是一种特殊的所有者权益科目,用于记录由两种或多种货币间交易导致的收入变动。GnuCash使用贸易这一顶级科目类型实现贸易科目的功能。启用贸易科目功能后,如果在创建两种或多种货币间的交易时,所需的贸易子科目还不存在,则会自动创建。

使用贸易科目拓展得到的会计等式如下: In the extended Accounting Equation, Trading accounts would appear as follows:

公式 12.1. 

资产 = 负债 +所有者权益 (+收入 -费用) +贸易


小心

GnuCash会阻止用户直接手动向贸易顶级科目类别下的科目账簿添加条目。这些科目下的所有条目均为当用户在GnuCash科目结构中的其它科目账簿下创建外币交易时自动生成的。

贸易科目组织在顶级科目贸易下,该顶级科目具有子科目货币,在此之下又为每种相互产生交易的货币分配了各自的子科目。如之前第 12.2 节 “手动记录外币交易”中举的例子,启用贸易科目功能后,当录入不同货币间的交易时,会自动创建更多的贸易科目,具体为:

贸易
    货币
        EUR
        HKD
        CNY
小心

这些科目的名称也同样是自动指定的,如果不在GnuCash中关闭贸易科目功能,就无法由用户修改。

12.3.2. 使用贸易科目记录外币交易

12.3.2.1. 建立适用于贸易科目功能的科目结构

仍然继续采用前一小节手动记录外币交易中使用的科目结构。资产和所有者权益科目的初始结构如下:

图 12.18. 多货币银行科目初始结构

多货币银行科目初始结构

多货币场景下银行科目的初始结构。


到2020年1月1日,价格数据库( 工具价格数据库)中已录入了下列价格记录,并按此将外币科目余额换算为人民币:

图 12.19. 价格数据库初始记录

价格数据库初始记录

设定人民币、港元和欧元间初始汇率后的价格数据库窗口。


如图设定货币汇率后,现在科目标签页会在总计(CNY)列中以人民币显示外币科目的金额。

图 12.20. 录入人民币、港元和欧元间汇率后的初始多货币科目结构

录入人民币、港元和欧元间汇率后的初始多货币科目结构

设定各外币相对人民币汇率后的科目标签页。


12.3.2.2. 兑换资金为外币

假定我们想在2020年1月1日通过香港银行科目花20,000港元在香港当地买些东西。香港银行科目中的流动资金不够,需要再从中国内地银行科目额外兑换10,200港元。兑汇时的汇率为 1 CNY = 1.0753 HKD,即需要花9,486元人民币购汇,同时银行收取40元人民币的购汇手续费。相关交易由资金转账对话框创建,如下所示:

图 12.21. 创建从人民币到港元交易的转账对话框

创建从人民币到港元交易的转账对话框

从中国内地银行科目到香港银行科目的转账


借方金额已由港元指定,而交易金额以人民币进行转账。无法在对话框中录入手续费。关闭对话框后,新创建的交易在中国银行科目中显示如下:

注意

资金转账对话框中录入的金额就是将要从选择的贷方科目 转账到选择的借方科目的金额。如果选中借方金额单选框并输入外币金额,则记录的交易金额是精确的。然而如果选中汇率单选框并输入相应的汇率,则实际金额往往由于舍入误差而记录得不精确。

图 12.22. 转账后显示在中国银行科目账簿的交易

转账后显示在中国银行科目账簿的交易

关闭转账对话框后,从中国银行科目转账至香港银行科目的交易。


在中国银行科目账簿中展开该交易后,可以向其中添加分录,用于记录手续费,如下所示:

图 12.23. 添加兑汇手续费分录后的交易

添加兑汇手续费分录后的交易

添加兑汇手续费分录后,从中国银行科目转账至香港银行科目的交易。


回到科目标签页,可以看到由科目间转账交易引起的金额变动:

图 12.24. 完成从人民币到港元转账后的科目标签页余额。

完成从人民币到港元转账后的科目标签页余额。

完成从中国银行科目到香港银行科目的资金转账后,科目标签页中各科目的余额。


资产和所有者权益科目显示的金额已经根据2020年2月1日资金转账交易中录入的汇率进行了换算。

GnuCash已经自动创建了贸易科目,转账金额也已录入到相应的贸易科目中。其中的交易条目与录入该交易之前已经存在的期初余额均无关联。也就是,贸易科目只反映在其本身创建之后产生的损益。

到现在,还没有产生贸易损益。人民币和港元的贸易科目余额换算为人民币后是相等的。港元贸易科目有一条借方交易(余额为负),而人民币贸易科目有一条贷方交易(余额为正)。货币子科目的净余额为,也即贸易父科目自身的余额,仍然为零,表明目前没有记录到由货币兑换导致的损益。

原本去香港的购物之行未能成真。一个月后,即2020年3月1日,因其它安排,又需向中国银行科目汇集资金。为此执行一次从香港银行转回到中国银行,总额10,200.00港元的转账。进行这次转账时的汇率为 1 CNY = 7.7933 HKD,兑汇手续费20.00元人民币。记录这次兑汇的交易如下:

图 12.25. 从香港银行到中国银行的资金转账交易

从香港银行到中国银行的资金转账交易

该交易从香港银行科目向中国银行科目转账10,200.00港元。


在资金转回中国银行科目后,价格数据库记录如下:

图 12.26. 资金转回中国银行科目后的价格数据库

资金转回中国银行科目后的价格数据库

价格数据库显示了将资金从港元转回人民币时使用的汇率。


转回资金后,科目标签页中各科目余额如下:

图 12.27. 转回资金后的科目标签页

转回资金后的科目标签页

转回资金后各科目的状态。


现在,资产和所有者权益余额反映了按将资金转回中国银行科目时的汇率换算得到的科目总额。贸易和货币占位符科目表明,货币兑换导致了些许已实现亏损,总计0.82元人民币。相关的兑汇手续费体现在费用总额中。在现实生活中,这并非有利可图的做法,但仍然可以通过这个例子理解贸易科目的实际用处。

注意

由贸易科目汇总得到的损益为已实现损益。

最终,在上述一系列交易后,资产负债表指出产生了贸易亏损:

图 12.28. 进行上述交易后的资产负债表

进行上述交易后的资产负债表

经这些交易后,资产负债表反映产生了贸易亏损。 Balance Sheet after these transactions reflecting the trading loss incurred.