Google Drive、VLM Run、Airtableを使ったレシート処理自動化による費用追跡

中級

これはMiscellaneous, AI Summarization, Multimodal AI分野の自動化ワークフローで、9個のノードを含みます。主にSet, Airtable, GoogleDrive, VlmRun, GoogleDriveTriggerなどのノードを使用。 Google Drive、VLM Run、Airtableを使って経費追跡レシート処理の自動化

前提条件
  • Airtable API Key
  • Google Drive API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "96d35e452e0d9a182973416b7532cfc5643239aaaa764a5bf74d52ca84f4a35c",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "d1334412-af92-48bd-a6bd-9046cf1b193c",
      "name": "🧾 ワークフロー概要",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 680,
        "content": "## 🧾 AI Receipt Data Extraction Workflow\n\n**Overview:**\nAutomates receipt processing for expense management. Upload receipts to Google Drive → VLM Run extracts data → Saves to airtable.\n\n**Key Features:**\n- 📁 Auto-monitors Google Drive folder\n- 🤖 Extracts merchant, amount, date, currency\n- 📊 Saves structured data to Airtable\n- 📱 Mobile-friendly uploads\n\n\n**Perfect for:**\n\n- Business expense reporting\n- Personal finance tracking\n- Accounting automation\n- Travel expenses\n\n\n**Requirements:**\n\n- VLM Run API from dashboard\n- Google Drive & Airtable OAuth2"
      },
      "typeVersion": 1
    },
    {
      "id": "61adceb3-a1de-4d37-814b-6bb1e99a4448",
      "name": "📁 入力処理ドキュメント",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 680,
        "content": "## 📁 Input Processing\n\n**Monitors & downloads receipt files from Google Drive.**\n\n**Process:**\n1. Watches designated Drive folder\n2. Auto-triggers on new uploads\n3. Downloads files for AI processing\n\n\n**Supported Formats:**\n- Images (JPG, PNG, WEBP)\n- PDF documents\n- Mobile camera uploads\n- Scanned receipts"
      },
      "typeVersion": 1
    },
    {
      "id": "83857d8b-460a-4e3f-8feb-10bd8d46c967",
      "name": "🤖 AI抽出ドキュメント",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        0
      ],
      "parameters": {
        "width": 400,
        "height": 680,
        "content": "## 🤖 VLM Run Receipt Extraction\n\n**Uses VLM Run node to extract structured data from receipt images/PDFs.**\n\n**Extracts:**\n- Merchant name\n- Customer info\n- Total amount\n- Currency\n- Transaction date\n\n\n**Features:**\n- Handles poor quality images\n- Various receipt formats\n- OCR text recognition"
      },
      "typeVersion": 1
    },
    {
      "id": "f02b1746-2cb1-4d74-8af4-7a58ed1fbeb2",
      "name": "📊 保存ドキュメント",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 680,
        "content": "## 💾 Airtable Storage \n\n**Stores as new record (Airtable node)**\n- Saves parsed receipt data into your Airtable base and table ✅\n- Maps each extracted field to matching Airtable columns 📊\n\n\n**Field types used**\n- **Date** → *Date with time* ⏰\n- **Amount** → *Currency or Number (2 decimals)* 💵\n- **Currency** → *Single select or Text* (e.g., USD, EUR, BDT)\n* **Customer, Merchant** → *Text* ✍️\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4caddc75-a47c-4579-9221-cf196c378ca9",
      "name": "領収書アップロードの監視",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "notes": "Monitors Google Drive folder for new receipt uploads and triggers processing automatically.",
      "position": [
        480,
        480
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1reWORwI1tMa-eGB75NCXq9eRw4CiQIhX",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1reWORwI1tMa-eGB75NCXq9eRw4CiQIhX",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "oCzY5bzObKMMfjpu",
          "name": "Google Drive account 3"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ea3b0627-b6ac-4df9-8075-8acb7b3e31b9",
      "name": "領収書ファイルのダウンロード",
      "type": "n8n-nodes-base.googleDrive",
      "notes": "Downloads receipt files from Google Drive for AI processing.",
      "position": [
        688,
        480
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "binaryPropertyName": "data"
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "oCzY5bzObKMMfjpu",
          "name": "Google Drive account 3"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "d9ee2098-00eb-4bc8-9e6b-a8f8c903f441",
      "name": "VLM Run領収書パーサー",
      "type": "@vlm-run/n8n-nodes-vlmrun.vlmRun",
      "notes": "Uses VLM AI to extract merchant name, amount, currency, and date from receipt images.",
      "position": [
        1008,
        480
      ],
      "parameters": {
        "domain": "document.receipt"
      },
      "credentials": {
        "vlmRunApi": {
          "id": "7JF2kdNzjhKZsHGg",
          "name": "VLM Run account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d98486c3-6ac6-4341-87ff-2d8006e194e0",
      "name": "領収書データのフォーマット",
      "type": "n8n-nodes-base.set",
      "notes": "Transforms AI-extracted receipt data into clean, structured format for spreadsheet storage.",
      "position": [
        1328,
        480
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "Customer",
              "value": "={{ $json.response.customer_name }}"
            },
            {
              "name": "Merchant",
              "value": "={{ $json.response.merchant_name }}"
            },
            {
              "name": "Amount",
              "value": "={{ $json.response.total }}"
            },
            {
              "name": "Currency",
              "value": "={{ $json.response.currency }}"
            },
            {
              "name": "Date",
              "value": "={{ $json.response.transaction_date }}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "id": "921e5c79-9211-4cd6-af7d-7584a09a40b1",
      "name": "レコードの作成",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1504,
        480
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appuQQOmev4FlXUlz",
          "cachedResultUrl": "https://airtable.com/appuQQOmev4FlXUlz",
          "cachedResultName": "Receipt Data"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblAlP7xMFINzScRN",
          "cachedResultUrl": "https://airtable.com/appuQQOmev4FlXUlz/tblAlP7xMFINzScRN",
          "cachedResultName": "Tasks"
        },
        "columns": {
          "value": {
            "Date": "={{ $json.Date }}",
            "Amount": "={{ $json.Amount }}",
            "Currency": "={{ $json.Currency }}",
            "Customer": "={{ $json.Customer }}",
            "Merchant": "={{ $json.Merchant }}"
          },
          "schema": [
            {
              "id": "Customer",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Customer",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Merchant",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Merchant",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Amount",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Amount",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Currency",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Currency",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create",
        "authentication": "airtableOAuth2Api"
      },
      "credentials": {
        "airtableOAuth2Api": {
          "id": "IDoNB3fckpLk316i",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    }
  ],
  "pinData": {},
  "connections": {
    "d98486c3-6ac6-4341-87ff-2d8006e194e0": {
      "main": [
        [
          {
            "node": "921e5c79-9211-4cd6-af7d-7584a09a40b1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ea3b0627-b6ac-4df9-8075-8acb7b3e31b9": {
      "main": [
        [
          {
            "node": "d9ee2098-00eb-4bc8-9e6b-a8f8c903f441",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d9ee2098-00eb-4bc8-9e6b-a8f8c903f441": {
      "main": [
        [
          {
            "node": "d98486c3-6ac6-4341-87ff-2d8006e194e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4caddc75-a47c-4579-9221-cf196c378ca9": {
      "main": [
        [
          {
            "node": "ea3b0627-b6ac-4df9-8075-8acb7b3e31b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - その他, AI要約, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数9
カテゴリー3
ノードタイプ6
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Shahrear

Shahrear

@shahrear

I’m Shahrear, a Software Engineer with over 5 years of experience in full-stack development and workflow automation. I specialize in building intelligent automations using n8n, helping teams streamline operations and boost productivity. I’m also an expert in developing custom n8n nodes, with published work on npm - including the @vlm-run/n8n-nodes-vlmrun package. Linkedin - https://www.linkedin.com/in/shahrear-amin/ Email - shahrearbinamin33@gmail.com

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34