7/29 定例会で「ValueAuth(案件・受注・請求・入金・タスクの5本柱)のイメージに寄せたい」との要望が出た。「ValueAuth」という別リポは存在せず、同じ5本柱を持つ ValueOS(正本 = github.com/stanaka-blip/valueos)がその実体(茗荷さん確認済み・2026-08-05)。以降 ValueOS を唯一の基準とする。
| ValueOS | 現行 CRM モック |
|---|
| 構成 | Next.js App Router + Supabase(実DB) | TanStack Start + Zustand(モック・ローカル永続化) |
| 主眼 | 単一 cases 軸で 受発注→請求→入金 | 販売店目線 deals + 商社別軸 wholesale(7/29 新設) |
| 明細 | case_products(案件配下・発注/請求共通) | 案件の items(卸案件)/見積の明細 |
| 決済区分 | case_settlements.settlement_type(前金/売掛/3社間決済/カード/その他・2026-08-01正規化)+card_brand/approval_number/card_status | WholesaleCase.settlement(前金/掛売/三社間/カード/その他)+承認番号 |
| ワークフロー | lib/workflow/WorkflowEngine.ts が SETTLEMENT_RULES(決済区分別)から canOrder/canInvoice・現在フェーズを判定 | wholesaleFlow=決済区分別に canOrder/canInvoice・次アクションを機械判定(同等) |
| 領域 | ValueOS | 現行 CRM | 状況 |
|---|
| 決済区分 | case_settlements.settlement_type(前金/売掛/3社間決済/カード/その他)+card_brand/approval_number/card_status | settlement(5値・カード/承認番号含む) | 実装済(同等) |
| 発注/請求ワークフロー | WorkflowEngine.ts(canOrder/canInvoice/現在フェーズを決済区分別ルールで判定) | wholesaleFlow(canOrder/canInvoice/次アクション/担当) | 実装済(同等・当方は FLOW+バケツ表示を拡張) |
| 販売店発注フォーム | app/cases/new 等(内部入力) | /dealer-order(販売店入力→受付番号→案件化) | 実装済 |
| 卸価格 | dealer_sales_prices(dealer×product×期間) | /master-wholesale-price(仕入先×商品/パッケージ×反映日) | 実装済(※軸は dealer でなく仕入先。下記突合参照) |
| 商社別軸案件 | 単一 cases | /wholesale(別軸・4ビュー切替) | 実装済 |
| タスク | tasks(case_id/status/due/assignee/priority) | WholesaleTask(同項目・案件紐付) | 実装済(本セッション) |
| 経営ダッシュボード | 売上/粗利/未入金+業務アラート | /wholesale サマリー(5本柱+バケツ/決済区分別) | 実装済(受発注KPIあり) |
| 発注(order)エンティティ | orders(order_no/date/amount/status) 独立 | 卸案件のフラグ ordered に集約 | 差:番号/日付/金額の個別保持なし |
| 請求(invoice)エンティティ | invoices(invoice_no/date/due/amount/status) 独立 | フラグ invoiced に集約 | 差:請求書番号/期日/金額なし |
| 入金(payment)エンティティ | payments(date/amount/status・一部入金) 独立 | フラグ paymentReceived(全額)に集約 | 差:分割入金・残高消込なし |
| マスタ経理項目 | supplier: 締め日/支払サイト/発注方法、products/packages: 既定仕入先(default_supplier_id)、dealer: 与信枠 | 未保持 | 差:経理・与信の項目が薄い |
出典は ValueOS のアプリコード(insert/型定義。DBスキーマ生成物は同リポに無いため enum は「アプリが送出/表示する値」)。
ValueOS cases | 現行 CRM | 突合 |
|---|
case_no(VE-…自動採番) | id(W-0001…) | 一致 |
| dealer_id → dealers | dealer(販売店名文字列) | 概ね一致(当方は名称直持ち) |
| order_type(材料のみ/材工/工事のみ/見積相談) | なし | 要検討:発注種別 |
| status(20値の一気通貫) | settlement+工程フラグ→wholesaleFlow.bucket | 表現差(当方は決済別ワークフローで導出) |
| assigned_user | wholesaleFlow.assignee(工程から導出) | 当方は工程担当を自動割当 |
| priority | なし(案件優先度) | 要検討 |
| customer_name/phone/site_address/construction_* | なし(卸案件は施主情報を持たない) | 別軸ゆえ意図的に非保持 |
| department | なし | 要検討(マネフォ部門連携で使う可能性) |
ValueOS orders | 現行 CRM | 突合 |
|---|
| order_no / order_date / expected_delivery_date / delivered_date | なし(ordered bool のみ) | 差:発注書番号・発注日・納期の個別保持なし |
| order_amount | 明細合計 wholesaleTotal で代替 | 概ね可 |
| status(未発注/発注済/納期回答待ち/納期確定/一部納品/納品済) | ordered/delivered の2フラグ | 差:納期回答・一部納品の中間状態なし |
ValueOS invoices | 現行 CRM | 突合 |
|---|
| invoice_no / invoice_date / due_date | なし | 差:請求書番号・請求日・支払期日なし |
| invoice_amount | wholesaleTotal で代替 | 概ね可 |
| status(未請求/作成済/請求済/入金待ち/一部入金/入金済) | invoiced bool | 差:請求書ライフサイクルなし |
ValueOS payments | 現行 CRM | 突合 |
|---|
| payment_date / payment_amount | なし(全額入金 bool) | 差:分割入金・入金日なし |
| status(確認待ち/入金確認済/取消) | paymentReceived bool | 差:確認待ち/取消なし・残高消込なし |
ValueOS tasks | 現行 CRM WholesaleTask | 突合 |
|---|
| case_id(null可) | caseId(W-XXXX/null) | 一致 |
| title | title | 一致 |
| status(未対応/対応中/完了) | status(同) | 一致 |
| due_date | dueDate | 一致 |
| assigned_user | assignee | 一致 |
| priority(高/中/低) | priority(同) | 一致 |
| memo | memo | 一致 |
→ タスクは ValueOS とフィールド完全一致。将来 Supabase 移行時もそのまま対応可能。
| ValueOS | 現行 CRM | 突合 |
|---|
| suppliers: supplier_type/order_method/closing_day/payment_site/credit_limit | 仕入先は name/type のみ | 要検討:締め日・支払サイト・発注方法・与信 |
| dealers: payment_type/credit_limit/default_profit_amount | 販売店は催事 companies に集約 | 要検討:与信枠 |
| products/packages: default_supplier_id(案件登録時の仕入先自動解決用。dealers の列ではない) | 明細ごとに仕入先を指定(既定値なし) | 要検討:既定仕入先の自動解決 |
| dealer_sales_prices: dealer×product×期間 | 卸金額は 仕入先×商品/パッケージ×期間 | 軸差:ValueOS は販売店別、当方は仕入先別+パッケージ対応。用途で使い分け/将来は両軸 |
| supplier_purchase_prices: product×supplier×期間(is_active/日付で有効1件) | 価格表(部材の仕切)/仕切原価 | 概念一致。発注原価との接続は今後 |
催事運営(shifts)/顧客CRM(households)/架電(前確)/チャット/活動/見積(quotes)/手数料条件/価格照合/パッケージ(部材×必須/選択/オプション区分)/決済区分別ワークフローの FLOW(STEP順)+バケツ表示/店舗・施工店・ローン会社マスタ/申請。→ ValueOS は施主情報を持つ単一案件軸、当方は前段CRM+別軸の商社/卸。統合すれば 前段(CRM)+後段(ERP) の一本化。
- 【中】発注/請求/入金の「エンティティ化」:現状は卸案件のフラグ。ValueOS 同様に 番号・日付・金額・ステータスを個別に持てば、発注書/請求書の出力・分割入金・残高消込に対応できる。まずは請求・入金から(未収管理が実務直結)。
- 【中】マスタの経理項目:suppliers に締め日/支払サイト、dealers に与信枠、products/packages に既定仕入先(default_supplier_id 相当)。→ 発注タイミング・与信チェックの自動化に効く。
- 【低】案件の付帯項目:order_type・priority・department(マネフォ部門連携の布石)。
- 【将来】 Supabase 移行(ValueOS と同スキーマ方向)、マネフォ連携(PL/CF)、SaaS化。
※ ValueOS も WorkflowEngine.ts(SETTLEMENT_RULES)で決済区分別に canOrder/canInvoice を機械判定している。当方 wholesaleFlow の方針(決済区分別に canOrder/canInvoice を機械判定・FLOW+バケツ表示で拡張)は維持・発展させる。