聊聊Oracle NetSuite系统的外币重估

写在前面

“试算平衡表TB 上出现了这么一个科目余额,Unrealized Matching Gain Or Loss, 这个是啥呢”

来自项目上老师的提问;

Unrealized Matching Gain Or Loss 翻译成中文是 未实现的匹配损益,,确实有些拗口;

其实这个也是Unrealized Gain Or Loss 的一个细项分类,今天就借此聊聊咱们NetSuite系统的外币重估逻辑及对应的外币重估科目和重估事务处理类型;

1. NetSuite中汇兑损益的运行

NetSuite中汇兑损益是自动运行的,运行方式可通过如下两种路径操作,说明以下,以下两种方式均是重估未付外币金额,也就是产生的是未实现的汇兑损益;而已实现汇兑损益以及取整损益Rounding Gain Or Loss会在付款单据过账的时点,过账。

1.1 通过期间关闭检查清单

备注:主要产生unrealized Gain or Loss 未实现的损益科目

1.2 事务处理-财务-重估未付外币余额

未结账的时候,也可以通过如下路径运行下汇兑损益重估,生成汇兑损益凭证;如果在同一期间再次运行重估,则不会删除这些交易记录。相反,系统会根据需要创建额外的货币重估交易,以反映相关的变化,当然,如果您希望只产生一次汇兑损益重估凭证,那您可以到期末月结的时候,运行一次,或者手动删除之前已运行过的未实现的损益,记账凭证;

标题

2. 汇兑损益科目

NS中汇兑损益科目为系统自动产生的科目(System Accounts),这个一般是在启用“多货币”multi-currency feature 功能后,系统运行重估汇兑损益任务,在有符合条件的重估凭证后,以下科目将自动添加到我们的COA会计科目表中,汇兑损益科目共如下4个;

Account

Source

Realized Gain/Loss

(已实现的损益)

Realized gains and losses resulting from payment application;

已实现的损益,从收付款单据或贷项通知单应用单据

时点:创建收付款单据或贷项应用单据的时点,系统自动产生,已实现的损益;

Unrealized Gain/Loss

未实现的损益

Unrealized gains and losses resulting from month-end open balance revaluation;

运行-重估未付货币金额后,系统运算自动生成;

Unrealized Matching Gain/Loss

未实现的匹配损益

Base currency adjustments(本币金额调整)

主要是非权益类,非应收/应付科目,发生原币金额为0,本位币金额不为0的外币重估科目;

舍入损益

舍入损益通常产生在付款核销发票或账单单据时,因四舍五入取整产生的尾差差异;

3. 重估事务处理类型  

外币科目重估是一种系统生成的交易,记录汇率波动对本位币货币科目估值的影响。NetSuite生成多种类型的货币重估交易。该类型显示在事务记录顶部的括号中。

3.1 未实现损益/Unrealized Gain Or Loss 

这些货币重估交易记录是月末货币重估过程的结果。此过程重新评估未结货币交易和外币计价的资产负债表账户余额,比如如下:


3.2 冲销未实现损益Reversal of Unrealized Gain/Loss

NetSuite-ERP的汇兑损益重估机制是当月月末重估未结外币科目余额,次月1日,冲销(Reserse)上月月末的未实现损益,次月月末再次根据次月末汇兑损益重估,然后下月再冲销,依次运行;

这个逻辑不同于用友/金蝶中,用友金蝶只是只是重估上月月末和本月月末汇率变动差异金额,而NS逻辑是按照未结单据最初交易的汇率VS当前重估月份汇率的差异重估,两种机制,期末金额都一致,只不过是金蝶用友可以一笔汇损即可,而NS中是冲销未实现损益+月末运行未实现损益,两类重估交易的合计,两种逻辑产生的结果一样,发生额一致,期末金额一致。

这类货币重估交易冲销上月末流程中的未实现的损益交易。他们在未实现损益交易后的第一天过账。这些交易记录无法直接编辑或删除,如果需要编辑删除,可编辑或删除上月末的重估交易,而revsersal 的交易将自动更新或删除。

1/31日,外币重估,生成1号,外币重估-未实现的损益,金额112.2 (借方)

2/1日,外币重估,生成2号凭证,外币重估-未实现的损益,金额112.2 (贷方),括号中为单据类型,未实现的损益-冲销

往下2月/3月是一样的逻辑,月末重估,次月1日冲销;

3.3已实现的损益 /Realized Gain Or Loss

这些货币重估交易记录了交易(源交易)的初始值与其结算或付款时的值之间因汇率变化而产生的差异。这些货币重估交易记录不支持删除。但是,如果源交易的发生变化,这些交易会自动删除;这些交易通常发生在收款/付款单据上,只有在收款或付款或者贷项凭证credit memo /Bill Credit 单据应用的时候,这些汇兑损益才真正实现,所以到已实现的损益科目中;

在2021.1之前,已实现的损益与支付交易一起过账,并显示在其总账影响页面上。对于在2021.1之前申请或支付的交易,您可以在支付交易的总账影响子选项卡上看到已实现的损益,付款单据与以实现的损益在一张凭证上列示,但是2021.1之后的,交易,则这这部分已实现的损益,作为单据的一个交易记录展示,但是关联到源头付款单据上,比如如下所示:

2021.1之后,新版本,已实现的损益与支付交易分别过账,两张凭证展示;

3.4 外币重估-本位币调整/Base Currency Adjustment

这类外币重估类型主要是对事务处理单据外币余额为0的时候,本位币金额不等于0的一个重估,科目是入账到未实现匹配损益和相关科目本位币金额;

本位币调整类型主要是应用在非权益类别non-equity类的资产负债表科目,但是不包含应收/应付 AR/AP 类别的科目,比如货币资金类,其他流动资产类/流动负债类等;

 未实现的匹配损益,unrealized Matching Gain or Loss 在我们的科目中不怎么常见,我们来看下他的运行机制是如何

期末运行汇兑损益步骤:

 系统运行汇兑损益重估时,会自动比较外币科目的交易货币原币余额和本位币金额,如果某一科目的交易货币原币余额=0,而本位币金额不为0的场景,系统会自动进行如下判断:

是否第一次在本期间运行汇兑损益重估任务

是: 如果是第一次运行,那么系统会生成一笔本位币调整类型的外币重估,以清掉本位币的余额;也就是说,如果系统检查到有科目本位币金额不为0,但是原币金额为0的且无已经生成的未实现的损益科目金额,那么系统就自动生成外币重估,科目过账到未实现的匹配损益中;

:同样的场景,如果不是第一次运行,这个科目已经有重估到未实现的损益中去(Unrealized Gain Or Loss), 这这样情况下,系统会自动生成外币重估,不过科目继续过账到unrealized gain or loss中;

另外一点要说明的是,如果系统再重新运行下汇兑损益重估,那么之前生成的汇兑损益(本位币调整类型)系统自动删除如果金额原币金额继续为0的话,会重新生成重估凭证;但是如果在重估后,该科目有事务处理新增,影响该科目原币金额不为0了,那么重估后,外币重估类型成了为未实现损益的类型,过账科目也就是Unrealized Gain Or Loss了;

特别总结说明下本位币调整类型的外币重估的要点:

  • 本位币调整类型,适用于非权益类资产负债表科目,系统不会对应收/应付类型科目做本位币余额调整;
  • 本位币调整类型基于科目余额创建,不关联单个的交易;
  • 本位币调整类型重估仅仅在本会计期间内该科目/货币无未实现的损益过账时,才生成,如果条件不符合,则不会生成该类型,也不会过账到未实现的匹配损益;
  • 本位币调整类型的重估凭证,过账期间,不可以改变;
  • 本位币调整类型的重估,其实是未实现的损益类型中的一个特别区分,这个科目的细节可以在系统标准未实现的汇兑损益报表中查看

3.5 外币重估-舍入差异/Rounding Gain Or Loss 

 这个Rounding Gain Or Loss 金额通常比较小,主要是由于源头单据Source Transaciton和支付核销类型单据(Payment/Credit Memo/Journal)汇率不同或些许差异造成了,Rounding Gain or Loss通常发生在 Realized Gain Or Loss之后,源头单据由于汇率差异造成的小尾差,而造成应收/应付类科目有本位币余额,所以系统会另外自动触发另一个外币重估类型-舍入调整差异,来清应付应付类的剩余本位币金额; 

舍入差异不仅仅发生在源头单据Source Transaction 和付款核销单据Payment Transaction 不同汇率的情况下,也会发生在源头单据与付款核销单据汇率相同,但是源头单据存在多行交易的情况下,每行的原币金额*汇率 VS 付款单据上原币金额合计数*汇率,可能存在一点点几分的差异。

分享就到这里了,感谢阅读到这里的您们。文章主要从功能和系统逻辑的角度,跟大家一起看看NS系统汇兑损益重估是如何运行以及不同场景下过账科目的逻辑,希望对大家了解NS有所帮助。

更多更详细的NS 外币重估知识,可以查看咱们Oracle NetSuite的帮助中心文档.

以上内容及结论如有错误或补充,欢迎大家随时指正,我们共同探讨研究,一起分享精进~

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WebStorm是一个开发工具,提供了许多功能和插件,但是它并不直接支持Netsuite的安装。要在WebStorm中使用Netsuite,您需要使用Netsuite SuiteScript SDK插件和相关的开发工具。 以下是一些步骤,可以帮助您在WebStorm中安装和使用Netsuite: 1. 安装WebStorm:首先,您需要在计算机上安装WebStorm。您可以从官方网站(https://www.jetbrains.com/webstorm/)下载并安装最新版本的WebStorm。 2. 安装Netsuite SuiteScript SDK插件:在WebStorm中,您需要安装Netsuite SuiteScript SDK插件。您可以打开WebStorm,并选择“File”>“Settings”>“Plugins”。在“Plugins”窗口中,搜索“Netsuite SuiteScript SDK”,然后安装该插件。 3. 配置Netsuite SuiteScript SDK插件:安装插件之后,您需要配置它。选择“File”>“Settings”>“Other Settings”>“Netsuite SuiteScript SDK”。在这里,您需要输入Netsuite的登录信息和相关的开发设置。 4. 创建一个新项目:在WebStorm中,您可以创建一个新项目,以开始使用Netsuite。选择“File”>“New Project”,然后选择“Netsuite”模板。在这里,您可以定义项目的名称和路径。 5. 编写代码:在WebStorm中,您可以编写Netsuite的代码。使用Netsuite SuiteScript SDK插件,您可以访问Netsuite的API,并编写自己的脚本。 6. 运行代码:在WebStorm中,您可以运行您的Netsuite脚本。使用Netsuite SuiteScript SDK插件,您可以将脚本上传到Netsuite,并在应用程序中运行它。 这些是在WebStorm中安装和使用Netsuite的一些步骤。使用这些步骤,您可以开始使用Netsuite,并使用WebStorm进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Christina(Ning)Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值