檔案·自由發票工具
ISO 4217 貨幣代碼:為什麼發票上的「$」不夠
· 背景
發票 檔案格式 驗證
貨幣符號在字體中被共享、轉移,有時甚至缺失;三字母代碼是明確的。這篇文章解釋了 ISO 4217 標準、小單位以及使金額在任何國家/地區都可讀的格式約定。
哪美元? — 客戶以錯誤的貨幣付款,因為發票上顯示的都是該符號
裸符號並不總是標識一種貨幣,因此發票應在任何有歧義的地方使所選代碼可見。該存儲庫不會驗證有關客戶支付錯誤貨幣的故事,也不需要發明軼事來表明顯式標識符可以減少猜測。
此工具中的三字母貨幣代碼 — 有用的標識符,沒有無來源的標準歷史記錄
貨幣登記機構使用熟悉的三字母貨幣代碼作為金鑰,並將每個代碼與次要單位計數相關聯。本文沒有說明 ISO 標準如何建立每個程式碼或引用其發布歷史,因為這些事實並非源自於儲存庫。
目前登錄中的次要單位 - 零或兩個,並非所有 ISO 可能性
目前註冊表代表帶有零位或兩位小數位的貨幣。 JPY、KRW 和 VND 的格式不含小數單位,而其他列出的條目則使用兩個。這份工作手冊聲稱一些受支援的貨幣使用三位小數,對於此實作來說是錯誤的。
符號和位置 - 金額之前或之後,有或沒有空格,以及為什麼約定不同
Intl.NumberFormat 決定所選貨幣和固定區域設定的符號或代碼表示形式。符號可以以讀者可識別的方式出現在值旁邊,但當相同的字形可能表示多種貨幣或字體無法呈現首選符號時,代碼仍然是更清晰的標識符。
一般分隔符號 — 此工具修正了一種穩定的英文區域設定格式
分組和小數約定通常有所不同,但此工具不會將它們本地化到每個選定的國家/地區。它修復了英語區域設置,以保持螢幕、列印和自訂 PDF 字串穩定並與其字體路徑相容。國家選擇會更改貨幣元資料,而不是訪客區域分隔符號。
工作範例 — 用五種貨幣書寫的一筆金額,並具有正確的代碼、小單位和分隔符
比較註冊表中五種貨幣下的一個精確小單位金額,並觀察零位數和兩位數格式有何不同。保持適合每個範例的基礎值,而不是假裝相同的小單位整數在不同貨幣中具有相同的經濟意義。
這不包括什麼-匯率、兌換日期以及如何計算貨幣收益或損失
格式化程式不執行匯率查找,也不儲存轉換日期。它不計算收益、損失或會計處理。檔案僅以一種貨幣計價,因此任何轉換都屬於單獨證明的工作流程。
重點 — 始終向讀者顯示代碼、格式,並讓自由發票工具的貨幣設定應用約定
選擇並顯示預期的程式碼,然後檢查產生的值而不是單獨信任符號。自由發票工具一致地應用所選註冊表項的精確度;它不會本地化每個分隔符號約定或實現貨幣轉換。