跳到主要内容

瑞典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节

  1. 软校验:如果付款包含错误的OCR参考号,付款人会收到错误提示,说明OCR参考号输入有误,但仍可继续完成付款。(注意此处没有长度校验。)基本上,该级别接受任何值,包括空值。

  2. 硬校验:检验OCR参考号是否包含正确的校验位。

  3. 含可变长度的硬校验:既检验校验位是否正确,也检验长度位是否正确。

  4. 含固定长度的硬校验:检验校验位是否正确,并检验参考号的长度。该长度由商家与银行协商确定,最多可选择2种长度。由于与可变长度不同,此情况下仅接受2种长度,因此无需长度位。

备注
  • 长度位的定义:指定OCR参考号的预期长度。长度标注于OCR参考号的倒数第二位。若校验返回错误,网上银行将拒绝该付款。示例:若参考号长度为5、15或25位,则倒数第二位为5。
长度位计算示意图
长度位计算示意图

通过示例了解最终生成号码的样式

情形1:不含可变长度的OCR校验

  1. OCR总位数 — 10
  2. OCR序列中的下一个数字 — 567
  3. 校验位算法 — Mod 10

最终生成的OCR号码 = 0000005678

情形2:含可变长度的OCR校验

  1. OCR总位数 — 10
  2. OCR序列中的下一个数字 — 567
  3. 校验位算法 — Mod 10
  4. 长度位 — 0

最终生成的OCR号码 = 0000056705

含OCR号码的发票样本

瑞典含OCR号码的发票样本
瑞典含OCR号码的发票样本