Odoo Sale

見積(draft)
├─> 見積送付(sent)
│ └─> 確認(sale)─> 出荷・請求書作成
│ ├─> 請求書送付(posted)
│ │ └─> 支払い(in_payment / paid)
└─> キャンセル(cancel)

✅ Odooセールスモジュールの業務フローまとめ

📘 ステージ分類(画面上の表記)と内部ステータス(sale.order.state

ステージ(UI表示)内部ステータス説明
見積draft下書き状態の見積。顧客にまだ送っていない
見積提出済みsentメール送信・印刷後。顧客に提出済み
販売オーダ(確認済み)sale顧客が受け入れ、注文確定された状態
請求書作成済(未請求)sale請求書がドラフトとして作成されているがまだ送っていない
請求書送付済・支払待ちsale + 請求書状態 = posted顧客に請求書送信済みで、支払い待ち
支払済み(または一部)sale + 請求書状態 = in_payment / paid請求が支払われた状態
キャンセルcancel見積・注文が取り消された状態

🧩 状態ごとの入力・操作内容とボタン機能(文章形式)

1. 【見積】draft

  • 入力項目
    • 顧客名、商品、数量、価格、税、納期、支払条件など
  • 操作可能なボタン
    • 「見積送信」→ action_quotation_send():メール送信と印刷
    • 「確認」→ action_confirm():注文確定、販売オーダへ
    • 「キャンセル」→ action_cancel():キャンセル処理
  • 備考:いつでも編集可能。販売オーダとして確定する前の状態。

2. 【見積提出済み】sent

  • 特徴:見積が顧客に送信された後の状態(UI上で表示)
  • 操作可能なボタン
    • 「確認」→ 顧客が注文を承諾した想定でオーダに移行
    • 「キャンセル」
  • 備考:stateは変わらないが、履歴として重要

3. 【販売オーダー】sale

  • 状態変化action_confirm()により sale に変わる
  • 自動で発生
    • stock.picking(出荷オーダ)の作成
    • procurementのトリガー(在庫がなければ仕入)
  • 操作可能なボタン
    • 「出荷」:pickingへの遷移
    • 「請求書作成」:account.move のドラフト請求書作成
  • 備考:この状態から在庫・会計処理が開始される

4. 【請求書作成済み】sale + 請求書 state=draft

  • 機能
    • 請求書はドラフト(未投稿)状態で作成される
  • 操作可能なボタン
    • 「確認・送信」:請求書を投稿(posted)状態へ
  • 備考:まだ支払いはされていない

5. 【請求書送付済み・支払待ち】請求書 state=posted

  • 操作可能なボタン(請求書画面):
    • 「支払い登録」:支払いレコード作成(in_payment
  • 備考:未収金状態。顧客の支払いを待つフェーズ

6. 【支払済み】請求書 state=paid または in_payment

  • 状態:請求金額に対して支払い登録が完了した状態
  • 備考:販売プロセスが完了(会計処理も終了)

7. 【キャンセル】cancel

  • どの状態でもキャンセルは可能(ただし制限あり)
  • 備考
    • 出荷済み・請求済みの場合は、返品や返金が必要
    • 元の注文内容を保持したまま複製可能

✅ モデルと処理の連携概要

機能モデル関連
見積/販売注文sale.orderメインの販売ドキュメント
出荷指示stock.pickingsale.order → 出荷連携
請求書account.movesale.order から生成
支払い記録account.paymentaccount.move に関連

マーメイド

stateDiagram
  direction LR
  [*] --> draft:新規見積作成
  draft --> sent:見積送信
  sent --> sale:注文を確認
  draft --> sale:注文を確認
  sale --> invoice_draft:請求書作成
  invoice_draft --> invoice_posted:請求書送付
  invoice_posted --> in_payment:支払登録
  in_payment --> paid:支払完了
  draft --> cancel
  sent --> cancel
  sale --> cancel
  invoice_draft --> cancel
  invoice_posted --> cancel
  cancel --> [*]
  paid --> [*]
  note right of draft 
  状態:見積(draft)
      - 入力:顧客、商品、数量、価格など
      - 操作:見積送信、確認、キャンセル
  end note
  note right of sent 
  状態:見積提出済み(sent)
      - 操作:確認、キャンセル
  end note
  note right of sale 
  状態:販売オーダ(sale)
      - 自動:出荷指示作成
      - 操作:出荷、請求書作成、キャンセル
  end note
  note right of invoice_draft 
  状態:請求書ドラフト
      - 操作:請求書送信・投稿
  end note
  note right of invoice_posted 
  状態:請求書送付済み
      - 操作:支払登録
  end note
  note right of paid 
  状態:支払済み
      - 完了済みの販売プロセス
  end note
  note right of cancel 
  状態:キャンセル
      - どの段階でも可能
      - 元に戻せない(複製推奨)
  end note


販売見積から確定・出荷まで行い、未請求タブに表示される」流れを体験すること


🧩 操作シナリオ:見積作成 → 確定 → 出荷 → 未請求に表示

🪧 事前準備:商品設定を確認(納品ベースの請求)

  1. [販売] > [商品] メニューにアクセス
  2. 対象の商品を開く(または新規作成)
  3. 「販売」タブで以下を設定:
    • 請求ポリシー(Invoicing Policy)
      🔘 納品済数量に基づいて請求する(Based on delivered quantities)
  4. 保存

📘 ステップ1:見積作成

  1. [販売] > [見積] > 新規作成
  2. 以下を入力:
    • 顧客:テスト用の顧客
    • 商品:先ほどの納品ベースの商品
    • 数量:例として「3個」
  3. 保存

📩 ステップ2:見積を送信して確定

  1. 「見積送信」ボタン(任意)
  2. 確認(Confirm)」ボタンをクリック
    → 状態が sale に変わる
    → Odooが 出荷指示(delivery order) を自動で作成

📦 ステップ3:出荷処理

  1. 販売オーダー画面内「出荷」ボタンをクリック(またはリンク)
  2. stock.picking 画面に遷移
  3. 実際の数量を確認(例:3個)
  4. 検証(Validate)」ボタンを押して納品を完了させる
    sale.order.line.invoice_statusto invoice に更新される

💰 ステップ4:未請求セクションに表示される

  1. [販売] > [注文] > [未請求] メニューに移動
  2. 請求対象オーダー」のドロップダウンを選択
  3. 先ほどのオーダーが表示されているはずです

✅ 補足:ここでできる操作

  • 「オーダーごとに請求」:個別に請求書を作成
  • 「まとめて請求書を作成」:複数のオーダーを一括で請求書に変換
  • この処理により、account.move(請求書)がドラフトで作成される

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です