工事原価の管理で本当に知りたいのは、「この現場は実行予算に対して、いま何%使ったか」の1つです。これを見るために必要なのは、案件・発注・支払・日報の工数の4つを、同じ案件番号でつないで持つことだけです。kintoneならこの形を1ヶ月ほどで作れます。
実際に動かしている見本は建設会社のkintoneにあります。この記事は、その中の「原価」の部分をどう設計したかの話です。
工事原価をExcelで管理するときに詰まるところ
Excelが悪いわけではありません。1人で1現場を見ている間は、Excelのほうが速いです。詰まるのは、現場が増えて人が増えたときです。
| 詰まるところ | 現場で起きること |
|---|---|
| ファイルが現場ごとに分かれている | 全現場の原価をまとめるのに、毎回ファイルを開いて手で足す |
| 発注書が紙・メール・FAXに散る | 「発注済みだが原価表に入っていない」金額が常にある |
| 日報が紙で、翌週に出てくる | 労務費の反映が1週間遅れる |
| 誰かが開いていると編集できない | 現場から入力できず、事務所に戻ってからまとめて入れる |
| 原価が固まるのが完工後 | 赤字に気づくのが引き渡しのあと |
最後の一行が一番重い問題です。原価は「あとで集計するもの」ではなく「発注した瞬間に確定するもの」として持てると、予算超過に着工中に気づけます。
実行予算と実際原価の差を見るには、何を持てばよいか
工事原価は一般に、材料費・労務費・外注費・経費の4つに分けられます。この4つを「どこから入ってくるか」で並べると、必要なアプリが決まります。
| 原価の種類 | どこで発生するか | kintoneでの持ち方 |
|---|---|---|
| 材料費 | 資材の発注時 | 発注アプリに1発注=1レコード |
| 外注費 | 協力会社への発注時 | 同上(業者名と工種を持つ) |
| 労務費 | 自社の職人が現場に入った日 | 作業日報の作業時間 × 単価 |
| 経費 | 都度(仮設・運搬・保険など) | 発注アプリに区分を足して同じ場所に |
つまり新しく作るアプリは、発注と日報の2つです。実行予算は見積(受注時の金額の内訳)から持ってくるので、見積アプリがあれば足ります。
「予算」と「原価」を比べられる形にしておく
差を見るために最低限そろえたいのは、案件番号(すべてのアプリに同じ番号を持たせる)・工種または費目(予算と原価で同じ言葉を使う)・実行予算の金額・発注金額と支払予定日・支払状況の5つです。
2つめの「予算と原価で同じ言葉を使う」が、実は一番ここで失敗するところです。見積では「木工事」、発注では「大工」と書いていると、機械では突き合わせられません。工種はドロップダウンにして、見積・発注・工程・日報で同じ選択肢を使ってください。
アプリの持ち方
見本では6つのアプリを使っていますが、原価だけを見るなら次の4つです。
| アプリ | 1レコードの単位 | 主な項目 |
|---|---|---|
| ① 案件台帳 | 1現場 | 案件番号・現場名・施主・工種・着工日・完工予定日・受注金額・状況 |
| ② 見積 | 1見積 | 見積番号・案件番号・明細(工事項目・数量・単価・金額)・見積合計 |
| ③ 発注・原価 | 1発注 | 案件番号・現場名・業者名・工種・発注日・発注金額・支払予定日・支払状況 |
| ⑤ 作業日報 | 1人1日1現場 | 作業日・案件番号・現場名・作業者名・作業時間・天候・作業内容 |
原価をサブテーブルに持たない
「案件アプリの中に原価の明細テーブルを作る」形は、最初は楽です。ただ発注は1現場で何十行にもなり、次の3つができなくなります。
- 業者ごとの発注額の集計(「今期、この協力会社にいくら出したか」)
- 支払予定日での絞り込み(「今月払うもの」の一覧)
- 支払状況ごとの色分け
サブテーブルの中身は、kintoneの一覧・絞り込み・グラフの対象になりません。「あとで横に集計したくなるもの」は別アプリにするのが基本です。判断の基準は6章 複数アプリのつなぎ方と5章 アプリ設計の基本にまとめています。
つなぎ方は、ルックアップ+関連レコード一覧
- ルックアップ:発注アプリで案件番号を選ぶと、現場名が自動でコピーされます(→kintoneルックアップ機能の使い方)
- 関連レコード一覧:案件を開くと、その現場の見積・発注・工程・日報が下に並びます
案件台帳の詳細画面はこの形です。

ただし関連レコード一覧に合計は出ません。 レコードを並べるだけの機能です。合計を見る方法は次の2つです。
| やり方 | 向いている場面 |
|---|---|
| 発注アプリのグラフ(集計)で、案件番号ごとに発注金額を合計する | 全現場をまとめて見る。月次の会議 |
| JavaScriptで案件の詳細画面に合計と消化率を出す | 現場ごとに開いたその場で見る |
グラフ機能の使い方はkintoneのグラフ・レポート機能にまとめています。
未払いと予算超過を、色で出す
数字が並んでいても、人は見ません。見てほしいものだけ色を変えるのが、原価管理を続けるコツです。
発注アプリの一覧では、支払予定日と発注金額に色を付けています。

これは無料プラグイン条件書式の設定だけで作っています。手順は4つです。
- アプリの設定 →「プラグイン」→「条件書式」の歯車アイコン
- 「+ ルールを追加」で「支払状況 が 未払い と等しい」を作る
- 色を付ける対象に「発注金額」「支払予定日」を選び、背景色を選ぶ
- 「保存する」→「アプリを更新」
日付や数値は文字の並びではなく大小で比べられるので、「発注金額が1000000より大きいなら濃い色」のような条件も作れます。色の付け方の考え方はkintoneの一覧で条件に合う行に色を付ける方法に詳しく書きました。
予算の消化率を詳細画面に出す(JavaScript)
案件の詳細画面に「実行予算に対して、発注済みの原価が何%か」を出す最小の例です。スペースフィールドを1つ置いておきます。
(() => {
'use strict';
const COST_APP = 3; // 発注・原価アプリのID
const KEY = '案件番号';
const BUDGET = '実行予算'; // 案件アプリの数値フィールド
const AMOUNT = '発注金額';
const SPACE = 'cost-summary'; // スペースフィールドの要素ID
kintone.events.on('app.record.detail.show', async (event) => {
const el = kintone.app.record.getSpaceElement(SPACE);
if (!el) return event;
const no = event.record[KEY].value;
const budget = Number(event.record[BUDGET].value || 0);
const resp = await kintone.api('/k/v1/records', 'GET', {
app: COST_APP,
query: `${KEY} = "${String(no).replace(/"/g, '\\"')}" limit 500`,
fields: [AMOUNT],
});
const cost = resp.records.reduce((s, r) => s + Number(r[AMOUNT].value || 0), 0);
const rate = budget > 0 ? Math.round((cost / budget) * 100) : null;
el.textContent =
`発注済み ${cost.toLocaleString()}円 / 実行予算 ${budget.toLocaleString()}円` +
(rate === null ? '' : `(${rate}%)`);
el.style.color = rate !== null && rate > 100 ? '#c00' : '#333';
return event;
});
})();
30行ほどです。limit 500 を超える発注がある現場では、カーソルを使った取得に書き換える必要があります。JavaScriptカスタマイズの基本は13章 JavaScript・API・外部連携にまとめています。
実際の画面
案件台帳の一覧です。案件番号は年度ごとに自動で振られ(自動採番)、完工予定日までの残日数が自動で入ります(期限・残日数)。

見積の明細には行番号が自動で振られ(テーブル行番号)、金額と見積合計は計算フィールドです。受注が決まったら単価と数量を編集できなくしています(条件付き入力禁止)。

データはすべて架空です。同じ画面は建設会社のkintoneで全部見られます。
正直に言っておく限界
| 限界 | どうするか |
|---|---|
| 会計ソフトとリアルタイムには繋がらない | CSVで受け渡す。まずCSVで運用を固める |
| 労務費の単価を人ごとに持つと給与情報になる | 職種ごとの標準単価にして、個人単価は持たない設計が多い |
| 原価の「締め」の概念がない | 状況フィールドで「確定」を持ち、確定後は条件付き入力禁止で編集を止める |
| 無料プラグインはパソコンの画面のみ対応 | 原価の入力は事務所で行う前提にする。現場からの入力は日報に寄せる |
| 発注が数千件を超える現場 | 集計をグラフ機能に寄せ、JavaScriptでの全件取得は避ける |
会計ソフトとの連携を最初から作り込むと、運用が始まる前に時間を使い切ります。まずは「発注した瞬間に原価が1件増える」状態を作るほうが、効果が出るのが早いです。労務費のもとになる作業時間は日報から入ってきます。日報の作り方は建設業の作業日報をkintoneでスマホ入力にする方法に、職人の配置と工程の管理は建設業の工程管理をkintoneで作る方法に分けて書きました。
進め方と費用
初回30分で業務を聞き、その場で画面の形を出します。そこから1〜4週目で構築し、動くアプリを現場の声で直します。ここまでが0円です(1業務1アプリまで、最大1か月)。1ヶ月後に使うか使わないかを決めていただき、使うと決めた場合だけ月額5万円から(最低12ヶ月)で改善と追加を続けます。
kintoneのライセンス料(スタンダードコース 1ユーザー月1,800円・税抜/最小10ユーザー)は別途、サイボウズ社とのご契約です。使い続けるといくらかかるかは2章 費用の全体像にまとめています。
まとめ
- 知りたいのは「実行予算に対して何%使ったか」の1つ。そのために案件・発注・日報を同じ案件番号でつなぐ
- 工種・費目の言葉を見積と発注でそろえる。ここがずれると比較できない
- 原価は案件のサブテーブルではなく別アプリに持つ。業者別・支払予定日での集計ができるようになる
- 関連レコード一覧に合計は出ない。合計はグラフ機能かJavaScriptで出す
- 未払いと予算超過は条件書式で色を付ける。見てほしいものだけ色を変える
- 会計ソフトとの連携はCSVから。作り込みは運用が回ってから
→ 建設会社のkintone(実際の画面つき) → 建設業の工程管理をkintoneで作る方法 → 建設業の作業日報をkintoneでスマホ入力にする方法 → kintone導入支援の詳細 → kintone無料プラグイン一覧 → 製造業の在庫管理をkintoneで作る方法 → 賃貸管理(入居中〜退去・原状回復)をkintoneで作る方法
よくある質問
kintoneで工事原価の管理はできますか
できます。ただし「原価管理ソフト」がそのまま入っているわけではなく、案件台帳・発注(原価)・作業日報の3つを自分で作り、案件番号でつなぐ形になります。実行予算と実際原価の差を見るのが目的なら、この3つで足ります。
原価は案件アプリのサブテーブルに持ってはいけませんか
件数が少なければ持てますが、おすすめしません。発注は1案件に何十行も増え、業者ごとの集計や支払状況の絞り込みができなくなるためです。発注は別アプリにして案件番号でひも付けると、業者別・工種別の集計ができます。
関連レコード一覧に原価の合計は出せますか
標準では出せません。関連レコード一覧はレコードを並べる機能で、合計は表示されません。合計を出したい場合は、発注アプリのグラフ(集計)で案件番号ごとに合計するか、JavaScriptで詳細画面に合計を表示します。
会計ソフトと連携できますか
CSVでの受け渡しが現実的です。発注・原価のデータを会計側の形式で書き出せるようにしておくと、入力が二重になりません。APIのある会計ソフトなら直接つなげますが、まずはCSVで運用を固めることをおすすめします。
作るのにいくらかかりますか
構築は1業務1アプリまで最大1か月0円です。使うと決めていただいた場合だけ、月額5万円から(最低12ヶ月)で改善と追加を続けます。kintoneのライセンス料(スタンダードコース 1ユーザー月1,800円・税抜/最小10ユーザー)は別途、サイボウズ社とのご契約です。


