W-2 PDFからすべての項目を抽出 — 連邦・州のBoxを別々の列に解決
W-2フォームでは、同じ行にラベル文字と数値の両方が存在し、連邦セクションと州セクションの両方に同じBox 1ラベルが異なる金額で存在します。テンプレートベースのOCRではこれらが1つの列に混在してしまいます。このAIはセクションの文脈を理解して「連邦賃金Box 1」と「州賃金Box 16」を区別し、1フォームあたり5〜10秒で抽出します。
Enterprise-grade security · TLS 1.3 encrypted
W-2フォームから抽出できる項目
必要な列名を入力するだけで、AIが各W-2の値を意味と所属セクションから理解して特定します。ボックス番号の一致だけに依存しません。同じ列定義が、ADP、Paychex、Gusto、QuickBooks Payroll、およびスキャンした紙のコピーのW-2全体で機能します。
雇用主・従業員情報
連邦の賃金・税金(Box 1〜6)
州・地方の賃金+Box 12コード
これは網羅的なリストではありません。W-2に含まれる任意のフィールド名を入力してください。AIがドキュメントを読み取り、要求された項目を特定します。
W-2が標準化されている理由と、ボックス単位の抽出が依然として難しい理由
すべてのW-2はIRSが定めた同じレイアウトに従っています。上部に雇用主ブロック、その下に従業員ブロック、そして連邦賃金、社会保障、メディケア用の番号付きボックス、下部に州のセクションがあります。このフォームはすべての雇用主で一貫しています。課題はレイアウトの違いではなく、同じ視覚パターンが同じフォームの異なる2つのセクションに現れ、異なる意味と異なる金額を持つことです。
問題点
すべてのW-2ボックスには、小さなラベル文字(a、b、c...)、説明文のラベル、数値が1行にまとめて印刷されています。たとえば、Box 1には「1 Wages, tips, other compensation」と金額が記載されています。Box 2には「2 Federal income tax withheld」と記載されています。スキャンしたW-2を読み取る従来のOCRエンジンは、これを「1 Wages tips other compensation 75231.00 2 Federal income tax withheld 11348.75」のようなフラットなテキストの流れとして扱います。ラベル、ボックス番号、金額の関連性が失われ、後続のツールは各ボックスの値がどこで終わり、次のラベルがどこから始まるかを推測する必要があります。これが、汎用のPDF変換ツールでスキャンしたW-2をExcelにインポートすると列がずれる理由です。変換ツールは「1」と「$75,231.00」のペアが単一のデータポイントを形成することを理解していないからです。
これが中核となる抽出の落とし穴です。W-2には、フォーム中央の連邦賃金セクション(Box 1~14)と、下部の州賃金セクション(Box 15~20)があります。両セクションには金額ボックスとラベルがあり、それらのラベルは構造的に同一に見えます。つまり、小さな文字がボックス内にあり、その後にラベル、金額が続きます。ある州に住み、別の州で働く従業員の場合、Box 1の連邦賃金は$75,000で、Box 16の勤務州の州賃金は$28,000かもしれません。テキストパターン「wages」やボックス番号「1」のみに一致するテンプレートベースのOCRツールは、どのセクションを読み取っているかを区別できず、最初に遭遇した「wages」の値を無差別に抽出します。ツールが連邦の数値を取得して「州」とラベル付けした場合(またはその逆)、後続の税務申告は明らかなエラー表示なしに誤ったものになります。r/taxprosの税理士はこの正確な問題を説明しています。W-2に連邦セクションと州セクションの両方の値が含まれている場合、抽出ツールが「所得の一部を見逃したり、所得金額が異なったりする」という問題です。
年間に2つの州で働いた従業員は、下部に州ごとの賃金セクションが2つ重なったW-2を受け取ります — 各州に1つずつです。各セクションは同じボックス番号(15、16、17)を使用しますが、州ID、賃金合計、源泉徴収額はそれぞれ異なります。1つの州セクションを処理する座標ベースの抽出テンプレートでは、2つ目を完全に見逃します。ボックス番号だけで照合するツールはBox 16を2回抽出し、どの値がどの州に属するかを判別できません。
カスタム列抽出がこれを解決する方法
カスタム列抽出 — ImageToTable.aiの中核メカニズム — はW-2を一次元の文字列として扱いません。人間の税理士と同じように、空間的なレイアウトを理解してフォームを読み取ります。ボックス内の小さな数字表記、その隣にある説明ラベル、ラベルの隣にある数値は、一つの単位としてまとめて読み取られます — 単一のボックス値ペアです。「Box 1 Wages」という名前の列を定義すると、AIは「1」のボックスマーカーを特定し、その行をたどって隣のドル金額を読み取り、そのペアを1つのデータセルとして出力します。「Box 2 Federal Tax」という名前の列には、次の行の「2」マーカーに対応する値が割り当てられます — Box 1やBox 3の値ではありません。各ボックスは、OCRテキストの流れの中での正規表現による数値境界の推測ではなく、フォーム上の空間的な位置によって分離されます。
AIは、連邦賃金セクションがフォームの上部中央に位置し、州賃金セクションがその下に水平線で区切られて配置されていることを理解しています。「Box 1 Wages」を連邦セクション用、「Box 16 State Wages」を州セクション用として別々の列を定義すると、AIは各値をフォームのそれぞれのセクション内で特定します。最初に見つかった「wages」の値や、座標アンカーに最も近い値を返すことはありません。連邦セクションを読み取ってボックスマーカー「1」の横のドル金額を探し、州セクションを別途読み取ってボックスマーカー「16」の横のドル金額を探します。2つの値は、出力されるExcelの異なる2つの列に格納されます — 混同も上書きもありません。このセクションコンテキストの読み取りにより、$75,000の連邦賃金が後続の税務申告で誤って州賃金として報告されるのを防ぎます。
カリフォルニア州とオレゴン州のセクションがあるW-2の場合、「State 1 ID」「State 1 Wages (Box 16)」「State 1 Tax (Box 17)」「State 2 ID」「State 2 Wages (Box 16)」「State 2 Tax (Box 17)」のような列を定義します。AIは各州セクションを独立して読み取り、正しいState ID(Box 15の2文字の略称)を対応する賃金・税額の値と関連付けます。各州のデータは正しい列グループに入力されます — カリフォルニア州の賃金はState 1列、オレゴン州の賃金はState 2列 — 抽出後の手動での並べ替えは不要です。同じアプローチは、地方税ボックス(18〜20)が存在する場合にも適用されます。
W-2 PDFの山から1枚の照合スプレッドシートへ:仕組みをご紹介
複数クライアントの給与照合、年末調整、W-3提出、従業員オンボーディングのデータ入力などでW-2を処理する場合、アップロードから検証済み出力までのワークフローは以下のとおりです。連邦・州の判別もプロセスに組み込まれています。
W-2 PDFをアップロード — 1名でも50名でも、デジタルでもスキャンでも対応
ADP、Paychex、Gusto、QuickBooks Payroll、Paylocityなど、あらゆる給与システムのW-2 PDF、または従業員から紙で受け取ったW-2をスキャンしたものをドロップするだけで対応します。このツールはPDF、JPG、PNG、WebPに対応しています。W-3提出前に全従業員分のW-2を処理する場合は、すべてを一度にアップロードしてください。バッチ処理は単一ジョブですべてのファイルを処理し、各従業員のフォームが統合出力の1行になります。リモート勤務の従業員からW-2を収集する場合は、コレクションリンクを生成します。これは共有可能なURLで、各従業員が短い確認コードを入力して自分のW-2 PDFを処理キューに直接アップロードでき、相手側での登録やログインは不要です。
必要な列名を入力 — AIが連邦値と州値を自動的に区別します
必要なフィールドを入力してください。「従業員名」「従業員SSN」「雇用主名」「雇用主EIN」「Box 1 賃金」「Box 2 連邦税」「Box 3 社会保障賃金」「Box 4 社会保障税」「Box 5 Medicare賃金」「Box 6 Medicare税」「Box 15 州ID」「Box 16 州賃金」「Box 17 州税」。AIは各W-2のレイアウトを読み取り、連邦セクションのBox 1の値を「Box 1 賃金」列に、州セクションのBox 16の値を「Box 16 州賃金」列に返します。この2つを混同することはありません。複数州のW-2の場合は、2番目の州の列グループを追加します。「州2 ID」「州2 賃金(Box 16)」「州2 税(Box 17)」。社会保障税とMedicare税の源泉徴収が期待される率と一致するかを検証するために「FICAチェック(Box 4 + Box 6)」のような計算列を追加するか、社会保障するか、社会保障賃金とMedicare賃金の差を検出するために「賃金チェック(Box 3 - Box 5)」を追加します。毎年の税シーズン処理のために、ログイン後に列設定をテンプレートとして保存できます。
統合Excelをダウンロード — 各従業員が1行、すべてのボックス値が正しい列に
各W-2は出力スプレッドシートの1行になります。データはリクエストどおりに整理されます。従業員名は1つの列、雇用主EINは別の列、Box 1 賃金とBox 2 連邦税は隣り合わせ、社会保障とMedicareのボックスはグループ化され、州レベルの値は独自の列グループに配置されます。80名分の従業員W-2のバッチを処理した場合、80行(従業員ごとに1行)が生成され、要求されたすべてのフィールドが整列されます。ファイルはXLSX、CSV、またはJSONとしてエクスポートされ、QuickBooks、Drake Tax、UltraTax、ProSeries、またはその他の税務申告ソフトウェアへのインポート、または給与システムの集計合計に対するW-3照合の準備が整います。
最適な用途と結果の確認が必要な場合
最適なケース
あらゆる給与計算プロバイダーが発行する標準的なIRS形式のW-2。 ADP、Paychex、Gusto、QuickBooks Payroll、PaylocityなどのデジタルPDFは高い精度で抽出できます。IRSが定めるW-2形式は、どの給与計算システムで生成された場合でも同じです。フォームのレイアウトが固定されているため、プロバイダー間でフォーマット別テンプレートを用意することなく、列名の抽出が同じように機能します。
単一州および複数州のW-2。 州セクションが1つのW-2でも、Box 15〜17が州ごとに繰り返される3州分のW-2でも、同様に高精度で抽出できます。AIが各州セクションを個別に読み取り、各州IDを賃金・税額の値と対応付けます。地方税ボックス(18〜20)がある場合も含まれます。
W-2/W-3作成のための従業員データの一括処理。 全従業員分のW-2を1つのバッチでアップロードできます。各従業員のフォームは出力Excelの1行になり、W-3照合、税務申告ソフトウェアへのインポート、HRISへの従業員データ移行にそのまま利用できます。従業員自身にW-2をアップロードしてもらう場合は、コレクションリンクを送信します。
注意が必要な場合
元の値と修正値を並べて表示する修正W-2cフォーム。 修正W-2cは標準のW-2とは異なるレイアウトで、各ボックスにColumn A(以前に報告された値)とColumn B(修正後の金額)が表示されます。AIは両方の値を抽出しますが、列名を明示的に定義しない限り、それらを「元の値」と「修正値」として自動的にラベル付けすることはありません。提出前に、どの列が出力に入ったかを確認してください。
従業員控えにおけるSSNの一部マスク。 一部の給与計算プロバイダーは、従業員発行の控えでSSNの最初の5桁を伏せ字にしています(XXX-XX-1234)。抽出では表示されている数字のみが取得されます。提出や本人確認のために完全なSSNが必要な場合は、雇用主控えまたは別の情報源から完全な番号を入手する必要があります。このツールはマスクされた数字を再構築したり推測したりしません。
大きく傾いた、または低解像度でスキャンされたW-2。 フラットベッドスキャナーで200 dpi以上でスキャンされた紙のW-2は、確実に抽出できます。斜めから撮影したW-2の写真、ボックス欄に影がかかった暗い場所でのスマホ写真、コピーのコピーなどは、特にボックス番号が密集した欄で「3」と「8」や「5」と「6」が低解像度で視覚的に判別しにくくなるため、精度が低下する可能性があります。可能な場合は200 dpi以上でスキャンしてください。スマホ写真の場合は、カメラをフォームの真上に置き、照明を均一にしてください。
よくある質問
連邦のBox 1と州のBox 16が同じ数字と文字のパターンでラベル付けされている場合、AIはどのように区別するのですか?
これはあらゆるW-2フォームにとって中心的な抽出課題です。標準的なW-2には、連邦賃金セクション(Box 1〜14)と州賃金セクション(Box 15〜20)がページの異なる2つの領域に印刷されています。両セクションにはボックスラベルとそれに続く金額があり、視覚的なパターンは同一です — 小さな数字、ラベル、金額の順です。AIはボックス番号だけで抽出するのではありません。フォームの2次元構造を読み取ります:連邦セクションがフォームの上部中央領域を占め、州セクションがその下にあることを理解しています。「Box 1 Wages」を列名として入力すると、AIは連邦セクションを読み取り、Box 1の横にある金額を探します。「Box 16 State Wages」と入力すると、AIは州セクションを読み取り、Box 16の横にある金額を探します。2つの値 — 完全に異なる数字の場合もあります — は出力の異なる2つの列に配置されます。「wages」というテキスト文字列を探したり、ボックス座標に一致させたりするテンプレートベースのOCRツールではこの区別ができず、2つの値を混同することがよくあります。
同じW-2に複数のコードがある場合、すべてのBox 12エントリを抽出できますか?
はい。W-2には最大4つのBox 12エントリ(a、b、c、dとラベル付け)を含めることができ、それぞれが1〜2文字のコードと金額で同じ視覚的な行に構成されています。「Box 12a Code」「Box 12a Amount」「Box 12b Code」「Box 12b Amount」のような列を定義すると、AIは各コード文字とそれに対応する金額を1つの単位として読み取り、両方を正しい出力列にルーティングします。これは一般的なすべてのBox 12コードで機能します:D(401(k)選択的繰り延べ)、E(403(b)選択的繰り延べ)、DD(雇用主提供の健康保険費用)、およびあまり一般的でないコード(AA(指定ロス貢献)やBB(指定ロス403(b)貢献)など)も含みます。W-2にBox 12エントリが2つしかない場合、その従業員の出力行では12cと12dの列は空のままとなり、無関係なデータが取り込まれることはありません。
手書きまたは部分的に手書きのW-2フォームは処理できますか?
AIはW-2フォームの手書き数字を読み取りますが、精度は手書きの明瞭さに依存します。ペンで明確に印刷されたブロック体の数字はかなり正確に抽出されます — きれいに書かれたBox 1の「$42,500」は$42,500として読み取られます。小さく密集した手書き、筆記体の数字、または隣接するボックスフィールドにはみ出す数字は精度を低下させる可能性があります。手書きのW-2の場合、Box 1 Wages、Box 2 Federal Tax、Box 3 Social Security Wages、Box 16 State Wagesを元のフォームと照合して確認してください — これらは税務申告において最も影響の大きいフィールドです。フォームのグリッド線は、AIが手書きの値がどのボックスに属するかを区別するのに役立ちます。そのため、きれいに記入されたW-2フォームは、白紙のシートへの手書きメモよりも確実に抽出できます。
50人以上の従業員のW-2を一括処理し、従業員ごとに1行の出力を得ることはできますか?
はい、可能です。これは多くのユーザーがW-2を大規模に処理する際の標準的な方法です。従業員ごとに1ファイル(例:50人の従業員に対して50個のPDF)をアップロードするか、全従業員のW-2を1つの文書に連結した複数ページのPDFをアップロードしてください。列を一度定義するだけで(従業員名、従業員SSN、雇用主EIN、Box 1 賃金、Box 2 連邦税、Box 3 社会保障賃金、Box 4 社会保障税、Box 5 メディケア賃金、Box 6 メディケア税、Box 16 州賃金、Box 17 州税)、AIが各従業員のフォームを個別に抽出します。出力は1つの統合Excelファイルで、従業員ごとに1行、すべてのフィールドが整列されます。複数州のW-2を持つ従業員がいる場合、その行には定義した追加の州列が含まれます。統合されたスプレッドシートはW-3照合用にすぐ使えます:Box 1 賃金列を合計して給与システムの合計と比較し、Box 2 連邦税列を941預金と照合し、個々の従業員の異常値をスポットチェックできます。
機密性の高いW-2データ(社会保障番号、雇用主EIN)は処理中に安全ですか?
はい、安全です。すべてのW-2ファイルのアップロードとデータ転送はTLS 1.3暗号化接続を介して行われます。ファイルは分離された環境で処理され、変換完了後にサーバーから自動的に削除されます。当社はお客様の文書を保持せず、抽出したデータにアクセスせず、アップロードされたコンテンツをAIモデルのトレーニングに使用することもありません。本ツールは処理のためにデータを第三者サービスに送信しません。すべての抽出は当社のインフラストラクチャ内で行われます。多数のクライアントのW-2を処理する会計事務所にとって、各クライアントのデータは処理ジョブごとに分離され、完了時に消去されることを意味します。追加のコンプライアンス文書が必要な場合は、データ処理契約についてサポートチームにお問い合わせください。