pain.001は、企業が取引銀行に1件以上の送金を指図するためのISO 20022メッセージです。正式名称はCustomer Credit Transfer Initiationです。"pain"は支払指図(payment initiation)のメッセージ群、.001はメッセージ番号、pain.001.001.09のような末尾はバージョンを表します。形式はXMLで、公式スキーマ(XSD)に照らして検証され、銀行ごとに異なるCSV形式やSWIFTのMT101テキストメッセージに代わるものです。
1分でわかるpain.001#
- 送信者:企業(支払人、またはその代理人)が自社の取引銀行(支払人側銀行)に送信します。
- 内容:1つ以上の送金バッチ。各バッチには支払口座、希望実行日、そして任意の件数の受取人への支払が含まれます。
- 返ってくるもの:銀行はpain.002(Customer Payment Status Report)で応答し、ファイルまたは個々の取引をISO理由コード付きで受理または拒否します。
- その後:受理されると、銀行は各指図をpacs.008などの銀行間メッセージに変換します。企業がこれを目にすることはありません。
- 利用範囲:EPCルールブックに基づくSEPA送金、CBPR+に基づくSwift上のクロスボーダー決済(
pain.001.001.09)、そして多くの国内決済スキーム。Pain001のサンプルコーパスは17市場・42シナリオをカバーしています。
pain.001メッセージの構造#
すべてのバージョンは、<CstmrCdtTrfInitn>要素の中に同じ3階層の骨格を持ちます。
| 階層 | 要素 | 内容 |
|---|---|---|
| 1 | <GrpHdr> グループヘッダー | メッセージID、作成日時、取引件数(NbOfTxs)、コントロール合計(CtrlSum)、指図当事者 |
| 2 | <PmtInf> 支払情報 | 1バッチ分:支払方法、希望実行日、支払人、支払人の口座と銀行、手数料負担区分 |
| 3 | <CdtTrfTxInf> 送金取引 | 1件の支払:エンドツーエンド参照、金額と通貨、受取人、受取人の口座と銀行、送金情報 |
1つのファイルには複数の<PmtInf>バッチを含めることができ、各バッチには多数の<CdtTrfTxInf>支払を含められます。NbOfTxsとCtrlSumはファイル単位とバッチ単位の両方に現れ、対象となる支払と一致していなければなりません。これは銀行がファイルを拒否する最も一般的な理由の一つです。
pain.001の完全なサンプル#
これはpain.001.001.09による単一のSEPA送金で、Pain001のサンプルコーパスからそのまま引用したものです。公式のISO 20022 XSDによる検証に合格しています。当事者、IBAN、BICはすべて架空のものです。
OML-SCT-20260921
2026-09-21T12:00:00
1
2200.00
Officine Meccaniche Lombarde SpA
20123
Milano
IT
Via Torino 15
SCT-20260921-IT-01
TRF
false
1
2200.00
SEPA
2026-09-22
Officine Meccaniche Lombarde SpA
20123
Milano
IT
Via Torino 15
IT48T78971134594OGDKY5VXE41
TLAOIT60
SLEV
OML-2026-0921-01
2200.00
MHXHITI0
Fonderia Bresciana Srl
25121
Brescia
IT
IT23J14887404856NF3794IGWXN
Fattura 117/2026
ご自身のデータでブラウザデモをお試しください。CSVからpain.001ファイルを作成し、データを端末の外に出すことなく公式スキーマで検証します。
pain.001のバージョン#
ISOはメッセージモデルが変わると新しいバージョンを公開します。銀行やスキームはそれぞれ特定のバージョンを受け付けるため、送信すべきバージョンは取引銀行のチャネル資料に記載されたものです。
| バージョン | 備考 |
|---|---|
| pain.001.001.03 | 長年使われてきたSEPAとCGIの定番バージョン。銀行を<BIC>で識別 |
| .04, .05, .06, .07, .08 | 特定のチャネルで使われる保守バージョン |
| pain.001.001.09 | CBPR+がSwift向けに採用した2019年版。銀行を<BICFI>で識別し、LEIとUETRの伝達に対応 |
| .10, .11, .12 | 2019年以降の改良版 |
| pain.001.001.13 | 2026年3月19日にISOが公開。任意項目の一意取引識別子(UnqTxIdr)を追加 |
互換性マトリクスで、Pain001が生成・検証・相互移行できるバージョンを確認できます。
pain.001と関連メッセージの比較#
| メッセージ | 方向 | 目的 |
|---|---|---|
| pain.001 | 企業から取引銀行へ | 送金を指図(資金を送り出す) |
| pain.002 | 銀行から企業へ | pain.001またはpain.008の状態を通知:受理、一部受理、拒否。理由コード付き |
| pain.008 | 企業から取引銀行へ | 口座振替を指図(委任に基づき資金を回収) |
| pacs.008 | 銀行から銀行へ | pain.001の指図が変換される銀行間送金 |
| MT101 | 企業または銀行、Swift経由 | pain.001が置き換える旧来のテキストメッセージ"Request for Transfer"。Swiftは2026年8月、銀行間MT101リレーの廃止を延期しました(Swift)。MT101からpain.001へを参照 |
用語集では、その他のISO 20022用語をわかりやすく解説しています。
銀行がpain.001ファイルを拒否する理由#
ファイルは整形式のXMLであっても拒否されることがあります。チェックは次の層で積み重なります。
- スキーマ:ファイルは、そのバージョンの公式XSDによる検証に合格しなければなりません。
- データ品質:IBANのチェックディジットが正しく、BICの形式が正しく、日付と金額が有効で、
NbOfTxsとCtrlSumが支払と一致していること。 - スキームのルール:SEPA、CBPR+、国内スキームは、使用可能な文字セットや構造化住所など、独自の制約を追加します。
- 取引銀行のプロファイルとチャネル:各銀行は、スキームに加えて独自の利用ガイドラインを公開しています。
Pain001は、ファイルが銀行に届く前に最初の3層をチェックし、4層目は銀行が確認するものであることを明示しています。
pain.001ファイルの作成方法#
- スプレッドシートから:Excelからpain.001へは、ExcelやCSVの支払リストを検証済みのファイルに変換します。
- ブラウザで:デモは、アップロードなしでローカルにファイルを生成・検証します。
- コードまたはコマンドラインから:オープンソースのpain001ライブラリをインストールして、次を実行します。
技術リファレンスですべてのオプションを、よくある質問でトレジャリー、オペレーション、エンジニアリングの各チームから多い質問を確認できます。
出典#
- ISO 20022メッセージ定義とアーカイブ:iso20022.org
- SEPA Credit Transferルールブック:European Payments Council
- CBPR+とMT101リレー:Swift