22
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【n8n】Gmailの領収書を自動でGoogle Driveに日付別保存する仕組みを作ってみた

22
Posted at

はじめに

日々こんなこと思いませんか?

  • 領収書の整理めんどくさい
  • Gmailに埋もれて後から探せない
  • 月別・日別で自動整理したい

そこで今回は、

Gmailに届いた領収書を自動で判別し、Google Driveに日付ごとに整理して保存する仕組み

をn8nで構築しました。

完成イメージ

以下のような構成で自動保存されます

親フォルダ
 └── 2026
      └── 04
           └── 17
                └── 領収書.pdf

メールが来るたびに

  • 年フォルダ自動作成
  • 月フォルダ自動作成
  • 日フォルダ自動作成
  • ファイル保存

まで全部自動です。

ワークフロー全体像

今回のn8n構成はこちら👇
image.png

大きく分けると以下の4つの機能で構成されています。

① Gmailから添付ファイルを取得 & 領収書判定

まずはGmailから添付ファイルを取得します。

  • 添付ファイルを自動取得
  • ファイル名をチェック
  • 「領収書」が含まれているか判定

ポイント

Codeノードでこんな処理をしています

matched: fileName.includes('領収書')

これにより

  • true → 処理続行
  • false → 無視

というシンプルで強力なフィルタになります。

② 日付情報の生成(フォルダ構造のベース)

次に現在日時からフォルダ名を生成します。

  • 年:2026
  • 月:04
  • 日:17
const year = String(now.getFullYear());
const month = String(now.getMonth() + 1).padStart(2, '0');
const day = String(now.getDate()).padStart(2, '0');

ポイント

  • padStart(2, '0') で 04 のような形式に
  • この値をそのままフォルダ名として利用

③ Google Driveのフォルダ自動生成ロジック

ここが今回の特徴です。

▼処理フロー

  1. フォルダを検索
  2. 存在するかチェック
  3. なければ作成
  4. IDを次に引き継ぐ

これを

  • 年フォルダ
  • 月フォルダ
  • 日フォルダ

の3階層で繰り返しています。

▼構造イメージ

Search → If → Create → Merge

▼重要ポイント

■ alwaysOutputData = true

検索ノードでこれをONにすることで

  • 見つからなくても処理が止まらない

■ Ifノードで存在判定

$json.id があるかどうか

■ Mergeノードの役割

  • 既存フォルダ or 新規フォルダ
  • どちらでも同じ形で次に渡す

これで分岐を吸収しています。

④ ファイルアップロード処理

最後に、生成した「日フォルダ」にファイルを保存します。

folderId: {{ 最終フォルダID }}

ポイント

  • binaryデータをそのままアップロード
  • ファイル名は元のメールから引き継ぎ

この構成の良いところ

① 完全自動

メールが来るだけで整理完了

② スケーラブル

年が変わっても勝手にフォルダ増える

③ 汎用性が高い

「領収書」以外にも応用可能

例:

  • 請求書
  • 契約書
  • 納品書

改善アイデア

使ってみて下記の改善点思いつきました。

■ OCR連携

→ 金額・日付・店舗を自動抽出

■ スプレッドシート連携

→ 経費一覧を自動生成

■ Slack通知

→ 保存時に通知

まとめ

今回作ったのは

「メール → 判定 → フォルダ生成 → 保存」までを完全自動化する仕組み

n8nの強みである

  • 分岐(If)
  • データ加工(Code)
  • 外部連携(Google Drive)

をフル活用した実用的なワークフローです。

おわりに

こういう「日常のちょっとした面倒」を自動化するとかなり快適になります。

n8nは本当に強力なので、

  • 経費管理
  • タスク管理
  • 情報収集

いろんな用途に応用できます。

22
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?