毎月の請求書作業、まだ手動でやっていませんか?

フリーランスとして活動していると、月末になるたびに訪れる「請求書作業」。取引先ごとに金額を確認し、請求書を作成し、PDFに変換して、メールに添付して送付する。さらに翌月には入金確認まで必要になる。

この一連の作業にかかる時間は、取引先が5社あれば毎月2〜3時間。年間にすると約30時間以上を請求書だけに費やしている計算になります。しかも、金額の転記ミスや送付先の間違いといったヒューマンエラーのリスクも常につきまとう。

本業に集中すべき時間が経理作業に奪われている——これはフリーランスにとって最大の機会損失です。

この記事では、freee会計とMake(旧Integromat)を連携させて、請求書の作成から送付、ステータス管理までを完全に自動化する方法を、実際の設定手順とともに解説します。

なぜfreee × Makeなのか

請求書の自動化ツールは多数存在しますが、フリーランスがfreeeとMakeの組み合わせを選ぶべき理由は明確です。各ツールの比較は請求書ツール比較ガイドで詳しくまとめていますが、ここではこの組み合わせの強みに絞って解説します。

freeeを選ぶ理由

  • 確定申告まで一気通貫: 請求書データがそのまま売上仕訳に反映される
  • インボイス制度対応: 適格請求書の要件を自動で満たしてくれる(インボイス制度の最新情報も参照)
  • 電子帳簿保存法への準拠: 発行した請求書の電子保存要件もクリア(電子帳簿保存法ガイド
  • APIが充実: 外部ツールとの連携に必要なエンドポイントが揃っている

freeeと他の会計ソフトの比較についてはfreee vs マネーフォワード徹底比較も参考にしてください。

Makeを選ぶ理由

  • ビジュアルシナリオビルダー: コードを書かずに複雑なワークフローを構築できる
  • freee公式モジュール搭載: API連携の設定が圧倒的に簡単
  • 無料プランで月1,000オペレーション: 請求書発行程度なら無料枠で十分
  • エラーハンドリングが柔軟: 失敗時の再試行やフォールバック処理を視覚的に設定可能

MakeとZapierの違いについてはノーコード自動化ツール比較で詳しく解説しています。

自動化の前後でこれだけ変わる

項目 自動化前 自動化後
請求書作成 1件あたり15〜20分 0分(自動生成)
送付作業 メール作成・添付で10分/件 0分(自動送信)
ステータス管理 スプレッドシートに手動記入 Notionに自動反映
入金確認 銀行口座を目視チェック Slack通知で自動確認
月間合計作業時間 2〜3時間(5社の場合) 約5分(確認のみ)
ミス発生率 月1〜2件の転記ミス ほぼゼロ
精神的負担 月末が憂鬱 月末を意識しない

Makeシナリオの全体像

今回構築する自動化シナリオの全体フローは以下のとおりです。

[トリガー: 毎月25日 9:00]
        │
        ▼
[Module 1: Notionから取引先データ取得]
  → 取引先名、金額、品目、支払期日を取得
        │
        ▼
[Module 2: freee APIで請求書作成]
  → 取引先ごとにループ処理
  → 請求書番号の自動採番
  → インボイス番号の付与
        │
        ▼
[Module 3: 通知送信]
  → Slackに作成完了通知
  → 取引先へメール送付(PDF添付)
        │
        ▼
[Module 4: Notionステータス更新]
  → 該当レコードを「請求済み」に変更
  → 請求書番号をプロパティに記録

Notionでの取引先管理についてはNotion事業活用ガイドも合わせて確認してください。

各モジュールの詳細設定手順

Step 0: 事前準備

自動化を始める前に、以下の準備が必要です。

  1. freeeアカウント: スタンダードプラン以上(API利用に必要)
  2. Makeアカウント: 無料プランでOK
  3. Notion: 取引先データベースを作成済み
  4. freee APIアプリ: freee開発者ページでアプリを作成し、Client IDとClient Secretを取得

freeeの開発者ページで「アプリを作成」から新規アプリを登録します。リダイレクトURIにはMakeのOAuth用URLを指定してください。

Step 1: Makeでシナリオを新規作成

  1. Makeにログインし、「Create a new scenario」をクリック
  2. 最初のモジュールとして「Schedule」を選択
  3. 実行タイミングを以下のように設定:
    • Run scenario: Every month
    • Day of month: 25
    • Time: 09:00

毎月25日に自動実行される設定です。請求書の発行タイミングは取引先との契約に合わせて調整してください。

Step 2: Notionから取引先データを取得

  1. 「+」ボタンで新しいモジュールを追加
  2. 「Notion」→「Search Objects」を選択
  3. Notion連携を認証(初回のみ)
  4. 以下のように設定:
  • Database ID: 取引先管理DBのIDを指定
  • Filter: ステータスが「請求待ち」のレコードのみ取得
{
  "filter": {
    "property": "ステータス",
    "select": {
      "equals": "請求待ち"
    }
  }
}

Notionの取引先データベースには、最低限以下のプロパティを設定しておきましょう。

プロパティ名 用途
取引先名 テキスト freeeの取引先名と一致させる
金額 数値 請求金額(税抜)
品目 テキスト 請求書の明細に表示
支払期日 日付 請求書の支払期限
ステータス セレクト 請求待ち/請求済み/入金済み
請求書番号 テキスト 自動で書き込まれる

Step 3: freee APIで請求書を作成

  1. 「+」で「Iterator」モジュールを追加(取引先ごとにループ)
  2. その後に「freee」→「Create an Invoice」を選択
  3. freeeアカウントを認証(OAuth2.0)
  4. 各フィールドをNotionから取得した値でマッピング:
  • 事業所ID: freeeの事業所IDを固定値で入力
  • 取引先: Notionの「取引先名」をマッピング
  • 発行日: {{formatDate(now; "YYYY-MM-DD")}}
  • 支払期日: Notionの「支払期日」をマッピング
  • 請求書番号: INV-{{formatDate(now; "YYYYMM")}}-{{iterator.index + 1}}
  • 明細行の品目: Notionの「品目」
  • 明細行の金額: Notionの「金額」
  • 税区分: 課税売上10%(適格請求書発行事業者の場合)

ここで重要なのは、freee側の取引先マスタとNotionの取引先名を正確に一致させておくことです。不一致がある場合、APIがエラーを返します。

Step 4: Slack通知とメール送付

請求書の作成が完了したら、2つの通知を送ります。

Slack通知(自分向け):

  1. 「Slack」→「Create a Message」を選択
  2. チャンネルは #経理 など専用チャンネルを指定
  3. メッセージテンプレート:
✅ 請求書を作成しました
取引先: {{取引先名}}
金額: ¥{{金額}}(税抜)
請求書番号: {{請求書番号}}
支払期日: {{支払期日}}

メール送付(取引先向け):

  1. 「Email」→「Send an Email」を選択
  2. 宛先: Notionの「メールアドレス」プロパティ
  3. 件名: 【請求書送付】{{自分の屋号}} {{年月}}分ご請求
  4. freeeから取得したPDF URLを添付

Step 5: Notionのステータスを更新

  1. 「Notion」→「Update a Database Item」を選択
  2. 対象レコード: Iteratorで処理中のレコードID
  3. 更新内容:
    • ステータス → 請求済み
    • 請求書番号 → freeeが返した請求書番号
    • 請求日 → 本日の日付

これにより、Notionのデータベースを見るだけで、どの取引先が請求済みで、どの取引先がまだかを一目で把握できます。

エラーハンドリングと手動オーバーライド

自動化で最も重要なのは、エラーが発生したときに気づける仕組みです。

エラーハンドリングの設定

Makeのシナリオには、各モジュールにエラーハンドラーを設定できます。

  1. freeeモジュールを右クリック →「Add error handler」
  2. 「Ignore」ではなく「Break」を選択(残りの処理を中断)
  3. Break後に「Slack通知」を接続し、エラー内容を自分に通知
⚠️ 請求書作成エラー
取引先: {{取引先名}}
エラー内容: {{error.message}}
手動対応が必要です。

手動オーバーライドの仕組み

すべてを自動化すると「今月だけ金額を変えたい」「特定の取引先は請求をスキップしたい」といったケースに対応できません。

そこで、Notionデータベースに「手動フラグ」プロパティ(チェックボックス型)を追加します。このフラグがオンの取引先は自動処理をスキップし、手動で対応する運用にします。MakeのFilterモジュールで以下の条件を追加するだけです:

  • 条件: 手動フラグ is not true

コスト分析

この自動化にかかる月額コストを整理します。

サービス プラン 月額費用 備考
freee スタンダード 2,680円 年払いの場合。API利用に必要
Make Free 0円 月1,000オペレーションまで
Notion Free 0円 個人利用なら無料枠で十分
Slack Free 0円 通知用途なら無料枠で十分
合計 2,680円/月

freeeは請求書機能だけでなく確定申告にも使うため、実質的な追加コストはゼロに近いと考えられます。月2〜3時間の作業時間を時給3,000円で換算すると、毎月6,000〜9,000円分の工数削減。投資対効果は初月から200%以上です。

各種バックオフィスSaaSの費用対効果についてはバックオフィスSaaS比較もご覧ください。

拡張: 入金確認の自動化

請求書の発行を自動化したら、次は入金確認も自動化しましょう。

freeeの入金情報をトリガーにする

freee APIの deals エンドポイントを定期的にポーリングし、入金ステータスが変わったらNotionを更新する仕組みです。

  1. Makeで新しいシナリオを作成
  2. 「Schedule」で毎日10:00に実行
  3. 「freee」→「List Deals」で未決済の取引を取得
  4. 入金済みのものをフィルタリング
  5. Notionのステータスを「入金済み」に更新
  6. Slackに入金確認通知を送信
💰 入金を確認しました
取引先: {{取引先名}}
金額: ¥{{金額}}
入金日: {{入金日}}

これにより、「あの取引先、今月入金あったっけ?」と銀行口座を確認する作業が完全に不要になります。

入金遅延のアラート

支払期日を過ぎても入金がない場合、自動でSlackにアラートを送る設定も追加できます。Makeのフィルターで「支払期日 < 今日」かつ「ステータスが請求済み」のレコードを抽出し、リマインダーを送信します。

よくある質問(FAQ)

Q: freeeのミニマムプランでもAPI連携できますか? A: いいえ。API利用にはスタンダードプラン以上が必要です。ただし、freeeは定期的にプラン改定を行うため、最新の情報は公式サイトで確認してください。

Q: Makeの無料プランで足りますか? A: 取引先が10社以下で月1回の実行であれば、無料プランの1,000オペレーションで十分です。取引先が多い場合や、入金確認の自動化も含める場合はCoreプラン(月10.59ドル〜)を検討してください。

Q: Notion以外のツールでも同じことができますか? A: はい。Google Sheetsでも同様の構成が可能です。MakeにはGoogle Sheets用のモジュールも用意されているため、普段使い慣れたツールを選んでください。

Q: 消費税の端数処理はどうなりますか? A: freee API側で自動的に処理されます。インボイス制度に準拠した端数処理(切り捨て/四捨五入)はfreeeの設定画面で事前に指定しておきましょう。

Q: テスト環境で試せますか? A: Makeのシナリオは「Run once」ボタンで手動実行できます。まずはNotionに1件だけテストデータを入れて、正しく請求書が作成されるか確認してから本番運用に移行してください。

まとめ: 月末の経理作業をゼロにしよう

フリーランスにとって、請求書作業は必要だけど本業ではない。だからこそ自動化する価値がある。freee × Makeの組み合わせなら、初期設定に1〜2時間かけるだけで、毎月の請求書作業が完全にゼロになります。

自動化のステップを振り返ると:

  1. Notionに取引先データベースを作成する
  2. freeeのAPIアプリを設定する
  3. Makeでシナリオを構築する
  4. テスト実行で動作確認する
  5. スケジュール実行を有効化する

一度設定してしまえば、あとは毎月25日にSlackに「請求書を作成しました」という通知が届くのを眺めるだけ。月末の憂鬱から解放され、本業に100%集中できる環境を手に入れましょう。

あわせて読みたい