WeChat Payのスクリーンショット:
領収書ではない。それでも金額と取引番号を取得
一見すると、WeChat Payのスクリーンショットからデータを抽出するのは不可能に思えるかもしれません。請求書のレイアウトも、項目別の内訳も、税務IDもありません。支払い確認画面はチャットのスレッドに属しているように見え、スプレッドシートには向いていません。WeChatの取引画面を見つめながら、これが支払いの証明になるのか疑問に思ったことがある人なら、その直感は半分正しいでしょう。これは領収書ではありません。また、中国の正式な税務書類である発票(ファピアオ)でもありません。発票には12桁のコード、8桁のシリアル番号、政府発行の印鑑があり、法的に認められた唯一の支出証明です。しかし、ほとんどの人が実際に必要とする2つの数字、支払金額と取引番号は、スクリーンショットの中にそのままあります。そして、数字を1桁も打ち直すことなく抽出できます。

WeChat Payのスクリーンショットが実際に示すもの(そして示さないもの)
WeChatでレストラン、タクシー、または街角の店で支払いをすると、アプリは通知画面で取引を確認します。そこには加盟店名、取引金額(人民元)、支払い時刻、そして取引番号(WeChatのシステム内でこの特定の支払いを識別する長い数字列)が表示されます。画面に表示されるのはこれだけです。明細項目、税額の内訳、加盟店の登録住所、公式の印影は一切ありません。
正式な領収書(中国で「発票(ファピアオ)」と呼ばれるもの)には、これら欠けている要素がすべて必要です。WeChatのスクリーンショットと発票の差は、単なる書式の違いではありません。法的なカテゴリーの違いです。一方は支払い通知であり、もう一方は税務書類なのです。
両者の違いは次のとおりです。
| WeChatのスクリーンショットに表示されるもの | 正式な発票に必要なもの |
|---|---|
| 加盟店名 | 販売者の登録商号 + 納税者番号 |
| 取引金額(人民元) | 課税対象額と付加価値税(VAT)額を分けて表示 |
| 支払い時刻 | 請求書発行日 + 12桁の発票コード + 8桁の発票番号 |
| 取引番号 | 販売者の住所、電話番号、銀行口座情報 |
| 支払い方法(残高またはカード) | 購入者の納税者番号(控除に使用される特別VAT発票の場合) |
| — | 公式の赤い印影(发票专用章)またはデジタル署名に相当するもの |

ここでの要点は、WeChatのスクリーンショットが役に立たないということではありません。スクリーンショットと発票は目的が異なるということです。中国での法人経費精算のために税務控除可能な領収書が必要な場合は、発票が必要です。スクリーンショットだけでは、経理部門や税務当局を満足させることはできません。しかし、多数のWeChat取引にわたって自分の支出を追跡したり、支払った金額と請求された金額を照合したり、自分の会計のために個人的な支払い記録を維持したりする場合、スクリーンショットには必要なデータが正確に含まれています。問題は、それを効率的に取り出すことです。
「領収書ではない」ことが「抽出できない」ことを意味しない理由
WeChatのスクリーンショットは抽出できないという直感は、もっともな理由から来ています。これは構造化された文書ではないからです。従来のOCRツールは、文書に予測可能なレイアウトがあるという前提で作られています。請求書にはベンダー名のあるヘッダーと合計額のあるフッターがあり、OCRエンジンはそれらのゾーン内の既知の座標から文字を読み取ります。WeChatの支払い確認画面にはそのようなものは一切ありません。これはフラットなUI画面であり、金額、加盟店名、取引番号が通知スタイルのレイアウトに浮かんでいて、そのレイアウトはWeChatのバージョン、スマートフォンの画面サイズ、QRコードをスキャンしたかスキャンされたかによって異なります。
従来のOCRがここで失敗するのは、テキストが読みにくいからではなく、「これらの数字のどれが金額なのか」という問いに、どこを見ればよいかを示すテンプレートなしでは答えられないからです。
ここでアプローチが重要になります。視覚言語モデル — 現代の抽出ツールの背後にあるAIのタイプ — は、固定座標の文字をスキャンして文書を読み取るのではありません。テキスト、レイアウト、要素間の空間的関係、それらを結びつける文脈など、視覚入力全体を一度に処理します。VLMが「¥238.00」を支払い確認UIと同じ視覚フレーム内で見たとき — 上に加盟店名、下にタイムスタンプ、画面全体を包むWeChat Payヘッダー — この数字が取引金額であると認識します。商品価格でも、日付でも、電話番号でもありません。金額です。その区別は意味的であり、位置的ではありません。
これが位置ベースの抽出から意味的抽出への転換です。テンプレートは「ページのどこに金額フィールドがあるか」を問います。視覚モデルは「この画像のどの数字が支払われた金額を表しているか」を問います。2番目の問いは、どのレイアウトにも縛られないため、どのレイアウトでも機能します。WeChatのスクリーンショットでも、Venmoの確認画面でも、PayPalのチェックアウトページでも同じように機能します — 「支払われた金額」という概念はすべてに存在するからです。各アプリでピクセルの配置が異なっていても。
ImageToTable.aiに適用すると、このメカニズムはカスタム列抽出と呼ばれます。「金額」や「取引番号」など、必要なフィールド名を入力すると、AIが各フィールドの意味を理解して、スクリーンショット上のどこでも対応する値を特定します。入力した列名は出力スプレッドシートのヘッダーになります。スクリーンショットを1枚でも100枚でもアップロードしても、座標に依存しないため、抽出は同じように機能します。

重要な2つのフィールドを抽出する
WeChat Payのスクリーンショットを使った実際のワークフローは次のとおりです。画像をアップロードし、金額と取引番号の2つの列を定義します。AIがスクリーンショットをスキャンし、加盟店、支払い合計額、取引ID文字列を識別して、テーブルの行に配置します。10件の異なるWeChat支払い(異なる加盟店、異なる金額、異なる日付)のスクリーンショットをアップロードすると、1つのスプレッドシートに10行が作成され、各行に同じ2つの列が入力されます。

取引番号は、スクリーンショットを単なる記録から実際に活用できるものへ変えるフィールドであるため、より詳しく見る価値があります。すべてのWeChat Pay取引は、アプリ内の支払い詳細画面に表示され、多くのバージョンでは確認通知にも直接表示される一意の取引IDを生成します。この番号を使用して、アプリ内のWeChat取引履歴と支払いを相互参照したり、リンクされたカードで支払いが行われた場合は銀行明細と照合したりできます。これは、スクリーンショットを特定の検証可能な取引に結び付けるアンカーであり、金額とともにスプレッドシートに抽出されていれば、確認が必要なたびにフォトギャラリーと取引ログを行き来する必要はありません。
これらの2つのフィールドがスプレッドシートに入ったら、何ができるでしょうか。用途は明確で、特定のタイプの人に限定されるものではありません。おおよその見積もりではなく正確な数字で共有費用を分割する、1か月分のWeChat支払いを銀行明細と照合する、メールで別途届いた請求書に支払い記録を添付する、または単にいつ何が支払われたかの実行ログを保持するなどです。月に10件から20件を処理する場合、スクリーンショットごとに2つのフィールドを手動で入力する手間が省けるため、時間の節約はすぐに積み重なります。さらに重要なのは、取引番号は長い数字の文字列であり、手入力で間違えやすいことです。
明確に述べるべき実際の制限もあります。スクリーンショットが切り取られて取引番号が画像に表示されていない場合、AIはそれを抽出できません。データが存在しないからです。WeChatのバージョンによって支払い詳細の表示は若干異なり、金額はすべての確認画面に確実に表示されますが、取引番号は一部のUIバージョンでは完全な文字列を表示するために詳細ビューをタップする必要がある場合があります。抽出は提供されたスクリーンショットと同じだけの完全性しかありません。そして重要なのは、出力はスプレッドシートの行であり、税務書類ではないということです。このプロセスはWeChatのスクリーンショットを法的に有効な発票(ファピアオ)に変換するものではありません。すでに存在するデータを手動で転記する手間を省くだけであり、実際に判断が必要なワークフローの部分に時間を使えるようにします。
WeChatのスクリーンショットから取引詳細を抽出するステップバイステップの手順(完全な確認画面の外観と正しいキャプチャ方法を含む)については、WeChat Pay取引詳細ガイドでこの記事のハウツー版を参照してください。
FAQ
WeChat Payのスクリーンショットは経費精算において発票(ファピアオ)の代わりになりますか?
いいえ。中国では、発票(ファピアオ)のみが税控除対象の事業経費精算において法的に認められた書類です。WeChat Payのスクリーンショットは支払い確認であり、支払いを証明するものですが、発票(ファピアオ)を法的に有効にする税情報、公印、政府発行の請求書構造が欠けています。一部の企業は、発票(ファピアオ)と併せて支払いスクリーンショットを補足書類として受け付けています — Covington & Burlingの2024年の法令遵守ガイドは、中国で従業員経費を管理する企業に対し、この慣行を具体的に推奨しています(出典)。しかし、スクリーンショット単独では発票(ファピアオ)の代わりにはなりません。税務コンプライアンスが目的ではない個人の記録管理、照合、内部追跡においては、必要なデータを正確に提供します。
スクリーンショットがすべて中国語の場合、抽出は機能しますか?
はい。視覚言語モデルは、テキストが表示されている言語で処理します — 実際には、テキストの視覚的な外観をその意味とともに処理するため、中国語の文字は別のOCR→翻訳パイプラインではなく、ネイティブに処理されます。金額(¥記号付きの数字で表現)と取引番号(数字または英数字の文字列)は言語に依存しないフィールドです。中国語である可能性のある加盟店名も、そのまま抽出されます — これはデータフィールドであり、スプレッドシートで有用にするために翻訳する必要はありません。
このアプローチはAlipayや他の決済アプリでも機能しますか?
はい。同じ原則 — テンプレートマッチングではなく意味的抽出 — が、あらゆる決済アプリのスクリーンショットに適用されます。Alipay、Venmo、Zelle、Cash App、PayPal、Revolut、Wiseはすべて、同じ特徴を共有する支払い確認画面を生成します:それらはテーブルでも領収書でもありませんが、すべて金額と何らかの取引識別子を含んでいます。これらのプラットフォームのいくつかについて、個別のガイドを作成しています — Venmo、Zelle、Cash App、PayPal、Revolut、Wiseを含み、各プラットフォームの確認画面の詳細をカバーしています。基礎となるメカニズムはすべて同じです:必要なものを定義すれば、AIがそれを見つけ出します — ソースがどのようなものであっても。
WeChat Payのスクリーンショットは、この原則の極端なケースです。構造化された文書から最もかけ離れたもの — メッセージングスーパーアプリ内に埋め込まれた支払い通知 — ですが、重要な2つのフィールドは依然として抽出可能です。このアプローチがここで機能するなら、どこでも機能します。それが要点です。