简体中文

文件·自由发票工具

ISO 4217 货币代码:为什么发票上的“$”不够

· 背景

发票 文件格式 验证

三个货币代码行,消除其他类似金额的歧义
原始 ToolAcre 矢量图

货币符号在字体中被共享、转移,有时甚至缺失;三字母代码是明确的。这篇文章解释了 ISO 4217 标准、小单位以及使金额在任何国家/地区都可读的格式约定。

哪美元? — 客户以错误的货币付款,因为发票上显示的都是该符号

裸露符号并不总是标识一种货币,因此发票应使所选代码在任何有歧义的地方可见。该存储库不会验证有关客户支付错误货币的故事,也不需要发明轶事来表明显式标识符可以减少猜测。

此工具中的三字母货币代码 — 有用的标识符,没有无来源的标准历史记录

货币登记机构使用熟悉的三字母货币代码作为密钥,并将每个代码与次要单位计数相关联。本文没有说明 ISO 标准如何构建每个代码或引用其发布历史,因为这些事实并非源自存储库。

当前注册表中的次要单位 - 零或两个,并非所有 ISO 可能性

当前注册表代表带有零位或两位小数位的货币。 JPY、KRW 和 VND 的格式不带小数单位,而其他列出的条目则使用两个。该工作手册声称一些受支持的货币使用三位小数,对于此实现来说是错误的。

符号和位置 - 金额之前或之后,有或没有空格,以及为什么约定不同

Intl.NumberFormat 决定所选货币和固定区域设置的符号或代码表示形式。符号可以以读者可识别的方式出现在值旁边,但当相同的字形可能表示多种货币或字体无法呈现首选符号时,代码仍然是更清晰的标识符。

一般分隔符 — 该工具修复了一种稳定的英语语言环境格式

分组和小数约定通常有所不同,但此工具不会将它们本地化到每个选定的国家/地区。它修复了英语区域设置,以保持屏幕、打印和自定义 PDF 字符串稳定并与其字体路径兼容。国家/地区选择会更改货币元数据,而不是访问者区域分隔符。

工作示例 — 用五种货币书写的一笔金额,并具有正确的代码、小单位和分隔符

比较注册表中五种货币下的一个精确小单位金额,并观察零位数和两位数格式有何不同。保持适合每个示例的基础值,而不是假装相同的小单位整数在不同货币中具有相同的经济含义。

这不包括什么——汇率、兑换日期以及如何计算货币收益或损失

格式化程序不执行汇率查找,也不存储转换日期。它不计算收益、损失或会计处理。文档仅以一种货币计价,因此任何转换都属于单独证明的工作流程。

要点 — 始终向读者显示代码、格式,并让自由发票工具的货币设置应用约定

选择并显示预期的代码,然后检查生成的值,而不是单独信任符号。自由发票工具一致地应用所选注册表项的精度;它不会本地化每个分隔符约定或实现货币转换。