Notion DBから帳票PDFを自動生成する方法|ReportFlowでレコードを取り込みPDF出力する

Notion DBから帳票PDFを自動生成する方法|ReportFlowでレコードを取り込みPDF出力する

Notionで案件・顧客・請求情報を管理しているなら、そのデータをRe:port Flowに取り込み、請求書・見積書・契約書・報告書などの帳票PDFとして出力できます。

Re:port FlowのNotion連携では、NotionのデータベースをReportFlow側から参照し、レコードの値を帳票テンプレートに差し込んでPDFを生成できます。

主な構成は次の通りです。

  • ReportFlow側でNotionに接続する
  • 連携済みNotionワークスペースからデータベースを選ぶ
  • Notionデータベースのスキーマ・レコードを取得する
  • Notionページのプロパティ値を、ReportFlowテンプレートのパラメータへ反映する
  • ReportFlowで単一または複数のPDFを出力する
  • 複数レコードの場合はZIPとしてまとめてダウンロードする

ターゲットKW: Notion 帳票 PDF / Notion 請求書 自動生成 / Notion DB PDF / Notion データベース 帳票

Notionだけでは正式な帳票PDFを作りにくい

Notionは、案件管理・顧客管理・請求管理・タスク管理などの業務データベースとして便利です。

一方で、次のような正式帳票の出力には限界があります。

  • 請求書
  • 見積書
  • 納品書
  • 契約書
  • 申込書
  • 報告書
  • 申請書

NotionのページをPDFエクスポートすることはできますが、日本の業務帳票で求められる明細表、改ページ、余白、ロゴ、宛先、金額欄などを安定して再現するには向いていません。

そのため、Notionにデータはあるのに、帳票作成時だけExcel・Google Sheets・請求書ツール・手作業に戻るケースが起きます。

ReportFlowのNotion連携でできること

ReportFlowのNotion連携では、NotionのデータベースをReportFlow側から参照し、レコードの値を帳票テンプレートの変数に差し込んでPDFを生成できます。

連携の流れは次の通りです。

  1. ReportFlowでNotion OAuth連携を行う
  2. Notionのデータソース一覧を取得する
  3. 対象DBのスキーマを取得する
  4. Notionレコードを取得する
  5. ページプロパティをテンプレート変数へ反映する
  6. ReportFlowでPDFを生成する
  7. PDFまたはZIPとしてダウンロードする

Notion側で帳票データを管理し、ReportFlow側で正式なPDFを生成する役割分担です。

実際の連携方法

1. ReportFlowでNotionに接続する

ReportFlowのワークスペースからNotion OAuth認証を行います。

実装上は、ReportFlow APIに次のようなNotion連携エンドポイントがあります。

  • Notion認証URL取得
  • OAuthコールバック
  • 連携状態取得
  • Notionデータベース一覧取得
  • データベーススキーマ取得
  • データベースクエリ
  • ページ取得
  • 連携解除

これにより、ReportFlowがユーザーの許可したNotionワークスペース内のデータソースを参照できるようになります。

2. Notionデータベースを選ぶ

ReportFlow側で、連携済みNotionワークスペース内のデータソース / データベース一覧を取得します。

Notion APIの新しいdata sourcesモデルに対応しており、ReportFlow側ではNotionのdata sourceを検索・取得する実装になっています。

3. Notion DBのスキーマを取得する

対象データベースのプロパティを取得し、ReportFlowテンプレートの変数に使える項目を把握します。

対応しやすいプロパティは、たとえば次のようなものです。

  • title
  • rich_text
  • number
  • select
  • status
  • multi_select
  • date
  • url
  • email
  • phone_number
  • checkbox
  • people
  • formula

4. Notionレコードを取得する

ReportFlow側からNotionデータベースをクエリし、PDF化したいレコードを取得します。

たとえば、請求DBから「未発行」のレコードだけを取得したり、案件DBから特定の顧客のレコードを取得したりできます。

5. NotionプロパティをReportFlowパラメータに変換する

取得したNotionページのプロパティ値を、ReportFlowテンプレートの変数に反映します。

実装上は、Notionページのプロパティ名と、ReportFlowテンプレート側のパラメータキーを一致させることで値を流し込みます。

たとえば、テンプレート側に customerName という変数がある場合、Notion側にも同じキーに対応するプロパティを用意しておくと、値を反映できます。

6. ReportFlowでPDF生成する

Notionレコードから作ったパラメータを、ReportFlowのPDF生成APIに渡します。

単一レコードなら単一PDF、複数レコードなら複数PDFを生成できます。

複数レコードの場合は、PDFをまとめてZIPとしてダウンロードする構成です。

複数レコードから一括PDF出力する流れ

たとえば、Notionの請求DBから複数の請求書PDFを生成する場合は、次の流れになります。

  1. Notion DBから対象レコードを取得する
  2. 各レコードのタイトルをファイル名にする
  3. 各レコードのプロパティ値をReportFlowパラメータに変換する
  4. ReportFlowの複数PDF生成APIへ渡す
  5. 生成されたPDFをZIPでダウンロードする

この構成なら、月末にNotionの請求対象レコードをまとめてPDF化できます。

設計例:請求書PDFを作る場合

Notion側の請求DBには、次のようなプロパティを用意します。

NotionプロパティReportFlow変数用途
customerNamecustomerName請求先名
invoiceNumberinvoiceNumber請求番号
invoiceDateinvoiceDate発行日
dueDatedueDate支払期限
totalAmounttotalAmount合計金額

テンプレート側の変数とNotionプロパティを揃えることで、Notionの値をそのまま帳票に差し込めます。

n8n / Makeを使う場合

メール送信、Slack通知、Google Drive保存、ステータス更新など、PDF生成後の処理までまとめて自動化したい場合は、n8nやMakeを組み合わせる方法もあります。

たとえば、次のような流れです。

  1. Notionで対象レコードを取得する
  2. ReportFlowでPDFを生成する
  3. 生成したPDFをメール送信する
  4. Google Driveへ保存する
  5. Notion側のステータスを更新する

ReportFlow単体ではNotionデータをPDF生成に使い、n8n / MakeではPDF生成後の配信・保存・通知まで含めた業務フローを組めます。

ユースケース

案件DBから見積書PDFを生成

Notionの案件DBに、顧客名、案件名、金額、明細、担当者、見積期限などを管理しておきます。

ReportFlowで案件レコードを取得し、見積書テンプレートに差し込んでPDFを生成します。

請求DBから請求書PDFを一括生成

Notionの請求DBに、請求先、請求番号、請求日、支払期限、明細、税額、合計金額などを管理します。

月末に対象レコードをまとめて選び、複数の請求書PDFをZIPで出力できます。

顧客DBから契約書・申込書PDFを生成

顧客DBや申込管理DBの情報をもとに、契約書や申込書を生成できます。

請求書専用ツールでは対応しにくい、会社独自フォーマットの帳票にも展開できます。

よくある質問

Q. NotionのデータからPDFを生成できますか?

はい。ReportFlow側でNotion連携を行い、Notion DBのレコードを取得してPDF生成できます。

Q. 生成したPDFをメール送信やDrive保存できますか?

はい。PDF生成後の送信・保存・通知まで自動化したい場合は、n8nやMakeを組み合わせると便利です。

Q. 請求書以外の帳票にも使えますか?

使えます。Re:port Flowは請求書専用ではなく、任意の帳票テンプレートを作成できます。見積書、契約書、申込書、納品書、報告書などにも対応できます。

Q. 複数レコードをまとめてPDF化できますか?

可能です。Notion DBから複数レコードを取得し、ReportFlowの複数PDF生成APIでZIP出力できます。

まとめ

Notion DBに業務データがあるなら、そのデータをReportFlowに取り込み、正式な帳票PDFとして出力できます。

ReportFlowのNotion連携は次の流れです。

  1. ReportFlowでNotion OAuth連携する
  2. Notionデータソース / データベースを取得する
  3. Notionレコードを取得する
  4. NotionプロパティをReportFlowテンプレートのパラメータに変換する
  5. PDFまたはZIPとして出力する

Notionは業務データの管理場所、ReportFlowは正式な帳票PDFの生成エンジンとして使うのが自然です。

PDF生成後のメール送信、Drive保存、ステータス更新まで含めた自動化をしたい場合は、ReportFlow APIとMake / n8nを組み合わせることで実現できます。