案件別収支の可視化とは、会計上の利益を作り直す作業ではなく、案件(取引)というレコードの上に売上と原価の両方を寄せる作業です。 売上は商品項目、外注費は原価の明細、社内工数は月次の集計値としてぶら下げ、粗利はロールアップ集計で自動計算します。 この形にしておくと、締めた後ではなく提案している最中に、その案件が儲かるのかを営業自身が判断できます。
「終わってみないと、その案件が儲かったのか分からない」——受託やコンサルティングの現場で、いちばんよく聞く悩みです。
原因は明確です。売上の情報は営業が持ち、外注費の情報は経理が持ち、実際にかかった工数は現場が持っているからです。3つが別の場所にあると、案件単位で足し合わせる作業が月末の手作業になります。そして手作業である以上、提案中の案件には適用されません。
つまり案件別収支の設計は、経理の仕事をCRMに移す作業ではありません。判断が必要な時点で、判断に必要な数字がその場にある状態を作る作業です。
この記事では、HubSpotを例に、案件別の収支をCRM上でどう持つかを整理します。受託開発・コンサルティング・制作会社などで案件の採算管理を担っている方、見積の根拠が担当者ごとにばらついている方に向けた内容です。次の4点がわかります。
- 売上と原価をどのレコードに持つか ── 案件単位に寄せるための最小構成です
- 工数をどこまでCRMに入れるか ── 工数管理システムとの線引きです
- 粗利を自動計算する方法 ── ロールアップ集計と計算式の使いどころです
- レポートで何を見せるか ── 使えるレポートと、その制約です
読み終える頃には、自社の案件収支をCRM上でどう組み立てるかの方針が立つ状態になります。ぜひ最後までご確認ください。
なぜ案件の粗利が営業の手元で見えないのか
まず、この情報が分散する理由を整理します。担当者の努力不足ではなく、情報の発生元が違うことに原因があります。
3つの数字が別々の場所で生まれる
| 数字 |
誰が持っているか |
いつ確定するか |
| 契約金額(売上) |
営業 |
受注時 |
| 外注費・仕入 |
経理・購買 |
請求書が届いたとき |
| 社内工数 |
現場のメンバー |
作業した後 |
確定する時期がずれているのが本質的な問題です。 売上は受注時に決まるのに、原価は数か月かけて積み上がります。だから期中は「たぶん儲かっているはず」でしか語れません。
見積の根拠が残らない
もう1つの問題は、見積時に想定した原価が残らないことです。「この案件は3人月で見ている」という前提が担当者の頭の中にしかないと、実績と比べようがありません。比較できなければ、見積の精度は永久に上がりません。
会計システムでは案件単位にならない
会計側で部門別の損益は出ていても、案件単位にはなっていないことがほとんどです。案件別の原価計算をしようとすると、勘定科目とは別の軸で集計する仕組みが必要になり、その時点で手作業に戻ります。
だからCRM側で案件単位に寄せる価値があります。 会計の正確性を目指すのではなく、判断できる精度の数字を早く出すのが目的です。
案件別収支を持つための最小構成
ここからが設計です。まず、何をどのレコードに置くかを決めます。

これは特定の企業の実装ではなく、受託業でよく出てくる構造を一般化した設計例です。
案件は取引で持つ
案件は取引オブジェクトで持ちます。プロジェクトが長期にわたる場合も、原則として1案件=1取引にしてください。フェーズごとに取引を分けると、案件全体の採算が見えなくなります。
ただし、契約が明確に分かれている場合(要件定義契約と開発契約が別契約)は、契約単位で取引を分けたうえで、会社レコードで束ねます。契約書の単位に合わせるのが迷わない基準です。
売上は商品項目で持つ
契約金額は、商品項目の明細として持ちます。「要件定義一式」「設計・実装」「保守(月額×か月)」のように分けておくと、次の2つが効いてきます。
- どこで利益が出ているかが分かる:一式で持つと、赤字の工程が特定できません
- 請求のタイミングと揃う:分割請求の予定がそのまま明細になります
見積明細の粒度をどう決めるかの考え方は物流の見積・運賃改定をCRMで管理するでも扱っています。業界は違いますが、「交渉の単位に明細を合わせる」という原則は共通です。
原価は2つに分けて持つ
原価は性質が違う2つに分けます。
- 外注費・仕入:金額が請求書として確定するもの。これは案件に紐づけて明細で持てます
- 社内工数:人の時間。金額ではなく時間として発生するもの
この2つを混ぜると、どちらの精度が低いのか分からなくなります。外注費は実額、社内工数は単価×時間の推定値という性質の違いを、設計上も分けておいてください。
工数をどこまでCRMに入れるか
ここが最も判断が分かれる部分です。正直に書きます。
CRMは工数管理システムではない
日々の作業時間の入力をCRMで受けるのは、おすすめしません。 理由は3つあります。
- 入力の頻度が違う。工数は日次、CRMは案件の節目ごとに触るものです
- 入力する人が違う。作業者全員にCRMのシートを配るのはコストに見合いません
- すでに別のツールがあることが多い。二重入力になります
月次の集計値だけを取り込む
現実的なのは、工数管理ツールや勤怠システムで集計した月次の値を、案件に紐づけて取り込む方式です。取り込むのは次の2つで足ります。
日次の明細は元のツールに残し、CRMには月次の集計だけを置きます。これで「予定3人月に対して、いま2.4人月使っている」という判断ができます。
社内単価は1つに決める
工数を金額に換算する単価は、最初は全社1つの平均単価で構いません。職種別・等級別に分けたくなりますが、精度を上げるほど運用が重くなり、そもそも運用が止まります。全社平均でも、案件間の比較には十分使えます。人件費を案件に配賦する考え方そのものは人件費の原価算入と工数管理で扱っています。
粗利をロールアップで自動計算する
数字が揃ったら、集計を自動化します。

計算プロパティーで組む
HubSpotの計算プロパティーは、Marketing Hub・Sales Hub・Service Hub・Data Hub・Content Hub・Smart CRM・Revenue Hubの各 Professional 以上で利用できます。作成できるのは、関連レコードのプロパティーに基づいて自動計算するロールアップ集計プロパティー、2つの日付間などを測る時間計算プロパティー、独自の条件で値を計算するカスタム式計算プロパティーの3種類です。ロールアップで使える集計は、最小値・最大値・件数・合計・平均・最早の日付・最新の日付の7種類で、集計対象は全ての関連レコードにも、特定の関連付けラベルが付いた関連付けだけにも絞り込めます(計算プロパティーを作成する)。
この「ラベルで絞り込める」点が効きます。案件に紐づくレコードのうち、原価ラベルが付いたものだけを合計すれば、売上の明細と混ざりません。
作る順番
- 原価合計:外注費と工数換算額の合計をロールアップで出します
- 粗利:売上金額から原価合計を引くカスタム式で出します
- 粗利率:粗利を売上で割り、表示形式をパーセントにします
粗利率は必ず率で持つ
金額だけを持つと、規模の違う案件を比較できません。率で持つと、小さい案件の採算悪化に気づけます。実務では、金額の大きい案件より、小さくて手離れの悪い案件のほうが利益を削っていることのほうが多いためです。
なお計算結果の小数点は必ず丸めてください。丸めずに表示すると「粗利率 31.847293%」のような値が画面に出て、そのまま顧客向け資料に紛れ込みます。
見積時の想定原価も持つ
実績だけでなく、見積時に想定した原価を別のプロパティーとして持ってください。これがあると「想定より何%超過したか」が出せます。この差分こそが、次の見積の精度を上げる唯一の材料です。
レポートで何を見せるか
最後に、集めた数字をどう見せるかです。

カスタムレポートビルダーの要件と制約
HubSpotのカスタムレポートビルダーは、Marketing Hub・Sales Hub・Service Hub・Content Hub・Revenue Hubの各 Professional・Enterprise で利用できます。1つのレポートで使えるデータソースは最大5つで、自動的に選択されたソースもこの上限に計上されます。可視化は棒グラフ・折れ線グラフ・面グラフ・複合グラフ・横棒グラフ・KPIグラフ・ゲージグラフ・テーブルなどが選べます(カスタムレポートビルダーについて理解する)。
制約として、分類条件のフィールドは100を超えてはならず、複数のデータソースを使うと関連レコードが複数回カウントされる可能性があります。案件と商品項目と工数を1つのレポートで混ぜると、金額が二重計上されることがあるという点は、設計時に必ず確認してください。
最初に作る3つのレポート
- 案件別の粗利率一覧:低い順に並べます。営業会議で見ます
- 月次の粗利推移:受注額ではなく粗利で見ます。経営会議で見ます
- 想定原価と実績原価の差分:超過額の大きい順に並べます。振り返りで見ます
会議の場面ごとにダッシュボードを分ける考え方はHubSpotレポート・ダッシュボード設計ガイドにまとめています。
会計システムとの境界
CRM側の数字は、会計上の確定値ではありません。境界は次のように引きます。
| 情報 |
置き場所 |
理由 |
| 確定した売上・原価・仕訳 |
会計システム |
決算と一致している必要があります |
| 請求書の発行・入金消込 |
会計システム |
証憑として残す必要があります |
| 見積時の想定原価 |
CRM |
会計には存在しない数字です |
| 期中の進捗と見込み |
CRM |
判断のための速報値です |
| 案件別の粗利率 |
CRM(速報)/会計(確定) |
目的が違うので両方持って構いません |
CRMの数字は速報であると、社内で明言してください。 ここを曖昧にすると、経理から「数字が合わない」と指摘され、運用が止まります。速報と確定は役割が違います。士業事務所で期日ドリブンの案件を管理する設計は決算期進行のパイプライン設計でも扱っています。
運用を続けるための入力設計
最後に、いちばん現実的な論点に触れます。この仕組みは、誰かが数字を入れ続けなければ動きません。
入力する人と回数を決める
続かない仕組みには共通点があります。入力する人が決まっていないことです。次のように、項目ごとに担当と頻度を先に決めてください。
| 項目 |
入力する人 |
頻度 |
| 契約金額・売上明細 |
営業担当 |
受注時に1回 |
| 見積時の想定原価 |
営業担当 |
受注時に1回 |
| 外注費 |
経理・購買 |
請求書の受領時 |
| 月次の投入工数 |
案件責任者 |
月1回 |
営業が入力するのは受注時の2項目だけにしておくのが、続けるコツです。入力の回数が増えるほど、抜けが増えます。
ステージ移行時に必須入力にする
入力漏れを人の意識で防ぐのは無理があります。取引が「受注」ステージへ移るときに、想定原価の入力を必須にしてください。 必須入力は、単に漏れを防ぐだけでなく、新しく入った営業担当に「受注時には原価の見立てを持っておくものだ」と教える役割も果たします。
ステージごとに必須項目を設ける考え方は、パイプライン設計の基本です。ステージの定義・受注確度・必須プロパティーをセットで決めておくと、入力の負荷を増やさずにデータの質を上げられます。
最初から完璧を目指さない
3か月分のデータが溜まるまでは、数字の精度を議論しないでください。最初の数か月は、入力の習慣を作る期間と割り切ります。精度の議論を先にすると、「その単価はおかしい」という指摘が入力をやめる理由になります。まず溜める、次に精度を上げる、という順番が現実的です。
よくある質問
案件別収支の可視化について、ご相談の場でよくいただく質問をまとめました。
Q1. 案件をカスタムオブジェクトで作るべきですか。
多くの場合は取引で足ります。案件は「提案→受注→進行→検収」と状態が進むものなので、ステージを持つ取引オブジェクトと性質が一致するためです。カスタムオブジェクトが必要になるのは、1つの契約の下に複数の独立した納品物がぶら下がり、それぞれ別々に検収されるような構造のときです。判断の軸はカスタムオブジェクトを作るべきかの判断基準で整理しています。
Q2. 工数管理ツールを持っていません。何から始めればよいですか。
担当者の申告ベースの月次工数から始めて構いません。 精度は落ちますが、ゼロよりはるかに有益です。実務では「この案件、今月どれくらい入った?」を月末に聞いて記録するだけでも、案件間の比較はできるようになります。精緻な工数管理ツールを導入してから始めようとすると、たいてい着手しないまま1年が経ちます。
Q3. 保守・運用の継続案件は、どう持てばよいですか。
年度ごと(または契約期間ごと)に取引を作り直してください。 継続案件を1つの取引で持ち続けると、いつの粗利なのか分からなくなります。年度で区切れば、前年度との比較ができ、単価改定の判断材料になります。
Q4. 赤字案件が見えるようになると、現場が数字を隠すようになりませんか。
その懸念は現実に起きます。だからこそ、最初は個人の評価に使わないと明言してください。目的は見積の精度を上げることであって、担当者を責めることではありません。実務でうまくいくのは、想定原価と実績の差分を「見積の学習データ」として扱い、超過した案件は次回の見積係数に反映する、という運用です。数字を隠されると、そもそも改善の材料が失われます。
Q5. 粗利率の目標値はどう決めればよいですか。
一律の目標値を最初から決めないでください。まず3か月分の実績を出し、案件の種類ごとの分布を見るのが先です。新規開拓の案件と、既存顧客の継続案件では、あるべき水準がそもそも違います。分布を見たうえで、種類ごとに下限を決めるほうが機能します。分布を見ずに目標だけ決めると、達成不可能な数字が独り歩きします。
関連記事
まとめ
案件別収支の可視化は、会計を作り直す作業ではなく、判断の時点で数字がその場にある状態を作る作業です。要点を整理します。
- 案件は取引で持ち、契約書の単位に合わせる。フェーズで分けると全体の採算が見えません
- 売上は商品項目、原価は外注費と工数に分けて持つ。性質の違う数字を混ぜないためです
- 工数の日次入力はCRMで受けない。月次の集計値だけを取り込みます
- 社内単価は全社1つから始める。精緻にするほど運用が止まります
- 粗利は率で持ち、必ず丸める。規模の違う案件を比較するためです
- 見積時の想定原価を必ず残す。実績との差分が、次の見積の精度を上げる唯一の材料です
- CRMの数字は速報だと明言する。会計の確定値と役割が違います
最初の一歩としておすすめしたいのは、「直近で完了した案件を5件選び、売上・外注費・投入工数の3つを書き出す」ことです。書き出せない項目があるなら、それが今の管理で失われている情報です。5件並べるだけで、どの種類の案件が利益を削っているのかが見えてきます。
そのうえで、次の受注案件から想定原価をプロパティーとして残し始める。ここから始めるのが現実的です。
自社の案件構造に合わせた収支管理の仕組みを具体的に検討したい場合は、StartLinkの無料相談でご相談ください。現在の案件の持ち方と原価の把握方法をうかがったうえで、設計の方向性をご提案します。