SHARE REPORT導入検討編 / 2026.10.27
SMALL CONTRACTOR / DATA & OPERATIONS

小さな工事会社の
データ基盤をどう作るか。

sukunaの考え方を、労務・配員・工程・受注へ。
「数字を見る」だけで終わらせず、明日の段取りと、次の受注判断に使う仕組みまで考える。

調査日:2026年10月27日 / 対象:10〜20人程度の建設・電気工事会社を想定した設計検討
調査範囲:公式資料・GitHubのREADME・一部データ定義。各製品の実機比較は未実施。
前編:デジタル庁の「sukuna」とは?

EXECUTIVE FINDINGS

「小さなsukuna」を作るだけでは、
現場の仕事はつながり切らない。

デジタル庁の記事が紹介するsukunaは、既存システムのデータを収集・蓄積・加工して、分析に使えるようにする基盤です。日々の受注入力や現場の配員そのものを回すアプリとは役割が違います。[1]

工事会社への応用では、業務を記録・更新する仕組みと、記録を横断して判断する仕組みの両方を考える必要があります。ただし、両方を新しく作り直す必要があるとは限りません。

既存の記録が使える会社

台帳や勤怠を残し、データの取り込み・照合・集計を追加する。まず見るべきは、必要な明細を取り出せるかです。

記録のつながりがない会社

ERPNextなどの業務基盤を比較する。受注・工事・作業時間を結ぶ部分は、既存実装を利用できます。[2][3]

現場の操作が合わない会社

裏側の台帳は既存製品を使い、配員盤・日報など現場に必要な画面だけを自作する方法を比較します。

本稿の比較判断と設計案は、確認できた機能からの評価です。特定企業の導入済み実績や、導入後の効果を示すものではありません。sukuna本体をそのまま導入できる公式公開リポジトリは、今回の検索では確認できませんでした。

01 / 抽象化すると何を作るのか

入力画面をそろえるより、
同じ出来事を、同じ根拠で使い回す。

層担当すること工事会社での例
業務の記録・更新誰が何を決め、何を実施したかを確定する見積改訂、受注確定、配員変更、日報提出、勤怠修正
データの接続・整備別々の記録を同じ工事・人・期間へ結び直す勤怠の社員番号と日報の作業員、台帳と請求の工事番号を対応付ける
集計・分析決めた定義で、再計算できる数字を作る工事別実績人工、残作業、来月の確定負荷、未請求額
判断と実行例外を見つけ、担当者が対応する配員を変更する、材料を催促する、工期を相談する、追加工事を請求する

この分解なら、元データがExcelでも、既製品でも、自作アプリでも構いません。「正しい値をどこで直すか」を一つに定め、他の画面はそれを参照する設計にします。全システムを一つのデータベースへ押し込むことと、情報を一貫させることは別です。

更新頻度も分ける。
明日の配員や当日の変更は業務画面へすぐ反映する。一方、原価集計は必要に応じた定時更新でもよい。分析画面には「いつまでの記録を取り込んだか」を表示し、古い集計を現在の予定と取り違えない設計にします。

sukunaの2023年の構成にはBigQuery・dbt・Power BIなどが含まれますが、製品名をすべて踏襲することを本稿の前提にはしません。[1]

02 / 零細の工事会社へ落とす

労務・工程・受注を、
別々の管理表で終わらせない。

労務管理:勤怠と「何に時間を使ったか」を分けて、照合する

勤怠は始業・終業・休憩・休暇など、働いた時間の記録。工事別の作業実績は、その時間をどの工事・作業へ使ったかの記録です。同じ一日でも、午前と午後で現場が変わったり、業務上の積込みや移動などが入ったりします。

Frappe HRにはチェックイン・チェックアウト記録があり、ERPNextには工事やタスクへ時間を割り当てるTimesheetがあります。既存実装でも両者は分かれています。厚生労働省の説明でも、労働時間は始業・終業の確認と記録が基本です。[4][5][18]

設計案:勤怠を正本として残し、工事・社内作業などへの時間配分を別に記録する。差があれば確認対象にする。配分漏れを理由に勤怠を削らず、配員予定をそのまま勤務実績として確定しない。

工程管理:ガントチャートと、班・人・車両の割当は別の問題

「基礎が終われば建柱できる」という作業順序に加えて、「その日に必要な技能を持つ人がいるか」「車両が空いているか」「材料や着工条件がそろうか」を扱う設計にします。信号・照明工事を想定するなら、停電調整、道路使用等の手続き、交通規制、他工種の完了も、該当する作業の開始条件として持たせる案が考えられます。

このときの価値は、工程表を自動で美しく描くことより、明日の施工を止める不足を、今日のうちに担当者へ戻せることです。工事全体の期間と、実際に自社の班を入れる日を分ければ、工期の長い案件が毎日同じ人数を拘束しているように見える誤りも防げます。

受注管理:「売上になるか」に「施工できるか」を加える

引合い・見積提出・内示・契約済みを別の状態で管理し、案件ごとに予定時期と必要な工種・人工を付ける設計です。確定受注の負荷と、未確定案件が入った場合の負荷を切り替えて見ます。

見込案件を一律に「確率50%だから人数も半分」と扱うと、実際に受注した日の配員を説明できません。営業見通しの期待値とは別に、確定分だけ/有力案件も入った場合などのシナリオで施工余力を確認する方が、この用途には向いています。

工事原価:終わってからの反省だけでなく、途中で手を打つ

架空の例
見積30人工に対し、実績24人工+残作業見込14人工。
完了見込は38人工。見積より8人工多くなる見通し。

実績だけなら「24人工使った」で終わります。残作業も持てば、施工方法の見直し、応援の手配、追加変更の確認へつなげられます。進捗率だけから残人工を機械的に推定するのではなく、残る作業と必要人数・時間を更新する方法です。

材料費なども含める場合は、実績原価・発注済み未計上分・未発注の残作業見込を重複しない区分で集計します。受注額、請求額、入金額も分けます。ここで作るのは管理用の完了見込であり、会計上の売上認識や利益と同一視しません。

03 / 既存実装の比較

使う候補と、設計を学ぶ候補を分ける。

比較軸は、業務の範囲、入力負担、データの取り出しやすさ、追加開発箇所です。GitHubのスター数だけで導入順位は付けていません。

候補公式資料・公開コードで確認したもの今回の用途での評価
ERPNext + Frappe HR受注とProjectの関連付け、Task、Timesheet、工事別の費用・請求情報。HR側には出退勤、シフト、休暇の機能。[2][3][4][5]業務統合型の第一比較対象。現場用画面、班単位の操作、日本語での実務、既存会計との接続を試す。日本の給与計算まで一度に置き換える計画にはしない。
Odoo Community + OCA Field Service現場、作業員、作業指示。18.0ブランチには販売、工数、車両、技能、定期作業、在庫、外注などの連携モジュール。[6]短工期・修繕・巡回などの比較対象。「現場へ誰が何をしに行くか」の構造が近い。必要モジュールとOdoo本体の版をそろえて検証する。
Dolibarr見積・受注・請求、取引先、Projects & Tasks、Timesheets、REST API。READMEはタスク依存関係と給与モジュールを未充足機能として記載。[7]受注・請求から始める比較対象。必要機能だけ選ぶ構成を検討しやすい。複雑な工程と配員まで同じ製品で完結させる案とは分ける。
OpenProject作業項目、ガント、時間・費用管理。Team plannerとResource managementはEnterprise追加機能。[8]工程・進捗が主課題なら比較。無料Community版で配員機能までそろう、とは扱わない。受注・請求の正本は別途考える。
Kimai顧客・プロジェクト別の時間記録、料金・原価レート、予算、出力、JSON API。[9]工事別工数の穴を埋める比較対象。受注・工程を丸ごと置き換えるのではなく、既存台帳へ時間実績をつなぐ使い方を検討。
dbt + DuckDB/PostgreSQL + Metabasedbt公式のローカル実習用リポジトリ。MetabaseはPostgreSQLなどへの接続・分析を提供。[10][11]sukuna型の分析基盤を小さく試す比較対象。日報や受注を入力する業務アプリではない。既存明細から集計を再現する試作に使う。

ERPNextは「対応しているらしい」ではなく、データ定義まで確認

公開されたProject定義には、sales_order、estimated_costing、total_costing_amount、total_purchase_cost、total_billed_amountなどが実在します。TimesheetにもProject・Task・時間を持たせる仕組みがあります。[3][4]

つまり、受注・工事・労務費・購買・請求の関連付けを、ゼロから全設計する必要はありません。これが自社の「請負工事」「常用」「複数現場」の扱いに合うかを、同じ具体例で比較する価値があります。

建設業専用の新しい実装にも、学べる部分がある

設計参考・ベータ

BuildSuite Core

ERPNext上に作業区分、工程、追加変更、班単位の日次記録などを追加。施工の記録と会計の役割を分ける設計が参考になります。

公開READMEはベータと明記。Timesheetは非公開の別Workforceアプリにあると記載され、公開部分だけで全ての工数業務がそろうわけではありません。[12]

現場画面の参考

Fieldjig

小規模施工会社向けに、工事・タイムカード・日報・文書をまとめるプロジェクト。スマホでの入力画面が参考対象です。

公式サイトは開発中で、本番利用可能な完成品とは位置付けていません。現段階では、試用・設計参考として扱います。[13]

積算・図面側の候補

OpenConstructionERP

BOQ、PDF・CAD・BIMからの数量拾い、工程・コストなどを掲げる公開実装です。[14]

今回は労務・配員・受注の接続を優先するため、比較の中心には置きません。図面から数量・見積へつなぐ課題では、別途評価する候補です。

「公開コードがある」「全機能が公開されている」「自社で運用できる」は別の判定です。ライセンス、対象版、必要モジュール、バックアップと更新方法まで含めて採用単位を決めます。OCAはモジュールごとのライセンス確認も必要です。[6]

04 / どの製品を選んでも共通する設計

軸は「工事番号」だけでは足りない。

工事番号は重要ですが、顧客・契約・工事・現場の場所・日々の作業を同じものとして扱わない設計にします。一つの契約で複数箇所を回る場合や、同じ場所で別契約の工事をする場合にも耐えられるようにするためです。

記録のまとまり持たせる主な情報つながる判断
引合い・見積・契約顧客、版、金額、状態、予定時期、受注・変更の根拠確定売上の見通しと、未確定案件の施工負荷を分ける
工事・現場・作業契約との関係、場所、作業区分、必要数量、工期、開始条件何が残り、何待ちで施工できないか
人・技能・所属社員等のID、技能・資格、有効期間、所属、勤務可能枠その作業へ割り当てられる人を判断する
予定の割当人・班・車両、作業、開始・終了、確定/仮押さえ二重配員、資源の取り合い、受注余力
勤怠本人、始業・終業・休憩、元記録、修正・承認履歴労働時間と予定・日報の差を確認する
作業実績・出来高人、作業、時間、施工数量、未完了理由、残作業見込工数の超過や遅れを途中でつかむ
購買・外注・原価工事・作業との関係、発注、受入、消費、費用、計上状態未計上を含む原価見込を重複なく見る
請求・入金契約・変更との関係、請求対象、請求日、入金、残額施工済み未請求と、請求済み未入金を区別する

この表は論理的な区分です。八つの表や八つのアプリを必ず作るという意味ではありません。採用製品の既存データを利用し、足りない関係だけ追加する案です。

先に決めたい、四つの共通ルール

対応表を持つ。既存の社員番号や工事番号を無理に全廃せず、「出所のシステム+元のID」と共通IDの対応を残します。工事名の似た文字列だけで自動的に合体させません。

予定・実績・見込を別にする。雨で予定が動いても、実績は動きません。工程の当初計画と変更履歴を残せば、後から予定を書き換えて遅れを消してしまうことも防げます。

根拠と訂正履歴を残す。受注の根拠、日報、打刻、請求書へ戻れるようにします。訂正は誰がいつ何を直したかが分かる形にし、集計側でこっそり数字を直しません。

計算の単位を固定する。一人工の換算、時間の丸め、材料の単位、税込/税抜、労務費の単価と適用期間を明示します。単価変更で過去の管理原価まで意図せず書き換わらないようにします。

05 / 実装は三つのルートで比較する

最初から「自作」「ERP」「クラウド」を
答えにしない。

A / 既存活用

今ある台帳を残し、分析基盤を足す

既存台帳・勤怠・会計の明細 → CSV/API取り込み → 共通IDと集計ルール → 管理画面

向く条件:記録は既にあり、困っているのが集計・照合・横断確認である場合。

試作案:コピーしたCSVをDuckDB+dbtで整理し、合計が元資料と一致するかを見る。定期共有へ進めるなら、PostgreSQLなどの集約先とMetabaseを組み合わせる案を比較します。公式のjaffle_shop_duckdbは、ローカルで変換・テストを試す教材です。工事管理アプリそのものではありません。[10][11]

得るもの:現場の入力方法を大きく変えず、経営・事務の集計を減らす。
残る課題:元システムに配員や残作業の記録がなければ、分析基盤だけではその情報は生まれません。

B / 業務統合

ERPを土台に、受注から実績までつなぐ

受注 → 工事・作業 → 予定/実績 → 原価・請求
共通の業務基盤を、役割ごとの画面で使う

向く条件:受注、工事、日報などがそもそも結び付かず、転記や更新漏れが主な問題である場合。

試作案:ERPNext+Frappe HRで同じ数件の工事を通す。短い現場作業の繰り返しが中心ならOCA Field Serviceも比較する。見積・受注・請求の整理が中心ならDolibarrも比較対象にします。全製品を一度に入れる案ではありません。

得るもの:関連付けや承認、権限など、既存機能を利用できる。
比較する負担:既存帳票・日本語・入力手順の適合、データ移行、拡張の維持。使わない機能を現場に操作させない設計も必要です。

C / 部分自作

正本は残して、現場に合う入口だけを作る

現場用の配員盤・日報画面 → 権限付きAPI → 既存の業務データ → 集計

向く条件:台帳や基幹機能は利用できるが、班単位の一括入力やスマホ操作が合わない場合。

試作案:共通の工事・作業・人のIDを使う「今日の予定」「実績確認」「追加作業」の画面を作り、APIで既存データへ接続する。FrappeにはREST API、KimaiにもJSON APIがあり、接続する入口は公開されています。[15][9]

得るもの:作業員に管理者向けの複雑な画面を触らせずに済む。
比較する負担:API変更、権限、通信失敗時の再送、二重登録防止、変更履歴を自分たちで維持する範囲。

dbtも、大きなクラウドも、採用を先に決めない。
集計が少なければSQLや短い取り込み処理で足りる場合があります。逆に、加工ルールや参照先が増えるならdbtのような管理が役立ちます。データ件数だけでなく、誰が運用し、どう更新するかで構成を選びます。
06 / 現場で使われる入口

一度の入力を、勤怠・日報・原価へ。
ただし、記録の意味は混ぜない。

次は実装時の画面案です。現場の人が毎日同じ工事名や班員を入力するのではなく、事務側が決めた予定を候補として出し、実際との差だけ確認できるようにします。

利用者主に触る画面裏側への反映
作業員出退勤、自分の今日の現場、実績・変更点の確認本人の勤務記録と、工事別時間の下書き・確認
班長・職長班員、実際の作業、施工数量、残作業、変更・中止理由日報・出来高・工事別工数。班から離れた人の時間は個別に修正できる
事務・配員担当全現場の割当、未提出、勤怠との相違、材料・手続きの未完了例外処理、承認、翌日の予定更新
経営者確定受注負荷、完了見込、未請求、今週の不足と判断待ち受注可否、応援・外注、工期相談、追加変更の判断

NFC社員証を使う入口とスマホを使う入口は、同じ本人IDへ結べる設計にできます。Frappe HRにも外部打刻の取り込みを想定した仕組みがありますが、実際のカードリーダーとの接続は別途アダプターの実装・検証範囲です。[5]

常用・協力会社の作業記録は、自社社員の給与対象時間と区別します。また、労務単価を全員の現場画面に表示する必要はありません。作業員・班長・事務・経営で、見せる情報を分けます。

入力負担を評価するための仮定
16人 × 毎日3分の追加入力 × 月20日 = 月16時間
これは効果の実測ではなく試算です。ライセンス料が無料でも、増える作業が減る作業を上回れば導入効果はありません。

AIと自動配員は、役割を分ける

AIを使う候補:文章・音声の日報から入力候補を作る、変更理由をまとめる、必要な元資料を探す。確定前に根拠と候補を人が確認できる形にします。

確定計算の担当:労働時間、工数、費用、残額はルールを定めた処理で再計算する。配員の重複や技能条件も、明示した条件で確認します。

配員案を自動で作る段階では、GoogleのOR-Toolsに勤務割当の公式実装例があります。これを参考に、人の重複・休暇・必要技能・車両などを条件としてモデル化する案が考えられます。完成済みの建設業向け配員アプリではなく、最適化に使う部品です。[16]

最初の価値は、全自動の最適配員よりも、手配した予定の「二重割当」「条件不足」を見つけることにもあります。無理な条件では、もっともらしい配員を返さず、どの条件が両立しないかを確認できるようにします。

07 / 導入前に、同じ具体例で比べる

機能一覧ではなく、
工事を一件通した結果で判断する。

次のケースを、既存活用型と業務統合型に同じ条件で当てます。すべてのケースを最初から作り込むのではなく、自社で実際に頻度や手間の大きいものを選んで比較する方法です。

ケース確認する動き合格の目安
午前と午後で別現場一日の勤怠を残したまま、作業実績を二つの工事へ配分二重入力や二重計上なく、個人と工事の両方から確認できる
夜間作業・日跨ぎ開始・終了日時、休憩、翌日の予定との関係日付だけで切って時間を落とさず、元記録へ戻れる
雨天で延期班・車両・他の工事との衝突、延期理由、変更履歴予定だけが更新され、過去の実績や当初計画は消えない
見込案件が受注確定仮の負荷を確定へ移し、人・技能・時期ごとの余力を再確認案件を二重登録せず、確定前後の違いが見える
追加工事が発生変更の根拠、追加費用、承認、請求との関連施工済みなのに請求対象へ上がっていない作業を抽出できる
過去の日報を訂正差戻し・承認と、集計の再作成誰が何を直したか分かり、再取り込みしても増殖しない
担当者やシステムの交代明細出力、添付の参照、バックアップからの復元画面だけでなく、IDと関連を含むデータを持ち出し・復元できる

比較で測るもの

入力が減ったか。作業員・班長・事務それぞれの手間と、同じ情報を入力する回数を見る。数字が合うか。元の日報・勤怠・台帳の合計と照合する。判断が変わるか。不足や未請求が、対応できる時点で見つかるかを見る。保守できるか。更新・権限変更・復元を、担当者が再現できるかを見る。

現行の受注・日報・勤怠・会計から取り出せる項目は、この調査では確認していません。したがって、いま採用製品を一つへ決めるのではなく、同じ数件の工事と一期間の明細を使って、連携で足りるのか、記録側の変更が必要なのかを判定するのが次の具体的な選定作業です。

研究から実務へ

目指すのは、管理表を増やすことではなく、
「受けた仕事を、回せて、説明できる」状態。

まず比較するのは、既存データをつなぐ案と、ERPNextを土台にする案。短い現場作業・保守の比重が大きければOCA Field Serviceも加える。

自作するなら、受注・給与・会計を全部作り直す前に、班の配員、実績確認、残作業、追加変更など、自社の仕事に固有で既存機能では埋まらない部分を見極める。その結果を共通データへ戻し、次の工程と受注に使う。

この循環まで設計すると、sukunaの話が「データ分析の紹介」から、工事会社の具体的な仕組みづくりへ進みます。

一次資料・GitHubリンク

確認日:2026年10月27日。製品の説明は各開発元の資料、適合性の評価と導入ルートは本稿の設計判断です。GitHubの開発ブランチの記載を、安定版での動作確認済み機能としては扱っていません。

  1. デジタル庁:データ分析基盤「sukuna」。2023年6月27日の記事。役割と当時の構成。
  2. frappe/erpnext / Projectsの導入例。受注からProjectを作り、時間・材料・請求へ結ぶ例。
  3. ERPNext:Projectのデータ定義 / Project公式説明。受注、見込費用、実績費用、請求などの関連項目。
  4. ERPNext:Timesheet。従業員・作業・工事・時間・原価レートの関係。
  5. frappe/hrms / Employee Checkin / Auto Attendance。打刻と勤怠、外部記録の取り込み。
  6. OCA/field-service:18.0ブランチ。販売・工数・技能・車両等のモジュール一覧とライセンスの説明。
  7. Dolibarr/dolibarr / Module Projects。機能と未充足機能の説明。
  8. opf/openproject / Enterprise guide / 公式用語集。工程管理と有償追加機能の区分。
  9. kimai/kimai / APIドキュメント。時間・プロジェクト・レート・連携。
  10. dbt-labs/jaffle_shop_duckdb。クラウドデータ倉庫を用意せずに試す公式サンプル。
  11. metabase/metabase / データベース接続 / アプリケーションDBの構成。分析用接続先とMetabase自身の保存先は別の役割。
  12. BuildSuite Core:公開README。施工記録と会計の分担、ベータ表記、Timesheetの公開範囲。
  13. Fieldjig公式サイト / eli-reid/fieldjig。小規模施工向けの目的と開発段階。
  14. datadrivenconstruction/OpenConstructionERP。BOQ・図面・モデルと工事コストの機能説明。
  15. Frappe Framework:REST API。既存データへ別の入口を接続するための公式仕様。
  16. google/or-tools / Employee Schedulingの公式実装例。条件付き勤務割当の参考。
  17. Frappe HR:Roster / Shift Location。勤務予定と場所の管理に関する補足資料。
  18. 厚生労働省:労働時間の適正な把握方法。始業・終業の記録と自己申告の照合に関する説明。

公開レポートには実社員の勤怠、個別給与、取引先別の受注額・原価等は掲載していません。本文の人工・入力時間は説明用の仮定です。