Swiss QR-bill
Swiss QR-bill 于 2020 年 7 月取代了瑞士的橙色和红色汇款单。它是呈现在 QR 码中的 ISO 20022 客户信用转账(pain.001)载荷,中央有必须的瑞士十字叠加。每家瑞士银行都接受,其他任何格式都不接受。
规范文件:SIX Swiss Implementation Guidelines for the QR-bill v2.3 (2024-04).
ISO 基础: ISO 20022
强制生效: 2020 年 7 月 1 日。旧版橙/红汇款单于 2022 年 9 月 30 日停用。
ISO 基础: ISO 20022
pain.001 客户信用转账. 强制生效: 2020 年 7 月 1 日。旧版橙/红汇款单于 2022 年 9 月 30 日停用。
概述
载荷是一个换行(CRLF)分隔的 32 字段列表,分七个块排列:
QRType → 始终 "SPC" Version → 0200 (v2.3) Coding → 1 (Latin-1) [收款人信息] ← 7 个字段(IBAN + 地址) [最终收款人] ← 7 个字段(可选,通常为空) [支付金额信息] ← 3 个字段(金额、货币、到期日) [最终付款人] ← 7 个字段(可选) [支付参考] ← 2 个字段(参考类型 + 参考) [附加信息] ← 2 个字段(非结构化消息 + 账单信息) [替代程序] ← 2 个字段(可选,极少使用)
QR 放置在发票底部三分之一的"支付部分"块中。每个瑞士银行应用(UBS、ZKB、PostFinance、Raiffeisen、Neon、Yuh、Revolut CH)都能原生读取。
QR-IBAN vs 普通 IBAN
"QR-IBAN"是一种特殊的瑞士 IBAN,其 5 位银行代码范围为 30000–31999。QR-IBAN 需要结构化 QR 参考(QRR,27 位,mod-10 校验)。普通瑞士 IBAN 接受债权人参考(SCOR,RFC 8905)或无参考(NON)。
| 债权人 IBAN 类型 | 有效参考类型 | 备注 |
|---|---|---|
| QR-IBAN(银行代码 30000–31999) | QRR(27 位,mod-10) | 必须。SCOR 和 NON 无效。 |
| 普通 IBAN(CH 或 LI) | SCOR 或 NON | QRR 无效,仅限 QR-IBAN。 |
标准测试向量
| 场景 | 输入 | 参考类型 |
|---|---|---|
| 最简(普通 IBAN,无金额,无参考) | iban=CH9300762011623852957 | NON |
| 普通 IBAN + 金额 + 非结构化消息 | (同上)amount=100.00 | NON |
| QR-IBAN + QRR 参考 | iban=CH4431999123000889012 | QRR |
| 列支敦士登 IBAN | iban=LI0508800000021904015 | NON |
实时瑞士 IBAN 验证器
下面的验证器检查三条瑞士特有规则:(1) 国家代码为 CH 或 LI,(2) 长度恰好为 21 位,(3) ISO 7064 mod-97 校验和通过。粘贴的输入会规范化(大小写、空格去除)。
请输入 CH 或 LI IBAN 进行验证。
常见陷阱
- IBAN 类型与参考类型不匹配。 带 NON 或 SCOR 参考的 QR-IBAN 会被银行拒绝。带 QRR 参考的普通 IBAN 同样会被拒绝。Abundera 自动选择正确类型;手工编码器常在这里出错。
- 缺少瑞士十字叠加。 QR-bill 规范要求在 QR 中央放置一个 7mm×7mm 的瑞士国旗(白十字 on 红底,1mm 白边)。这不是可选项。Abundera 自动叠加。
- QR 模块纠错级别。 规范要求 ECC 级别 M。更高或更低的级别会生成外观正确但被银行拒绝的 QR。
- 地址字段长度。 债权人姓名、街道、邮编、城市,每个限 70 个 Latin-1 字符。部分编码器静默截断超长字符串,导致对账失败。
- 货币仅限 CHF 或 EUR。 QR-bill 只支持两种货币。任何其他货币均被拒绝。
- 参考 mod-10 vs mod-97。 QRR 参考使用 mod-10 递归校验和(Luhn 变体),不要与 IBAN 的 mod-97 校验和混淆。手工参考生成器经常用错方式进行 Luhn 校验。
- Latin-1,不是 UTF-8。 字段
Coding为 "1" = Latin-1。非 Latin-1 字符(ä/ö/ü 可以;西里尔/中文不行)会损坏一些旧版银行应用。
扫描仪兼容性
| 读码器 | 支持 | 备注 |
|---|---|---|
| UBS Mobile / PostFinance / ZKB 应用 | 原生 | 每个瑞士银行应用都原生读取 QR-bill。 |
| Neon / Yuh / Revolut CH | 原生 | 新银行处理完整的 pain.001 载荷。 |
| iOS 相机 | 否 | iOS 将 QR-bill 视为原始字符串,无解析。用户需打开银行应用。 |
| Android 相机 / Google Lens | 否 | 同上,无原生解析。 |
| 商业 OCR(如账单支付服务) | 是 | 银行级 OCR 工具将 QR-bill 读入 AP/AR 流程。 |
另请参见
- /swiss-qr-bill-generator/, 内置 IBAN 验证器的生成器。
- /standards/, 返回标准索引。
- SIX Implementation Guidelines, 权威规范。