近期一个项目中,B1设置本币为马来西亚林吉特货币MYR ,系统货币是RMB。在日常业务中也会用到美元USD作为往来货币。这时发现在应付发票和跨月付款时,付款单生成的日记账分录会有两行差异。自己琢磨了一下算法,不一定就是系统的算法,但至少有个解释,可以参考。后面发现问题再更新吧。
以下是示例。
5月USD汇率 | 4.773 |
6月USD汇率 | 4.69 |
5月RMB汇率 | 0.6616 |
6月RMB汇率 | 0.6620 |
应付发票在5月份制作,付款在6月,下方是分别的发票凭证和付款凭证
可以看到在付款凭证里面是有两行汇兑损益的,以下是算法和解释
1. 第一行汇兑损益:727715.69是5月发票上的应付金额MYR。715061.08是用6月USD和MYR的汇率重新计算的付款金额,差额就有了12,654.61 MYR. 再换算为系统货币RMB就是19115.73
2. 第二行汇兑损益:727715.69是5月发票上的应付金额MYR,1090047.38 RMB是发票上的5月金额。 按照6月汇率重新计算出6月应付的RMB金额就是727715.69/0.662=1099268.41。这之间有了差异为9,221.03,但是发现这跟实际凭证里面的数还差0.01。 用1099268.41-1080152.69发现等于19,115.72,与第一行汇兑损益也差0.01。于是发现,第一行汇兑随意是单纯用MYR和RMB的汇率计算的,与实际应付和实付的差额对不上,所以这0 .01也加在了第二行汇兑损益。
=727715.69-715061.08 美元汇率差异 | =12654.61/0.662 美元汇率差异换算为人民币 | |
第一行汇兑损益 | 12,654.61 | 19115.73 |
=727715.69/0.662 6月汇率应付 | =1099268.41-1090047.38 6月汇率与实际5月发票应付 | |
第二行汇兑损益 | 1,099,268.41 | 9,221.03 |
=1099268.41-1080152.69 实际人民币差异 | 实际人民币差异和美元换算出的人民币差异 | |
19,115.72 | 0.01 | |
人民币差异总额 | ||
9,221.04 |