# 領収書・請求書の読み取り｜写真から確認できるレポートへ

写真を読み取り、入力内容と切り抜きを確認してから、各金額と合計を圧縮画像と一緒にメールへ渡します。

> 領収書や請求書の写真を端末上で読み取り、切り抜きと金額を確認します。手入力またはオンラインの過去レートで共通のメール用通貨に換算し、圧縮画像・各金額・総合計をメールへ渡せます。

写真は端末上で読み取ります。任意の過去レート検索では、通貨と指定した日付だけをFrankfurterに送信します。メールと共有は、利用者が選んだアプリへの意図的な受け渡しです。

## 写真は**手元の端末で読み取ります**。オンラインのレート検索は任意です。メールや共有に渡す内容は、ご自身で選びます。

写真のデコードと読み取りは、手元の端末で行います。OCRエンジンと英語の言語データはこのページに含まれ、OCRのために写真や抽出した情報をアップロードすることはありません。手入力の為替レート、レポートのコピー、保存も端末上で行います。「過去のレートを取得」を押したときだけ、2つの通貨コードと指定した日付を[Frankfurter](https://frankfurter.dev/)に送信します。サービスにはリクエストとIPアドレスが伝わりますが、画像・金額・OCRの文字・ファイル名・メールアドレスは送りません。メールと共有は、その後にご自身で行う操作です。ボタンを押すと、レポートや選んだファイルが端末のアプリに渡ります。宛先を選び、渡す内容を確認して、ご自身で送信してください。

- ✗ 処理のためのアップロードなし
- ✗ 登録なし
- ✓ オフラインでOCR
- ✓ すべての書類を確認
- ✓ 自分のアプリから送信

## 写真から領収書や請求書の詳細を読み取る手順

1. **鮮明な写真を選びます。** JPEG・PNG・WebP・AVIF画像を最大20枚、各20MBまで追加できます。画像1枚につき、領収書か請求書を1つ入れてください。OCRが対応するのは英語の印刷文字です。書類全体を均一な明るさで撮影し、文字を正しい向きにして鮮明に写してください。
2. **読み取り、切り抜き、比較を行います。** OCRを実行し、各写真を提案された入力内容と読み取った文字の横で確認します。横向きの画像は必要に応じて回転し、もう一度読み取ってください。書類のすべての端と文字が残るように切り抜きを調整し、その範囲を読み取り直します。店舗名・日付・番号・通貨・合計を修正してください。店舗名や番号は、信頼できる読み取りができなければ空欄のままでも構いません。特に最終合計を、小計・割引・預かり金・お釣り・税額・未払い残高と区別してください。
3. **各書類を確認済みにします。** 入力内容・切り抜き・換算を確認します。書類に印字された通貨を選んでから、すべての書類に共通のメール用通貨を選んでください。各為替レートは手入力するか、オンライン検索を選んで領収書の日付を確認し、「過去のレートを取得」を押します。書類の通貨1単位がメール用通貨でいくらになるか、方向が表示されます。同じ通貨の書類にはレート1を使います。確認済みの換算額だけが総合計に入ります。同じ領収書を2回数えないよう、重複した写真を削除してください。
4. **レポートを自分のアプリに渡します。** 用意されたJPEGのプレビューとサイズを確認してください。「画像を添えてメール」で対応するメールアプリを選ぶか、レポートとJPEG添付を含むメールファイルを保存します。内容を確認し、ご自身で送信してください。アプリがメールファイルを開けない場合は、ZIPを保存して展開し、新しいメールに画像とCSVを添付します。

## 詳しい解説

[写真から領収書や請求書の詳細を読み取る](https://abox.tools/ja/guides/extract-receipts-and-invoices/): 領収書のOCRと切り抜きを確認し、共通のメール用通貨と手入力または過去の為替レートを選ぶ手順。各換算額・書類数・総合計と圧縮画像をメールへ渡します。

## 箱の中のほかのツール

- [画像→PDF変換ツール](https://abox.tools/ja/images-to-pdf/): 手元の画像を、1つの書類にまとめます。
- [書類スキャナー](https://abox.tools/ja/document-scanner/): 紙を撮ってください。スキャンしたように見えるものが返ります。
- [動画から音声を抽出](https://abox.tools/ja/extract-audio-from-video/): 動画を置けば、音だけが取り出せます。映像は一度も復号されず、何もアップロードされません。
- [音声の切り出し](https://abox.tools/ja/trim-audio/): 再生しながら残したい場所に印を付けます。印の付いた分が1つのファイルになって、指定どおりの位置で切れて戻ってきます。

## よくある質問

### どの領収書や請求書も正しく読み取れますか？

いいえ。OCRは数字を取り違えたり、薄い印字・小さな文字・装飾された店舗ロゴを読み落としたりすることがあります。解析では割引や預かり金を示す項目を避けますが、OCRで読めなかった項目名は使えません。信頼できる候補がなければ、店舗名や番号は空欄になります。店舗名が見つからない場合や、ドル・円の通貨が特定できない場合は、店舗の見出しを拡大して読み取ることもあります。その結果は別に表示し、店舗名と住所に基づく通貨の候補にだけ使います。読み取りが不確かだったり、金額や日付が見つからなかったりすると、印字と紙を区別しやすくするため、局所的にコントラストを調整して2回目の読み取りを行うことがあります。書類全体の両方の読み取り結果を比較できます。金額・日付・番号・通貨の不一致が解決しなければ、その欄を空欄にして手入力を求めます。印字された通貨を住所からの推測より優先し、認識できた領収書や請求書の日付を、付属するカード決済記録の日付より優先します。候補が改善することはありますが、ぼけで失われた詳細を復元したり、正しい結果を保証したりはできません。書き出す前に、すべての候補を写真と見比べ、各書類をご自身で確認してください。このツールは明細行を抽出せず、請求書の計算の正しさも証明しません。

### 1枚の画像に複数の領収書を入れられますか？

画像1枚につき、領収書か請求書を1つにしてください。各画像を1書類として扱い、複数の領収書やテンプレートの一覧を分割することはありません。各書類を別の画像や切り抜きとして追加し、識別に必要な情報と最終金額が見えるようにしてください。そうしないと、複数の領収書の文字が1つの候補に混ざることがあります。

### 日付や通貨記号はどう解釈されますか？

書類の日付は印字どおりに保持します。オンラインの為替レートを使う場合は、日付を確認して、別の換算日欄で選んでください。24/09/2018のような日付は、そこに自動変換されません。ポンド記号はGBPの候補になります。ドル記号だけではUSD・CAD・AUDなどのどれかは分かりません。最終合計に対応する印字の通貨を優先します。通貨が不明な場合は、店舗自身の住所にある国名や、特徴的な郵便番号と地域から候補を提案することがあります。その住所の印字を候補の横に表示します。都市名だけ、または顧客・配送先・銀行の住所だけでは不十分です。曖昧さや矛盾が解決しなければ通貨欄は空欄になります。位置情報の検索はしません。すべての候補コードを書類と照合してください。

### どのファイルや言語を読み取れますか？

JPEG・PNG・WebP・AVIF写真を、1回に最大20枚、1ファイル20MBまで読み取れます。含まれるOCRモデルは英語の印刷文字を読み取ります。ほかの文字体系・手書き・PDF・HEICファイルは、このツールの入力として対応していません。iPhoneのHEIC写真は、写真アプリかこのサイトのHEIC変換ツールで先にJPEGにしてください。

### 書類数と合計は何を表しますか？

写真1枚を1書類として数えます。各書類には元の金額と、共通のメール用通貨での換算額を表示します。総合計は、確認済みの換算額をそれぞれ小数第2位まで丸めてから加えます。レポートには元の通貨ごとの合計も残します。メールと添付ファイルの保存には、すべての書類の確認が必要です。重複した写真は、どちらかを削除しない限り2回数えます。

### メールのボタンを押すと自動で送信されますか？

いいえ。対応する端末では、レポートと圧縮JPEGコピーを共有画面に渡します。そこでメールアプリを選んでください。対応していない場合は、レポートと添付ファイルを含むメールファイルを保存します。提案する件名には書類数を含め、すべての書類が確認済みになると、メール用通貨での総合計も加えます。件名を編集すると、その表現を維持します。宛先・本文・添付を確認し、ご自身で送信してください。このページは、メールアプリが内容を受け取ったか、最終的にメールを送信したかを確認できません。

### 切り抜いた画像はメールファイルに添付されますか？

はい。保存する`.eml`ファイルには、レポートと、用意されたすべてのJPEGが添付されています。対応アプリは下書きとして開きますが、受信メールとして開き、転送や再送が必要になるアプリもあります。元の写真は変更せず、添付に使いません。手動で添付したい場合、ZIPにも同じJPEGとCSVが含まれます。どのブラウザも、すべてのメールアプリが下書きファイルや共有画面からの受け渡しに対応するとは保証できません。

### 既定のメール用通貨はどう選ばれますか？

有効な通貨コードがある各書類を1票として数えます。最も多いコードをメール用通貨に使い、同数なら現在の書類の順番で最初に現れたものを使います。未入力や不完全なコードは数えません。書類を読み取る・修正する・削除すると、既定値も更新します。メール用通貨を手動で選ぶと、その選択を維持します。「既定の通貨を使う」で自動選択に戻せます。メール用通貨が変わると、それまでの為替レートと確認済みの状態をリセットします。

### 一覧にない通貨を選べますか？

はい。「その他／独自のコード」を選び、書類の通貨やメール用通貨に3文字のコードを入力してください。メール用通貨を変えると、すべての書類に反映され、それまでのレートと確認済みの状態をリセットします。オンラインで検索できる範囲は、通貨の組み合わせと日付によります。過去のレートがなければ、手入力してください。最新のレートを代わりに使うことはありません。

### OCRのために写真をアップロードしますか？

いいえ。このページに含まれる英語データを使い、Tesseractがブラウザ内で読み取ります。コピーと保存は端末上で行う操作です。メールや端末の共有を選ぶと、選択した情報を意図的に別のアプリに渡し、その後の配信はそのアプリが行います。

### 高解像度の写真でも、読み取りがうまくいかないのはなぜですか？

大きな画像でも、反射・ぼけ・折り目・書類が遠くにあることが原因で、文字が見えなくなることがあります。OCR用には小さな切り抜きを最大3倍に拡大し、細い白枠を付けます。作業用コピーの長辺は2,400ピクセル以内に収めます。小さな文字の読み取りを助けることはありますが、写真に写っていない詳細は復元できません。1つの書類で画面を満たし、印字を鮮明に、均一な明るさで写してください。横向きの書類は、読み取り直す前に回転します。OCRのために元の画像やメール添付を拡大することはありません。

### オフラインでも使えますか？

ページとOCRリソースがキャッシュされた後は、読み取り・編集・切り抜き・手入力レートでの換算・集計・JPEGの準備・保存を使えます。オンラインの過去レート検索には接続が必要ですが、取得済みのレートは開いているタブで使えます。下書きを開く操作はオフラインでもできる場合があります。メールの配信には、通常アプリの接続が必要です。

### 過去のレートでは、領収書の日付をどう使いますか？

領収書に印字された日付を確認し、換算日欄に入力してください。曖昧な日付を推測することはありません。オンライン検索を選び、「過去のレートを取得」を押します。結果には実際の観測日を表示します。指定日にレートが公表されていなければ、指定日より前のことがあります。確認済みにする前に照合してください。代わりに、各書類のレートを個別に手入力することもできます。メールには、各換算額に使ったレート・取得方法・日付を記録します。

## この主張を確かめる方法

- **OCRは手元の端末で行います。** 写真に含まれるのは文字データではなくピクセルなので、読み取るにはOCRエンジンが必要です。このページは写真をサーバーに渡さず、Tesseractと英語の言語データを含んでいます。ブラウザは選んだファイルをメモリ内で読み取ります。このサイトは写真も抽出した情報も保存しません。エンジンとデータは配信時の圧縮前で約8MBあり、ツールと一緒にキャッシュされます。バージョン・元のファイル・[ライセンスは同じ場所に記載しています](https://abox.tools/ja/receipt-invoice-extractor/vendor/README.md)。
- **提案された金額は、ご自身で確認してください。** 薄れた数字、反射、下のほうにある小計が原因で、もっともらしい誤った答えが出ることがあります。店舗名・日付・番号・通貨・合計を画像と見比べ、修正し、書類全体が切り抜き枠内に収まっているか確認してください。合計に含まれるのは確認済みの書類だけです。メールや添付ファイルの保存を使うには、残っているすべての書類を確認する必要があります。入力内容・切り抜き・回転を変えた場合は、再確認が必要です。コピーしたレポートやCSVには、未確認と記された未完成の行が含まれることがあります。確認済みという記録は、ご自身が確認したことを示します。書類の計算が正しいという独立した証明ではありません。
- **メールへの受け渡しは、ご自身で管理します。** ファイル共有に対応する端末では、「画像を添えてメール」が圧縮JPEGコピーとレポートを含む共有画面を開きます。メールアプリを選び、そこで宛先・本文・添付ファイルを確認してください。対応していない場合は、レポートとすべてのJPEG添付を含むメールファイルを保存します。対応アプリは下書きとして開きますが、転送や再送が必要なアプリもあります。このページは送信を行いません。配信はメールアプリとメールサービスが、それぞれの設定に従って行います。
- **送信する画像は、切り抜いて圧縮したコピーです。** 領収書や請求書全体を残すように、各切り抜きを調整してください。書類の端が明確に見つかった場合は切り抜き範囲を提案し、見つからなければ画像全体を使います。長い色付きの領収書では、検出した端の外にも同じ紙色が続くと、その端まで画像を残すことがあります。少し背景を残すことで、見出しや最後の文字を保護します。提案を確認し、調整してください。長辺が最大1,600ピクセルのJPEGコピーを作り、1枚約350KBを目標にします。送信前にプレビューと表示サイズを確認してください。目標サイズは保証されません。元の写真は変更せず、添付にも使いません。メールアプリがメールファイルを使えない場合は、ZIPを保存して展開し、JPEGコピーとCSVをご自身で添付してください。
- **オンラインの為替レートは任意です。** 手入力のレートなら、準備のすべてをオフラインで行えます。オンライン検索を選ぶだけでは通信せず、書類の「過去のレートを取得」を押したときに開始します。元の通貨・メール用通貨・指定した日付だけをapi.frankfurter.devに送り、認証情報やリファラーは送りません。FrankfurterにはIPアドレスとリクエストが伝わります。取得したレートと観測日は書類の横とレポートに表示されます。参考レートのため、銀行やカードの請求で使うレートとは異なることがあります。取得できない場合は手入力してください。今日のレートを黙って代わりに使うことはありません。
- **レポートは、保存や共有をするまでこのタブにあります。** アカウントも書類の履歴もありません。確認中はページを開いたままにし、離れる前にレポートをコピーするかCSVを保存してください。ページを閉じたり再読み込みしたりすると、メモリ内の書類は失われます。コピー・保存したレポートや他のアプリに渡したレポートは、その場所に残ります。
- **このページのほかのスクリプトに渡すもの。** 広告・計測・寄付ボタンのスクリプトは、ほかのツールと同じように読み込まれます。写真・OCRの文字・ファイル名・店舗名・金額・書類数は、それらに渡しません。写真を読み取り、レポートを作るコードはこのサイトから配信され、リポジトリに掲載されています。
- **読み取りはオフラインで動き、配信はアプリに依存します。** ページのオフライン表示が準備完了になるまで待ってから、通信を切り、別の写真を読み取ってみてください。キャッシュされたOCRエンジン・確認フォーム・合計・コピー・JPEGの準備・手入力レートでの換算・保存は引き続き使えます。オンラインのレート検索には接続が必要です。メールアプリはオフラインで下書きを保存できる場合がありますが、実際の送信にはそのアプリが使う接続が必要です。

**自分で確かめてください。**以上のどれも、鵜呑みにする必要はありません。このページは、リポジトリにあるテンプレートと設定から、誰でも読んで実行できるビルドスクリプトが生成しています。その結果は`dist`ブランチに置いてあるので、配信されているものと、ソースをビルドした結果とを差分で比べられます。 https://github.com/A-Box-of-Tools/website

まず読むとよいのは、Content-Security-Policyについては`config/site.toml`、端末上のOCRを扱う`src/ocr.js`、確認とメール・共有への受け渡しを行う`src/main.js`、JPEGコピーを作る`src/attachments.js`、メールファイルを作る`src/email.js`、換算と任意の過去レート検索を行う`src/fx.js`、エンジンとそのライセンスを収めた`vendor/`です。レポートと添付ファイルはこのタブ内で組み立てます。メールアプリを選ぶか、メールファイルを保存して、ご自身で送信します。
