MCPサーバを使ったRevitから無料積算ソフト→無料ERPによる会計までの一気通貫連携
最高です。無料スタックで「Revit →(MCPで自動QTO/見積)→ 無料ERPへ会計反映」を一気通貫にする現実解を、すぐ動かせる構成でまとめました。
全体像(無料のみ)
Revit(IFC自動出力Add-in)
└→ 共有フォルダ/S3
└→ MCPサーバ(IFC監視)
├─ IfcOpenShell/BlenderBIM/FreeCADでQTO→見積CSV生成
├─ 単価表CSVとJOIN(歩掛・端数)
└─ ERPへAPI投稿(仕訳 or 仕入/経費伝票)→ 通知
数量抽出(QTO):IfcOpenShell/BlenderBIMやFreeCADでIFCから数量を取り出しCSV化(BaseQuantitiesやQTOを扱える)
無料ERPの候補とAPI
ERPNext:完全OSS。RESTでDocType(仕入請求/仕訳など)を作成可能。ドキュメント・APIが充実。
Dolibarr:軽量。REST APIで取引先・商品・請求(仕入/経費)操作が可能。
Tryton:堅牢会計。JSON-RPCで仕訳や請求を作成。
Odoo Community:標準はXML-RPC/JSON-RPC(公式RESTは無し)。REST必須でなければ候補。
以降は最短で安定のため、まずは ERPNext ルート を主経路に書きます(RESTで完結・ドキュメント豊富)。
---
推奨スタック A(ERPNext)
1) Revit → IFC 自動出力
既出のAdd-in案で「テンプレIFC設定・命名規則・保存先」を自動化(ボタン1回)。
MCPはIFCの到着を監視して次工程へ。
2) MCPでQTO→見積CSV
IfcOpenShell/BlenderBIMでBaseQuantities/QTOを取得し、class/unit/qty/unit_price/costを組む。
IfcOpenShellのQTO追加/標準量は buildingSMARTの規格に沿って扱えるAPIがあるので将来拡張もしやすい。
FreeCAD派生ルートもOK(BIMワークベンチのスケジュール→CSV)。
3) ERPNextへ会計反映(即時)
ERPNextのRESTはDocType単位でCRUDできます。例えば:
**仕入請求(Purchase Invoice)**に「工事内訳項目=Item」を行として登録(工事原価)。
もしくはJournal Entryで直接仕訳(工数集計や外注費だけ先に計上したいケース)。
APIエンドポイントは /api/resource/<DocType>(BearerまたはCookie認証)。
例:MCP→ERPNext「Purchase Invoice」作成(擬似JSON)
> 注:Supplier/Itemは事前マスタ(コード/税区分)を用意。ドラフトで作って経理承認→自動投稿にもできます。
RESTで「提出(submit)」まで行う場合の挙動例はコミュニティQ&Aが参考。
POST /api/resource/Purchase Invoice
{
"supplier": "SUP-0001",
"posting_date": "2025-10-12",
"currency": "JPY",
"items": [
{"item_code":"IFC_WALL","item_name":"壁(躯体)","uom":"m3","qty":12.34,"rate":14500},
{"item_code":"IFC_SLAB","item_name":"スラブ","uom":"m3","qty":8.90,"rate":15000},
{"item_code":"IFC_FIN","item_name":"内装仕上げ","uom":"m2","qty":125.0,"rate":3200}
],
"taxes_and_charges": null,
"docstatus": 0
}
作成は /api/resource/Purchase Invoice、参照・更新も同系統(DocType/nameで一意)。
---
代替スタック B(Dolibarr)
認証トークン発行 → RESTの「仕入請求」「仕入先」「商品」エンドポイントを利用。
モジュールを有効化しないとエンドポイントが見えない点に注意。
Supplier InvoicesのRESTクラス仕様が公開されているので、MCPから同様にPOST可能。
小規模・単純会計に向く。
代替スタック C(Tryton)
サーバ(trytond)にJSON-RPCで接続し、account.move等を作成(仕訳主導)。プロ仕様の会計主体。
---
データ設計(最低限の取り決め)
1. QTO正本:IfcElementQuantity(BaseQuantities)を優先。見つからない量はBlenderBIM/FreeCADで計算→書戻し。
2. 品目マップ:IfcClass/材料/仕様 → ERPの ItemCode の対応CSVをMCPが参照。
3. 単価表:item_code, uom, unit_price, waste_ratio(歩掛・端数は式列でもOK)。
4. 原価区分:材料費/労務費/経費の会計勘定をERP側Item/税カテゴリでコントロール。
5. 状態遷移:ドラフト請求→承認→記帳(自動化可)。ERPNextならRESTでDocTypeを更新/提出。
---
MCP実装の骨子(Python)
役割:IFC検知→QTO CSV→単価JOIN→ERP API投稿→結果ログ
IfcOpenShell入門とQTO APIの参照用リンク(数量付与/抽出)を貼っておきます。
FreeCADスケジュール派の参考(GUI動画だが手順理解に有用)。
---
運用Tips
“即時積算”を担保するには:Revit側をボタン一発IFC書出し+MCPのホットフォルダ監視+ERP APIの同期POST。
監査性:MCPで、IFCのハッシュ値・QTOスナップショット・送信ペイロードを全保存。
失敗時再実行:ジョブキュー(RQ/Celery等)を必ず併設。
税/丸め:ERP側の税テーブル・端数規則をItem/テンプレに寄せる(MCPは税抜金額を渡すだけに)。
---
まずやる初期セット(1–2日で叩き台)
1. Revit IFCエクスポート設定テンプレ作成(座標/小数点/PropertySetの標準化)
2. IfcOpenShellでWALL/SLAB/BEAM/COLUMN/FINISHのQTO→CSV試験(10行程度でOK)
3. ERPNext Docker最小構築→Supplier/Item/UOMの初期マスタ登録→RESTでPurchase InvoiceにPOST(ドラフト)
4. MCPに監視+POSTの最小スクリプトを置く(ログ出力/失敗時リトライ)
---
必要なら、この「ERPNextルート」の**APIペイロード雛形(Python requests)**と、QTO抽出スクリプト(IfcOpenShell版)を丸ごとお渡しします。
他方、企業規模や運用方針でDolibarr/Trytonを選びたい場合のAPI雛形も即用意できます(どれで行くかだけ教えてください)。
コメント
コメントを投稿