レシートからのテキスト抽出(OCR.spaceテーブル認識使用)
中級
これはInvoice Processing, Multimodal AI分野の自動化ワークフローで、9個のノードを含みます。主にSet, Form, FormTrigger, HttpRequestなどのノードを使用。 領収書からテキストを抽出するOCR.spaceテーブル認識の使用
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "51c6a64ef13fda2e6aa96576c25d72519ca4bc44cea9da20af60a642b594d835"
},
"nodes": [
{
"id": "0663af99-4977-4723-828d-d5e5725d036a",
"name": "トリガー • OCR用画像アップロード",
"type": "n8n-nodes-base.formTrigger",
"position": [
576,
288
],
"webhookId": "64016fb2-7c40-4bd4-bf2a-7dacc23d3a7a",
"parameters": {
"options": {},
"formTitle": "Receipt OCR",
"formFields": {
"values": [
{
"fieldType": "file",
"fieldLabel": "File (Max 1MB)",
"multipleFiles": false,
"requiredField": true
},
{
"fieldType": "radio",
"fieldLabel": "Is it a table",
"fieldOptions": {
"values": [
{
"option": "Yes"
},
{
"option": "No"
}
]
},
"requiredField": true
}
]
},
"formDescription": "Upload an image to extract text via OCR.\nMax file size: 1 MB"
},
"typeVersion": 2.3,
"alwaysOutputData": false
},
{
"id": "815fc903-a65e-46a5-8177-a0cf8d40aa01",
"name": "準備 • 入力の正規化",
"type": "n8n-nodes-base.set",
"position": [
832,
288
],
"parameters": {
"options": {
"stripBinary": false
},
"assignments": {
"assignments": [
{
"id": "c454bde2-a211-448e-ac21-e044044915f6",
"name": "isTable",
"type": "string",
"value": "={{ ($json[\"Is it a table\"] ?? $json.Is_it_a_table) === \"Yes\" }}"
},
{
"id": "07545925-b27a-4471-a5d0-93abc740acf6",
"name": "File (Max 1MB)",
"type": "object",
"value": "={{ $json['File (Max 1MB)'] ?? $json.File__Max_1MB_ }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "baf07380-1179-4077-9c7f-07c92e65bee5",
"name": "OCR.space • 画像解析",
"type": "n8n-nodes-base.httpRequest",
"position": [
1088,
288
],
"parameters": {
"url": "https://api.ocr.space/parse/image",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "language",
"value": "pol"
},
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "File__Max_1MB_"
},
{
"name": "OCREngine",
"value": "2"
},
{
"name": "isTable",
"value": "={{ $json.isTable }}"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "lqCRwWbcuW6VTaIz",
"name": "ocr.space"
}
},
"typeVersion": 4.2
},
{
"id": "3e1fe87f-e776-469d-bae4-f76de5032ec3",
"name": "表示 • OCRテキスト表示",
"type": "n8n-nodes-base.form",
"position": [
1344,
288
],
"webhookId": "f85368ca-28f1-4c49-bc12-1801c5f8a6b7",
"parameters": {
"options": {
"customCss": ".card {\n\tposition: relative;\n\tmax-width: 500px;\n\tmargin: 20px auto;\n\tpadding: 20px;\n\tbackground: #fefefe !important;\n\tborder-radius: 12px;\n\tbox-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);\n\tfont-family: 'Courier New', monospace;\n\tcolor: #1f2937;\n\tfont-size: 16px;\n\tline-height: 1.6;\n\twhite-space: pre-wrap;\n}\n\n.header p { text-align: left; }\n\n@media (max-width: 768px) {\n\t.card { margin: 10px !important; padding: 15px !important; font-size: 14px; }\n}\n",
"formTitle": "OCR Result"
},
"operation": "completion",
"completionTitle": "OCR Result",
"completionMessage": "={{ $json.ParsedResults[0].ParsedText }}"
},
"typeVersion": 2.3
},
{
"id": "ba102eff-44a3-48f3-bf37-2c4db27fa1a0",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
96
],
"parameters": {
"height": 176,
"content": "### 📌 What this flow does \nUpload a receipt image → select if it’s a table → OCR.space parses it → result displayed in a styled card."
},
"typeVersion": 1
},
{
"id": "4c2f78c5-f0f1-40b8-a776-8fd846ec6922",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
512,
96
],
"parameters": {
"height": 400,
"content": "### 🔹 Trigger • Upload image for OCR \nPublic form that collects the image (≤1 MB) and asks if the content is a table."
},
"typeVersion": 1
},
{
"id": "f9d0e10c-466b-4456-9f89-2d50e4a1cf46",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
752,
96
],
"parameters": {
"width": 256,
"height": 400,
"content": "### 🔹 Prepare • Normalize inputs \nConverts the radio field (“Yes/No”) into a true/false `isTable` flag. Keeps the uploaded file attached."
},
"typeVersion": 1
},
{
"id": "36621099-7926-463a-a36d-f185cbfb8b82",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
96
],
"parameters": {
"width": 256,
"height": 400,
"content": "### 🔹 OCR.space • Parse image \nSends file + options to OCR.space API. \nLanguage = `pol`, Engine = `2`, passes `isTable`. \n⚠️ Needs API key (header auth)."
},
"typeVersion": 1
},
{
"id": "70f2a795-2c1c-4265-b5d2-af8af703814c",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1264,
96
],
"parameters": {
"height": 400,
"content": "### 🔹 Display • Show OCR text \nShows parsed text from `ParsedResults[0].ParsedText` inside a clean, monospace card for easy copy-paste."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"baf07380-1179-4077-9c7f-07c92e65bee5": {
"main": [
[
{
"node": "3e1fe87f-e776-469d-bae4-f76de5032ec3",
"type": "main",
"index": 0
}
]
]
},
"815fc903-a65e-46a5-8177-a0cf8d40aa01": {
"main": [
[
{
"node": "baf07380-1179-4077-9c7f-07c92e65bee5",
"type": "main",
"index": 0
}
]
]
},
"0663af99-4977-4723-828d-d5e5725d036a": {
"main": [
[
{
"node": "815fc903-a65e-46a5-8177-a0cf8d40aa01",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - 請求書処理, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Vision APIとLLMを使用した自動領秤収集とデータ抽出
Google Vision OCR、Gemini LLM、Google Sheetsを使って領収書データを抽出・構造化する
Set
Code
Telegram
+
Set
Code
Telegram
17 ノードBudi SJ
請求書処理
段階のなドキュメント承認と監査ワークフロー
Supabase と Gmail を使ったマルチレベルワークフローのドキュメント approval の自動化
If
Set
Form
+
If
Set
Form
38 ノードAlok Kumar
文書抽出
自動化されたプレゼンテーション予約システム
Outlook カレンダーと Zoom を統合した自動化によるプレゼンテーション予約システム
If
Set
Code
+
If
Set
Code
21 ノードAureusR
その他
TransferNowを使って自動のに大容量ファイルを送信
大ファイルをTransferNowで自動アップロードして送信
If
Set
Code
+
If
Set
Code
19 ノードDavide
コンテンツ作成
Sora 2
OpenAI Sora 2を使ってAIビデオを生成し、Googleドライブにアップロード
Set
Form
Wait
+
Set
Form
Wait
21 ノードJuan Cristóbal Andrews
コンテンツ作成
ナノ🍌
OpenRouterを通じてGemini AIを使用してファッションモデルのプロダクト広告を生成
Set
Code
Form
+
Set
Code
Form
10 ノードZakwan
コンテンツ作成