案件が5件を超えたあたりから、Notionのページに案件を1枚ずつ書いていく方式が破綻します。納期は各ページの中にあり、金額は見積書のPDFにあり、外注費はSlackのやり取りにある。「今月いくら入ってくるんだっけ」を出すのに30分かかる状態です。

Notionで受託の案件管理を作るなら、案件・取引先・発注の3つのデータベースを作って、リレーションとロールアップでつなぎ、粗利と入金予定日は数式で自動で出す——この形にすると、手で入れるのは金額と日付だけになります。あとはビューを切り替えるだけで「今月納品」「入金待ち」「粗利率が低い案件」が出ます。

Notionの案件管理とは、案件1件を1行(=1ページ)としたデータベースに、ステータス・納期・金額・外注費といった情報をプロパティとして持たせ、ビューを切り替えて必要な切り口で見る管理方法です。

この記事の要点

  • データベースは案件・取引先・発注の3つに分ける。1つにまとめると外注費が合計できない
  • 外注費はリレーション+ロールアップ(合計)で持ってくる。別データベースの値は、リレーションを通さないと数式から参照できない
  • 粗利・粗利率・入金予定日・入金状況は数式で自動計算。この記事の数式はそのままコピーして貼れる
Notionの案件管理の構成図。取引先データベースと発注データベースを案件データベースにリレーションでつなぎ、外注費の合計をロールアップで引いて粗利・粗利率を数式で出し、請求予定日と支払サイトから入金予定日を出す

なぜ案件・取引先・発注の3つに分けるのか

Notionで案件管理を作るとき、最初は案件データベース1つで始めたくなります。外注先の名前と外注費をテキストで書き込んでおけばいい、と。

これが行き詰まるのは、1つの案件に外注が2件以上ぶら下がったときです。「デザインをAさんに12万、コーディングをBさんに18万」を1つのセルに書くと、外注費の合計が計算できません。粗利が出せず、支払漏れも追えません。

発注を別データベースにして案件にリレーションでつなぐと、案件側から「この案件の外注費の合計」をロールアップで引けます。発注を1件足すだけで粗利が自動で下がる状態になります。外注管理そのものの考え方は外注管理の方法にまとめています。発注ごとの支払予定日・支払ステータス・未払い合計まで作り込む場合は、Notionで外注・発注を管理するにデータベース設計と数式をまとめています。

取引先を分けるのは、支払サイトを取引先ごとに1回だけ持つためです。同じ会社の案件を何件受けても支払サイトは同じなので、案件側で毎回入力するのは無駄ですし、間違えます。支払サイトの決め方は支払いサイトとはで扱っています。

データベース1行が表すもの主な役割
案件DB受注した案件1件金額・納期・ステータス・粗利・入金
取引先DB請求先の会社1社担当者・支払サイト・締め日
発注DB外注1件外注先・外注費・納期・支払状況

案件データベースのプロパティ設計

フルページのデータベースを作ります。空のページで /table と打ち、「データベース - フルページ」を選ぶと最短です。プロパティは次の17個を用意します。

プロパティ型入れるもの入力
案件名タイトル見積書と同じ名前にする手
取引先リレーション(取引先DB)請求先手
ステータスステータス受注/制作中/納品済/検収済/請求済/入金済手
受注日日付発注書を受け取った日手
納品予定日日付契約上の納期手
納品日日付実際に出した日手
受注金額数値(円)税抜手
発注リレーション(発注DB)この案件にぶら下がる外注手
外注費合計ロールアップ発注→外注費→合計自動
粗利数式受注金額 − 外注費合計自動
粗利率数式粗利 ÷ 受注金額自動
粗利チェック数式粗利率20%未満に印を付ける自動
支払サイト日数ロールアップ取引先→支払サイト日数→合計自動
請求予定日日付締め日に合わせて入れる手
入金予定日数式請求予定日 + 支払サイト日数自動
入金日日付実際に入った日手
入金状況数式入金済/遅延/予定自動

手で入れるのは9個、残り8個は数式とロールアップで自動です。ここを削ると入力は楽になりますが、あとで「今月いくら入るのか」を出せなくなります。

取引先データベースと発注データベース

取引先DBは小さくて構いません。

プロパティ型備考
会社名タイトル請求書の宛名に合わせる
担当者テキスト窓口になる人
メールメール
電話電話
支払サイト日数数値30/45/60 など日数で入れる
締め日セレクト月末/20日/25日
案件リレーション案件DBでつなぐと自動で生える

支払サイトを「翌月末」のような文字列ではなく日数の数値で持つのがポイントです。文字列にすると数式で足せません。「翌月末」で運用したい場合は、実務上の平均日数(月末締め翌月末払いなら45日前後)を入れておき、請求予定日のほうを実際の締め日に合わせます。

発注DBはこうします。

プロパティ型備考
発注名タイトル「〇〇案件/デザイン」のように案件名を頭に付ける
案件リレーション案件DB
外注先テキスト数が増えたら外注先DBに分ける
外注費数値(円)税抜
発注日日付
納品期限日付案件の納品予定日より前にする
進捗ステータス未着手/作業中/納品済
支払予定日日付
支払状況セレクト未払い/支払予定/支払済

コピーして使う数式——粗利・粗利率・入金予定日

以下はNotionの数式2.0の記法です。プロパティ名は上の表と同じにしてください。名前を変える場合は prop("...") の中も合わせて変えます。

外注費合計(ロールアップ)は、リレーション=発注、プロパティ=外注費、計算=合計を選びます。「合計」は関連付けられたページの数値プロパティを合計する計算で、「オリジナルを表示する」にすると関連付けられたページがセルに列挙されるだけになるので(出典:Notion ヘルプ「Notionのデータベースリレーションとロールアップ」、2026年10月1日確認)、必ず合計にしてください。

支払サイト日数(ロールアップ)も同じく、リレーション=取引先、プロパティ=支払サイト日数、計算=合計です。取引先は1件しかつながないので、合計=その取引先の値になります。

粗利(数式):

prop("受注金額") - prop("外注費合計")

粗利率(数式。%で小数第1位まで):

if(
  prop("受注金額") == 0,
  0,
  round(prop("粗利") / prop("受注金額") * 1000) / 10
)

粗利チェック(数式。粗利率20%未満に印を付ける):

if(
  prop("受注金額") == 0,
  "",
  if(prop("粗利率") < 20, "⚠️ 要確認", "OK")
)

入金予定日(数式):

dateAdd(prop("請求予定日"), prop("支払サイト日数"), "days")

請求予定日が空のあいだは結果も空になるので、条件分岐は要りません。

入金状況(数式):

if(
  not empty(prop("入金日")),
  "入金済",
  if(
    empty(prop("入金予定日")),
    "",
    if(prop("入金予定日") < now(), "遅延", "予定")
  )
)

納期まで(数式。残り日数。マイナスなら超過):

dateBetween(prop("納品予定日"), now(), "days")

数式は他の数式プロパティを参照できるので、粗利率は粗利を、粗利チェックは粗利率を、そのまま使えます。ここが表計算ソフトのセル参照と違って壊れにくいところです。エクセルやスプレッドシートで同じことをする場合の数式は案件管理のスプレッドシートテンプレートにまとめてあります。

ビューを4つ作る——進行中・今月納品・入金待ち・粗利一覧

データベースは1つのまま、ビューだけ増やします。Notionで案件管理を作る利点はここです。

ビュー種類フィルタ並べ替え
進行中ボード(ステータスでグループ化)ステータス が 入金済 ではない納品予定日 昇順
今月納品テーブル納品予定日 が 今月納品予定日 昇順
入金待ちテーブル入金日 が 空 かつ ステータス が 請求済入金予定日 昇順
粗利一覧テーブル(取引先でグループ化)受注日 が 過去1年粗利率 昇順

「入金待ち」は入金状況が遅延の行が上に来るように、入金予定日の昇順にしておきます。月末にこのビューだけ見れば、催促すべき先が分かります。

「粗利一覧」を粗利率の昇順にしておくと、赤字寄りの案件が常に一番上に来ます。次に同じ取引先から見積もり依頼が来たときの判断材料になります。粗利をどう見るかは粗利管理のはじめ方を参照してください。

工程を並べたい場合はタイムラインビューを足します。開始日と終了日の2つの日付プロパティを指定するとガントチャートになります。ただし外注のタスク単位まで並べたい場合は、案件DBではなく発注DBか、別途タスクDBを作る必要があります。工程管理の考え方は受託の工程管理にまとめています。

データベーステンプレートで案件の初期タスクを自動で作る

案件DBの「新規」ボタンの右の ∨ から「新しいテンプレート」を選ぶと、ページの中身つきの新規行を作れます。受託だと案件ごとに同じことをするので、ここに次のチェックリストを置いておくと抜けが減ります。

  • 発注書・注文請書の受領
  • キックオフ日程の確定
  • 素材・原稿の受領期限を先方に伝える
  • 外注の見積もり取得(発注DBに行を作る)
  • 納品予定日と請求予定日を入力
  • 検収基準の合意
  • 請求書の発行

テンプレートを作っておくと、新規案件を1クリックで立ち上げられます。ステータスの初期値やプロパティの既定値もテンプレート側で設定できます。

Notionで作るときに詰まりやすい3点

正直に書いておきます。Notionは万能ではなく、受託の管理では次の3つで手が止まります。

1. 数式から別のデータベースを直接は参照できない。 必ずリレーションを張る必要があります。数式2.0ではリレーションプロパティを通して関連ページのプロパティを数式から読めますが(出典:Notion ヘルプ「数式の構文と関数」、2026年10月1日確認)、この記事では設定画面だけで作れて値も表の上で確かめやすいロールアップを使い、外注費合計・支払サイト日数を取っています。ロールアップで持ってくる場合、参照したい項目を1つ増やすたびにロールアップも増えるので、案件DBのプロパティは徐々に長くなります。

2. 「集計の集計」が苦手。 案件ごとの粗利は出せますが、「月別の粗利の推移」を出そうとすると素直にはいきません。ビュー下部の計算行で合計は見られますが、月を横に並べた形にはなりません。月次で追うなら、月ごとの行を持つ集計用データベースを別に作って転記するか、外部ツールに出すことになります。

3. 行が増えるとビューが重くなる。 数百行を超えたあたりから、フィルタの多いビューの読み込みが体感で分かるほど遅くなります。年でデータベースを分けたくなりますが、分けると横断集計ができなくなるので、「アーカイブ」チェックボックスを1つ作り、全ビューのフィルタに「アーカイブ が オフ」を足すほうが後戻りしません。

Notionの料金ページでは、フリープランは個人の利用ならページとブロックが無制限、メンバーが2名以上の場合は制限あり、外部ゲストは10人までとされています(出典:Notion「料金プラン」、2026年10月1日確認)。チームで共有して使う段階になったら、プランを見直すタイミングです。

商談から粗利・資金繰りまでを1つで見る場合

ここからは自社製品の紹介です。上の構成でも受注後の管理は回りますが、商談段階のリストや月別の資金繰りまで含めると、Notionではデータベースとロールアップが増え続けます。私たちが作っている Pipelia は、営業リスト→商談→受注→案件・工程→外注・発注→粗利・資金繰りを最初から一本につないだ受託向けのSFA/CRMです。商談を受注にした時点で案件が生成され、発注を足せば粗利が動き、入金予定は12ヶ月先まで自動で並びます。

工程ガントチャートの画面。案件のタスクごとに外注先が割り当てられ、進捗率が横棒で表示されている

登録なしで触れるデモを demo.pipelia.com に置いています。

よくある質問

Notionとスプレッドシート、受託の案件管理にはどちらが向いていますか?

案件1件ごとに議事録や仕様のメモを一緒に持ちたいならNotion、月別・取引先別の集計を何通りも出したいならスプレッドシートが向いています。Notionは1行が1ページになるため情報の置き場所として優秀ですが、集計の自由度は表計算ソフトに劣ります。まずはNotionで作り、月次の集計だけスプレッドシートに出す運用も現実的です。

Notionの無料プランでもこの案件管理は作れますか?

Notionの料金ページでは、フリープランは個人の利用であればページとブロックが無制限とされているので、1人で使う分には量を気にせず作り始められます。メンバーが2名以上になるとページとブロックに制限がかかり、外部ゲストは10人までです(出典:Notion「料金プラン」、2026年10月1日確認)。チームで共有して使う場合は、その段階で有料プランを検討してください。

数式で外注費の合計が出せないのはなぜですか?

ロールアップの計算方法が「合計」以外になっている可能性が高いです。「オリジナルを表示する」や「一意の値を表示する」を選んでいると、数値の合計ではなく関連ページや値の一覧が入るため、粗利の計算に使えません。案件DBのロールアップを開き、計算を「合計」に変えてください。それでも0になる場合は、発注DBの外注費プロパティが数値型ではなくテキスト型になっていないかを確認します。