瑞典OCR号码详解
本文还提供以下语言版本: English|Español|Deutsch|Português|Français
什么是OCR号码?
瑞典的OCR号码用于将付款与正确的客户及正确的发票关联。其功能与挪威的KID号码完全相同。
OCR号码的格式
格式规则为:前导零(如有)+ 序列中的下一个数字 + 校验位
位数 — 包含校验位在内,共3至25位数字。OCR号码的最后一位为校验位。OCR号码只能包含数字(0至9),不得为字母数字混合格式。商家与银行协商确定参考号的位数。
OCR号码的构建规则 — OCR号码可包含客户ID和/或发票编号以识别客户与发票,但这并非强制要求。不过,建议使用这些信息,以便更轻松地将付款与发票进行对账。
校验位计算算法 — Mod 10算法。使用Mod 10计算器验证您生成的OCR号码。
序列中的下一个数字 — 用于生成参考号的随机起始数字。(显而易见,您需要一个起始数字才能生成OCR。如果不想使用新数字,也可以使用发票编号,但需确保仅使用纯数字,发票编号不得为字母数字混合格式。)
前导零 — 如果可变部分的最终位数少于"参考号允许位数",则在前面补0以满足要求。
OCR校验级别
共有4个级别用于检验OCR号码是否正确。详见欧洲清算机构Bankgirot用户手册中的第5.1.2节:
-
软校验:如果付款包含 错误的OCR参考号,付款人会收到错误提示,说明OCR参考号输入有误,但仍可继续完成付款。(注意此处没有长度校验。)基本上,该级别接受任何值,包括空值。
-
硬校验:检验OCR参考号是否包含正确的校验位。
-
含可变长度的硬校验:既检验校验位是否正确,也检验长度位是否正确。
-
含固定长度的硬校验:检验校验位是否正确,并检验参考号的长度。该长度由商家与银行协商确定,最多可选择2种长度。由于与可变长度不同,此情况下仅接受2种长度,因此无需长度位。
- 长度位的定义:指定OCR参考号的预期长度。长度标注于OCR参考号的倒数第二位。若校验返回错误,网上银行将拒绝该付款。示例:若参考号长度为5、15或25位,则倒数第二位为5。
![]() |
| 长度位计算示意图 |
通过示例了解最终生成号码的样式
情形1:不含可变长度的OCR校验
- OCR总位数 — 10
- OCR序列中的下一个数字 — 567
- 校验位算法 — Mod 10
最终生成的OCR号码 = 0000005678
情形2:含可变长度的OCR校验
- OCR总位数 — 10
- OCR序列中的下一个数字 — 567
- 校验位算法 — Mod 10
- 长度位 — 0
最终生成的OCR号码 = 0000056705
含OCR号码的发票样本
![]() |
| 瑞典含OCR号码的发票样本 |

