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を生成できます。
連携の流れは次の通りです。
- ReportFlowでNotion OAuth連携を行う
- Notionのデータソース一覧を取得する
- 対象DBのスキーマを取得する
- Notionレコードを取得する
- ページプロパティをテンプレート変数へ反映する
- ReportFlowでPDFを生成する
- 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
- 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を生成する場合は、次の流れになります。
- Notion DBから対象レコードを取得する
- 各レコードのタイトルをファイル名にする
- 各レコードのプロパティ値をReportFlowパラメータに変換する
- ReportFlowの複数PDF生成APIへ渡す
- 生成されたPDFをZIPでダウンロードする
この構成なら、月末にNotionの請求対象レコードをまとめてPDF化できます。
設計例:請求書PDFを作る場合
Notion側の請求DBには、次のようなプロパティを用意します。
| Notionプロパティ | ReportFlow変数 | 用途 |
|---|---|---|
| customerName | customerName | 請求先名 |
| invoiceNumber | invoiceNumber | 請求番号 |
| invoiceDate | invoiceDate | 発行日 |
| dueDate | dueDate | 支払期限 |
| totalAmount | totalAmount | 合計金額 |
テンプレート側の変数とNotionプロパティを揃えることで、Notionの値をそのまま帳票に差し込めます。
n8n / Makeを使う場合
メール送信、Slack通知、Google Drive保存、ステータス更新など、PDF生成後の処理までまとめて自動化したい場合は、n8nやMakeを組み合わせる方法もあります。
たとえば、次のような流れです。
- Notionで対象レコードを取得する
- ReportFlowでPDFを生成する
- 生成したPDFをメール送信する
- Google Driveへ保存する
- 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連携は次の流れです。
- ReportFlowでNotion OAuth連携する
- Notionデータソース / データベースを取得する
- Notionレコードを取得する
- NotionプロパティをReportFlowテンプレートのパラメータに変換する
- PDFまたはZIPとして出力する
Notionは業務データの管理場所、ReportFlowは正式な帳票PDFの生成エンジンとして使うのが自然です。
PDF生成後のメール送信、Drive保存、ステータス更新まで含めた自動化をしたい場合は、ReportFlow APIとMake / n8nを組み合わせることで実現できます。