生産者組合は、卸から見れば生産者、農家から見れば流通事業者。この二役を別々のシステム・別々のアカウントで受けると破綻します。 アカウントは会社につき1つ。役目は「相手の帳簿のどちら側にいるか」で決まる ―― その具体像を、登録パターンごとに追います。 (根拠:ADR-0002)
英語の名前は最後に覚えれば十分です。まず身近な言い方で押さえてください。
1つの会社につき1つ。「生産者」「流通事業者」といった肩書きは持ちません。無料か有料かはプランの違いだけで、別々のアカウントにはなりません。
担当者。1つの会社に何人いてもかまいません(追加は無料)。パスワードは作りません ―― 届いたリンクを押して、6桁のコードを1回入れるだけ。
自分のアカウントの中に持つ取引相手の一覧。1行=1社。相手がシステムを使っていなくても書けます(というより、普通は使っていません)。
スマホの連絡先アプリと同じです。連絡先の「山田太郎」はあなたが書いたメモ。相手が同じアプリを使っていれば本人のアカウントがひもづいてチャットできる。使っていなければ、ただの名前と電話番号のまま ―― でも電話はかけられる。
同じ「やまと出荷組合」でも、坂ノ途中の帳簿と青果卸Bの帳簿では別の行(契約単価も呼び名も違う)。でも相手は同じ1社。
| 空(ふつう) | ひもづき済 | |
|---|---|---|
| 発注 | メール・FAX | 相手の画面に届く |
| 相手の視界 | なし | 自分宛の行だけ |
| 出荷→入荷 | 手入力 | 自動で引き継ぎ |
空が異常ではありません。空のまま一生使われる行が多数派です。
実務で起きる8つの場面です。緑=増える グレー=変わらない
いちばん多いのがこれ。相手がシステムを使っていなくても、発注も入荷も出荷割当も全部回ります。この状態が「普通」で、以下は全部おまけです。
相手は無料。パスワードは作りません。会社名や連絡先は招待した側の取引先マスタから引き継ぐので、相手が入力するのは担当者名くらいです。
増えるのは「ひもづき」だけ。相手は今のログインのまま承諾を押すだけです。だから、どちらが先に始めても同じ形に着地します。
ここが有料化の瞬間。それでもデータは1行も増えません。今の画面のまま、メニューに「在庫」「出荷割当」が生えるだけ。新しいアカウントもログインし直しもありません。
ひもづきは会社どうしなので、人が増えても取引先に連絡する必要はありません。人数では課金しません(増やすのをためらわせないため)。
何社とつながってもアカウントは1つ。しかも相手の画面を見に行く必要はありません ―― 卸Yの発注は、組合の画面に受注として届きます。
これは想定内の運用で、妥協ではありません。電話で聞いた出荷可能数をハブ側の担当者が代わりに入力します(誰が代行したかは記録)。システムは問題なく回ります。
消さないのが大事。取引先の行を消すと、過去の発注書・入荷・ロットの追跡(誰の畑の何だったか)が壊れます。停止すれば相手からは見えなくなり、再開はひもづけ直すだけ。
| 場面 | 🏢 会社アカウント | 👤 ログイン | 📇 取引先マスタ | 💰 請求 |
|---|---|---|---|---|
| A 取引先を登録しただけ | — | — | +1 | — |
| B 招待 → 相手が新規参加 | +1(無料) | +1 | ひもづく | — |
| C 招待 → 相手は利用中 | — | — | ひもづく | — |
| D 相手が在庫管理を始めた | プラン変更のみ | — | — | +1 |
| E 担当者が増えた | — | +1 | — | — |
| F 別の会社とも接続 | — | — | +1 | — |
| H 招待を断られた(代行入力) | — | — | 設定のみ | — |
| G 取引をやめた | 残す | 残す | 停止(残す) | — |
表を縦に見ると分かること ―― 💰 請求が増えるのは D だけ、🏢 アカウントが増えるのは B だけ(相手がシステム初体験のときのみ)。あとは何をしても、増えるのは取引先マスタの行とひもづきだけです。
この時点で組合はアカウントを持ちません。ただの取引先の1行で、発注はメール/FAXで届きます。相手にアカウントを要求しないことが出発点。
| 生産者名 | 区分 | 認証 | 発注の届け方 | アカウント | |
|---|---|---|---|---|---|
| やまと出荷組合 | 出荷組合 | 有機JAS | ✉️ メール | ⚪ なし | |
| 類農園 | 農業法人 | 有機JAS | 📠 FAX | ⚪ なし | |
| 北山ファーム | 個人 | 特別栽培 | ☎️ 電話(代行入力) | 🤝 代行入力 | 招待しない |
「アカウント」列はマスタの1属性にすぎません。なしでも、発注・入荷・出荷割当はすべて成立します。北山ファームのように最初から招待しないという選択も普通です。
相手がやることはリンクを押して、届いた6桁を1回入れるだけ。パスワードは作りません。会社名・連絡先は招待元の取引先マスタから引き継ぎます。
増えた表はありません。増えたのは companies 1行・users 1行・customers 1行(ミラー行)と、上の枠の linked_company_id の更新だけ。
同じ関係が2行で表されているのがポイントです ── suppliers#101(坂ノ途中の帳簿では「仕入先」)と customers#251(組合の帳簿では「得意先」)は同じ1つの取引の裏表。共有の1行にはしません(取引先マスタは会社ローカル=不変条件3。相手が勝手に自分の帳簿を書き換えられないため)。
相手は無料で使えます。パスワードの設定はありません。
内容は招待元が登録済みです。入力の必要はありません。
info@yamato-group.jp に送りました
パスワードの設定はありません
次回からはブックマークから直接入れます(端末を変えたときだけコードを再送)。
相手は自分の画面だけを見ます。「坂ノ途中のシステムに入る」のではなく、坂ノ途中の発注が自分の画面に届く形。接続先が増えても見る画面は1つのままです。
招待リンクは1種類だけです。「生産者PFへの招待」「買い手PFへの招待」という区別はありません ── company に種別カラムを持たないので、相手が見る画面は 相手側にできるミラー行の向きで決まります。送る側がやることは、どちらのマスタの行から送るかだけ。
増える行の数はどちらも同じ(会社+1・ログイン+1・ミラー行+1)。会社アカウントは無料(plan=free)で、
無料でできることが「発注を受ける」か「注文を出す」かは、このミラー行の向きが決めています。
未招待のままでもかまいません。買い手PFが要るのは買い手自身に注文を入れてもらうときだけで、CSV/API取込・電話+注文打込なら接続なしで取引が回ります(量販・加工はEDIが普通)。
両方の表に行がある相手(売りも買いもある相手)なら、相手には2つのPFが見えてヘッダーで切り替わります。
認証用のテーブルは増えません(署名付きリンク+短命コード)。パスワードの保管場所そのものを作らないのが方針。
データは1行も増えません。新しいアカウントも、ログインし直しもなし。いまの画面のまま、メニューが増えるだけです。
やまと出荷組合として、自分の仕入先(農家)・在庫・出荷割当を管理します。
同じログインのまま、2つのアプリを行き来します。メニューを1つに混ぜないのは、圃場のスマホ操作と事務所のPC操作が別物だからです(ADR-0006)。データ・アカウントは1つのまま。
生産者 → 流通事業者は起きる(組合が自分でも束ね始める)。一方 買い手 → 流通事業者はほぼ起きない。だから「自社でも束ねますか」の案内は生産者アプリにだけ置き、買い手アプリには置きません。
増えるのは company.plan の値だけ(free → hub)。アカウントもログインも取引先マスタも変わりません。「テナントを作る」という操作が存在しないので、移行に失敗しようがありません。
差分は 1列の値だけ(plan)。行は1つも増えません。「無償で使い始めた相手が課金に転じる」=この構造がそのまま拡販導線。
画面は①とまったく同じ。会社名が違うだけです。ここから②③がそのまま繰り返されます。
| 生産者名 | 区分 | 認証 | やり取り | アカウント |
|---|---|---|---|---|
| 田中農園 | 個人 | 有機JAS | 📱 システム | ● 接続済 |
| 佐藤ファーム | 個人 | 有機JAS | ✉️ メール | ◐ 招待中 |
| 山本農場 | 個人 | 慣行 | ☎️ 電話 | 🤝 代行入力 |
3つの状態が混在してよい(接続済/招待中/代行入力)。組合の農家は電話・紙が普通なので、アカウントを持たない行が多数派という前提で作ります。
| 商品 | 月 | 水 | 金 |
|---|---|---|---|
| 大根 青首2L | 40 | — | 30 |
| 白菜 2L | — | 25 | — |
代行入力は妥協ではなく、想定内の主要な運用形態です。相手にアカウントを作ってもらえなくても、システムは完全に回ります。誰が代行したかを記録することで、責任の所在だけは残します。
company#1 は自分のアカウントの持ち主でありながら、company#2 からは得意先の1行として見られている。同じ会社が、相手の帳簿では別の役。
結論:同じ形に着地します(順序非依存)。招待が「アカウント発行」ではなくすでにある2社をひもづける操作だからです。
新しいアカウントもパスワードも作られません
取引先マスタの行は、相手が使っているかどうかを知りません(知る必要がない)。分岐が起きるのは本人確認が済んだあとです。
表示すると、任意のメールアドレスを入れて他社の在籍を調べられてしまうため。送り主が知るのは、承諾されて「接続済」になった結果だけ。
相手が使っていると分かっているなら、相手の会社コードを入力して接続を申請(承認は相手側)。宛先メールに依存しないので会社の重複が起きません。
組合は自分の得意先マスタに「坂ノ途中」を先に登録済みのことが多い。その行に後からひもづきが入るだけで、取引履歴は途切れません。
卸が招待するとき、組合の別の担当者アドレスに送ると、その人は既存アカウントの存在を知らずに新規参加し、「やまと出荷組合」が2つできてしまいます。
これはデータ構造の欠陥ではなく、招待導線の設計課題。→ ADR-0002 の未決事項に記録済み
左端の農家と右端のスーパーはまったく同じ仕組み(誰かの取引先マスタの1行で、アカウントは任意)。「生産者PF」と「購入者PF」はどちらの表にいるかが違うだけで、別プロダクトではありません。
会社アカウントに種別カラムがないので、切り替えるべき状態がありません。起きているのは次の2つだけで、別々のアカウントの、別々の表の話です。だから衝突しようがなく、順序も関係ありません。
卸Bの招待を承諾すると、組合の得意先マスタに「青果卸B」の行が自動生成されます(これがないと卸Bの発注が組合の画面に着地しない)。組合がすでに卸Bを得意先として登録済みなら、新規作成せず既存行との突合を確認します。
アカウントも人も増えず、各社の取引先マスタに行が1つずつ増えるだけ。
いずれも有料プランで在庫を一元化すれば解ける。= n:n はそのままプラン変更の動機になる。
アカウントではなくロットがつながる。
Railsのモデルがまだ0本の今ならコストゼロ。後から足すと高くつく4点。