Boleto BancárioデータをExcelに抽出して
支払い照合を行う方法
ブラジルのBoleto Bancárioシステムは年間約370億件の取引を処理しており、それぞれが44桁のバーコードの各桁の位置を厳密に定めたFEBRABAN標準に準拠しています。しかし、越境支払いを扱う財務チームの大半は、この標準が存在する以前と同じ方法でデータを抽出しています。ブラジルのサプライヤーから届くPDFと、スプレッドシート上の最終的な照合エントリとの間には、手作業による入力、コピー&ペースト、目視確認というギャップが存在します。このギャップこそ、文書構造そのものが排除するように設計されていたものです。
重要ポイント
- 年間370億件のBoleto取引 — すべてが44桁のバーコードの各桁を予測可能な位置に配置するFEBRABAN標準に基づいています。
- どの銀行のスキャナーでも数ミリ秒で支払いを確認できる同じ構造化標準が、人間による各フィールドの読み取りとスプレッドシート行への入力を依然として必要としています。
- 列を一度定義するだけで(バーコード、支払期日、金額、受益者)、数十件のBoletoをバッチ抽出し、文書ごとに1行のExcelデータとして出力できます。
ボレト・バンカリオとは?なぜ2種類の番号が存在するのか
ボレト・バンカリオ(通称ボレト)は、ブラジルの銀行を通じて発行される規制対象の支払い手段です。請求書と支払伝票を組み合わせたようなもので、受益者(beneficiário)が銀行を通じて発行し、支払人(pagador)はブラジル国内の4万以上の拠点(銀行、宝くじ売り場、スーパーマーケット、郵便局、オンラインバンキング)で支払いに使用できます。
すべてのボレトには、光学スキャンに最適化された44桁のバーコード(código de barras)と、ATMやバンキングアプリでの手入力用に設計された47桁の可読行(linha digitável)が記載されています。どちらも同じ支払いを表しており、エンコード方法が異なるだけです。
バーコードの44桁は、FEBRABANバーコードレイアウト標準(Layout - Código de Barras - Versão 7)で定義された5つのセクションに分かれています。
| 位置 | フィールド | 例 | 説明 |
|---|---|---|---|
| 1~3 | 銀行コード(código do banco) | 001 | 発行銀行を識別(001=Banco do Brasil、237=Bradesco、341=Itaú) |
| 4 | 通貨コード(código da moeda) | 9 | 9=ブラジルレアル(R$) |
| 5 | チェックデジット(dígito verificador geral) | 3 | モジュラス11方式でバーコード全体の整合性を検証 |
| 6~9 | 支払期日ファクター(fator de vencimento) | 3737 | 基準日(1997年10月7日)からの経過日数。支払期日に変換される |
| 10~19 | 金額(valor) | 0000000100 | セント単位の金額(この例ではR$1.00) |
| 20~44 | 自由領域(campo livre) | 0500940144816060680935031 | 銀行定義:銀行管理番号、支店、口座、ポートフォリオなど。銀行によって異なる |
2018年以降、FEBRABANの義務化により、すべてのボレトは登録済みボレト(boletos registrados)でなければなりません。発行銀行は、支払い時だけでなく、作成時点ですべてのボレトを把握します。以前の未登録ボレト(boleto sem registro)システムでは、銀行は支払いのために提示された時点で初めてボレトを知ることになりましたが、不正を減らし追跡可能性を向上させるために段階的に廃止されました。現在、受け取るすべてのボレトは、銀行側で完全に登録された同じ標準化された構造を持っています。
ブラジルの文書全体像(同国で義務化されている電子請求書システムであるNF-e(Nota Fiscal Eletrônica)を含む)については、ブラジルの税務・金融文書に関する完全ガイドをご覧ください。
経理担当者が痛感する、ボレト処理のボトルネック
1枚のBoleto(ボレト)には、支払い照合に必要なデータポイントが約12個含まれています。しかし、データが概念的に結びついている請求書(明細行 → 小計 → 税 → 合計)とは異なり、ボレトのデータは支払いの実行のために設計されており、記録管理のためではありません。バーコードには支払い金額と支払期日がエンコードされていますが、その支払いの目的、関連する請求書、支払人がすでに対応する送金情報を送信しているかどうかはわかりません。
この設計上のミスマッチが、経理チームに特有のワークフローの問題を引き起こします。
本当のコストは入力速度ではありません。それは照合サイクルです。手動抽出 → 手動照合 → 手動ステータス確認。各ステップで遅延と潜在的なエラーが発生し、年間370億件もの取引では、これらの遅延が積み重なってB2B支払いシステム全体の構造的な非効率性を生み出します。
ボレトデータをExcelに抽出する方法 — ステップバイステップ
ボレトの抽出は複雑なワークフローを必要としません。ドキュメントの構造は標準化されており、照合に必要なフィールドは明確に定義されています。不足しているのは、銀行ポータルからのPDF、モバイルアプリのスクリーンショット、スキャンした印刷伝票など、あらゆる形式のボレトを読み取れるツールだけです。
プロセスは3つのステップで完了します:
以下のボレトのスクリーンショットまたはPDFでお試しください。サインアップは不要です:
ファイルは安全に処理され、保存されることはありません。
支払い照合に重要なボレトのフィールド
ボレトのすべてのフィールドが、照合に等しく役立つわけではありません。以下の表は、実際に支払いのマッチング、ステータス追跡、レポート作成に使用されるフィールドを、ドキュメント上の位置ではなく、実務での使い方に基づいて整理したものです。
| フィールド(英語) | ポルトガル語 | 照合での用途 |
|---|---|---|
| バーコード(44桁) | Código de barras | 主要な識別子 — 銀行取引明細書のバーコード参照と一致します。これを使用して支払いと売掛金を紐付けます。 |
| 可読行(47桁) | Linha digitável | バーコードの人間が読めるバージョン。ボレトのスクリーンショットにバーコード画像が含まれていない場合に便利です。 |
| 支払期日 | Vencimento | 支払い期限とプロテストのリスクを決定します。経過日数区分ごとに、延滞ステータスと未処理ステータスを追跡します。 |
| 金額 | Valor | 支払いマッチングのための主要な金額。銀行取引明細書の入金と照合します。 |
| 銀行管理番号 | Nosso número | 銀行が割り当てた内部参照番号 — 多くの場合、照合のための一意の取引IDに最も近いものです。 |
| 受益者 | Beneficiário / Cedente | 受取エンティティを識別します。複数の子会社や事業部門にわたる支払いを照合する際に重要です。 |
| 支払人 | Pagador / Sacado | 支払いを行った人物を識別します。売掛金の経過日数レポートや顧客フォローアップに使用します。 |
| ポートフォリオ | Carteira | 受益者と銀行間の回収契約の種類。手数料計算や照合カテゴリのマッピングに役立ちます。 |
| 貴社番号 | Número do documento / Seu número | 受益者が自社の内部請求書番号や契約番号を挿入するオプションフィールド — ボレトの支払いと自社の記録を最も直接的に結びつけるものです。 |
バーコードは、ボレトと銀行取引明細書の両方に表示されるため、最も信頼性の高い照合キーです。1つのフィールドだけを抽出する場合は、バーコードを抽出してください。バーコードが利用できない場合、銀行管理番号が2番目に優れたアンカーとなります。
数十件のボレトを一括処理するには?
上記の抽出ワークフローは、1件のボレトでも100件でも同じように機能します。バッチファースト処理モデルは、B2B照合で実際に発生するボリュームに対応するよう設計されています。特定の期間のすべてのボレトをアップロードし、列を一度定義すれば、AIがすべてのファイルを同じフィールド定義に基づいて抽出します。出力は、1行が1件のボレトに対応する単一のExcelファイルで、ERPや照合ツールにすぐにインポートできます。
銀行明細と定期的にボレトを照合する必要がある場合は、毎月の抽出ルーチンを設定することを検討してください。その月に発行・受領したすべてのボレトを収集し、バッチとして抽出し、結果のスプレッドシートを銀行の月次明細と照合します。プロセス全体は数時間ではなく数分で完了し、すべてのフィールドが同じ列定義に基づいて抽出されるため、最も一般的な照合エラーである、異なる銀行のボレト間でのフィールド形式の不一致を排除できます。
例えば、Banco do Brasil、Bradesco、Itaú、Santanderなど、複数の発行元からの50件のボレトのバッチでは、以前は担当者が各PDFを開き、バーコードの数字、支払期日(vencimento)、金額(valor)を探し出してスプレッドシートに入力し、合計が銀行明細と一致するか手動で確認する必要がありました。バッチ抽出では、これら50件のPDFは1分未満でアップロードされ、抽出は並行して実行され、出力は照合用に準備された50行すべてを含む単一の構造化ファイルとして届きます。ドキュメントごとの処理は不要です。
ボレトデータ抽出に関するよくある質問
登録済みボレトと未登録ボレトの両方で抽出は機能しますか?
2018年以降、ブラジルで発行されるすべてのボレトは登録済み(boletos registrados)です。未登録(sem registro)形式はFEBRABANによって段階的に廃止されました。現在のボレトを処理する場合、それらは上記の標準的な44桁のバーコード構造に従います。古い未登録ボレトはフィールドレイアウトが若干異なる場合がありますが、銀行コード、金額、支払期日などのコア識別フィールドは同じFEBRABANエンコーディングに従います。
44桁と47桁の数字の違いは何ですか?
44桁のバーコード(código de barras)は、バーコードスキャナーで読み取るための機械可読バージョンです。47桁の可読行(linha digitável)は、人間が読めるバージョンで、最初の3つのブロックにそれぞれ1桁ずつ、合計3桁のチェックディジットが追加されています。これにより、銀行の窓口やATMで数字を1桁ずつ入力しながら検証できます。どちらも同じ支払い情報をエンコードしています。一部のBoleto PDFでは一方の形式のみが表示される場合がありますが、抽出ツールはどちらも読み取ることができます。
Boletoは暗号化されたPDFで届くことはありますか?
はい。一部の銀行や決済プラットフォームでは、パスワード保護付きのBoleto PDFを送信することがあります。抽出ツールは、パスワードを提供すればパスワード保護されたPDFをサポートします。同じ送信元から定期的に届くBoletoについては、パスワードを事前に保存しておくことで、暗号化された添付ファイルが届いたときに自動的にロックを解除できます。
Boletoが手書きまたは破損している場合はどうなりますか?
Boleto Bancárioのドキュメントは常にコンピューターで生成・印刷されるため、手書きやドキュメントの破損は稀です。ただし、Boletoが物理的に取り扱われた場合(折り曲げ、破れ、汚れなど)でも、バーコードまたは可読行が無傷であれば、AIは部分的に隠れたフィールドを読み取ることができます。最も一般的な品質の問題は印刷のかすれや低コントラストですが、抽出はクリーンなドキュメントと同じ精度でこれらを処理します。
PDFではなくBoleto XMLからデータを抽出できますか?
一部の銀行は、APIを通じてBoletoデータをXMLまたはJSONで提供しています。これらのファイルにプログラムでアクセスできる場合、構造化データの抽出は、PDF/画像からの視覚的な抽出とは異なるプロセスになります。この記事で説明する方法は、Boletoを視覚的なドキュメント(PDF、スクリーンショット、印刷されたスキャン)として受け取る場合のためのものです。これは、すべてのブラジルの銀行と直接統合していない受取人が関与する国境を越えたB2B取引において、依然として主流のパターンです。
ボレトがBRL以外の通貨で発行されることはありますか?
事実上すべてのボレトはブラジルレアル(BRL)建てです。44桁のバーコードの4桁目にある通貨コードは、BRLの場合は常に9です。FEBRABANの規格では技術的に他の通貨コード(米ドル商用は2、ユーロは14)もサポートされていますが、実際には非常に稀であり、標準的なB2Bボレト処理で遭遇することはほぼありません。
あなたが処理するすべてのボレトに共通するパターンは、標準化です。44桁のバーコード、固定されたフィールド構造、そしてすべてのデータの位置を正確に定義する規制された銀行システム。不足しているのはデータではありません。不足しているのは、その標準化された形式を、あなたの照合用スプレッドシートの行に変換する作業です。セマンティック抽出は、フィールドがどこに現れるかを予測するのではなく、各フィールドの意味を理解することで、その変換作業を完全に排除します。ボレトがBanco do Brasil、Bradesco、または決済プラットフォームのスクリーンショットのいずれから来たとしても関係ありません。