SuiteCRM 二次开发:合同金额与默认货币合同金额的区别

更新日期: 2024-03-28 阅读次数: 542 字数: 453 分类: 管理

在通过 logic hook 开发 SuiteCRM 合同回款率计算功能时,遇到一个疑问:

为何合同模块有两个合同金额字段?在计算回款率时,我应该使用哪个作为合同金额计算的参考呢?

  • total_contract_value:合同金额
  • total_contract_value_usdollar:合同金额(默认货币)

这两个字段在数据库的 aos_contracts 表中就能看到,在 admin 的工作室功能中也能看到。

SuiteCRM 合同模块字段

同时,可以看到所有钱相关的字段,都是用了两个字段表示。即便加上了更多的币种,比如人民币,美元,欧元等,也是这两个字段。有 usdollar 后缀的字段,就是默认货币。

实测数据

通过实际测试数据,更容易理解一点。

比如,新建一个合同,设置合同金额的币种为美元,金额为 1000。

然后在数据库中就会看到:

  • total_contract_value:合同金额为 1000
  • total_contract_value_usdollar:合同金额(默认货币)为 7300,因为我将人民币设置为了 CRM 系统的默认货币。

这样就很清楚了。

结论

合同模块中的金额字段都是成对出现的。

有个金额,及默认金额。

金额就是界面上看到金额,不管是人民币、美元、欧元。

而存储的时候,实际上存储了两份,就是多了一个默认金额的自动转换。

比如,存储 2000 美元的合同金额,在数据库中还会存储一个乘以汇率之后的人民币金额 (因为目前系统的默认货币是人民币)

计算回款率时,直接使用合同金额作为分母即可,忽略默认金额。

没用的知识又增加了 : )

tags: CRM

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式