コンテンツへスキップ
Odoo メニュー
  • サインイン
  • 無料で15日試す
  • アプリ
    財務
    • 会計
    • 請求
    • 経費
    • スプレッドシート(BI)
    • ドキュメント管理
    • 署名
    販売
    • CRM
    • 販売
    • POSショップ
    • POSレストラン
    • サブスクリプション
    • レンタル
    ウェブサイト
    • ウェブサイトビルダー
    • eコマース
    • ブログ
    • フォーラム
    • ライブチャット
    • eラーニング
    サプライチェーン
    • 在庫
    • 製造
    • 製品ライフサイクル管理 (PLM)
    • 購買
    • 整備
    • 品質
    人事業務
    • 従業員管理
    • 採用
    • 休暇管理
    • 人事評価
    • リファラル
    • フリート
    マーケティング
    • ソーシャルマーケティング
    • メールマーケティング
    • SMSマーケティング
    • イベント
    • マーケティングオートメーション
    • アンケート調査
    サービス
    • プロジェクト管理
    • タイムシート
    • フィールドサービス
    • ヘルプデスク
    • 計画
    • アポイントメント
    生産性向上ツール
    • ディスカッション
    • 人工知能
    • IoT
    • VoIP
    • ナレッジ
    • WhatsApp
    サードパーティアプリ Odooスタジオ Odooクラウドプラットホーム
  • インダストリー(業種別ソリューション)
    小売
    • 書店
    • アパレルショップ
    • 家具店
    • 食料品店
    • 金物店
    • 玩具店
    飲食・ホスピタリティ業界
    • バー・パブ
    • レストラン
    • ファストフード
    • ゲストハウス
    • 飲料販売代理店
    • ホテル
    不動産
    • 不動産会社
    • 建築事務所
    • 建設
    • 不動産管理
    • 造園
    • 住宅所有者組合
    コンサルティング
    • 会計事務所
    • Odooパートナー
    • マーケティングエージェンシー
    • 法律事務所
    • 人材派遣
    • 監査・認証
    製造
    • テキスタイル
    • 金属
    • 家具
    • 飲食
    • ブルワリー
    • コーポレートギフト
    ヘルス & フィットネス
    • スポーツクラブ
    • 眼鏡店
    • フィットネスセンター
    • ウェルネス専門家
    • 薬局
    • ヘアサロン
    業種
    • 便利屋
    • IT ハードウェア・サポート
    • 太陽エネルギーシステム
    • 靴メーカー
    • クリーニングサービス
    • 空調設備サービス
    その他
    • 非営利団体
    • 環境機関
    • ビルボードレンタル
    • 写真
    • 自転車リース
    • ソフトウェアリセラー
    すべての業種を見る
  • コミュニティ
    学ぶ
    • チュートリアル
    • ドキュメンテーション
    • 認定
    • トレーニング
    • ブログ
    • ポッドキャスト
    教育サポート
    • 教育プログラム
    • Scale Up! ビジネスゲーム
    • Odooオフィス訪問
    ソフトを入手
    • ダウンロード
    • エディションを比較
    • リリース
    コラボレーション
    • Github
    • フォーラム
    • イベント
    • 翻訳
    • パートナーになる
    • パートナー様向けサービス
    • 会計事務所を登録
    サービス利用
    • パートナー一覧
    • 会計事務所一覧
    • 今すぐ相談する
    • 導入支援サービス
    • お客様一覧
    • サポート
    • アップグレード
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    製品デモを利用する
  • 料金
  • ヘルプ
コミュニティで交流するには登録する必要があります。
全てのポスト 人々 バッジ
タグ (全て表示)
odoo accounting v14 pos v15
このフォーラムについて
コミュニティで交流するには登録する必要があります。
全てのポスト 人々 バッジ
タグ (全て表示)
odoo accounting v14 pos v15
このフォーラムについて
ヘルプ

The best practice to process Sales Order- Exchange without refund - Odoo 18

購読

この投稿に活動があった際に通知を受け取ります

この質問にフラグが付けられました
7 返信
342 ビュー
アバター
Azra Nayan

What is the recommended Odoo best practice when a customer exchanges a product for a different size at the same price after the original Sales Order has been paid and delivered? Should the process be handled via Return Transfer + New Sales Order, or by creating a new Sales Order with negative and positive quantities? My concern is preserving the integrity of the original Sales Order and avoiding the need to unlock completed transactions.

0
アバター
破棄
アバター
Siddharth More
最善の回答

Great question! Here's the recommended best practice in Odoo 18 for a same-price product exchange (no refund):

✅ Recommended Approach: Return Transfer + New Sales Order

  1. On the original Delivery Order, click "Return" — select the product to return, confirm the reverse transfer.
  2. Validate the Return Transfer to bring stock back into inventory.
  3. Create a New Sales Order for the replacement product (same price) — no need to touch the original SO.
  4. Deliver and confirm the new order normally.
Why NOT negative/positive lines on a new SO?
  • It complicates reporting and invoice reconciliation.
  • Mixing negative quantities can confuse stock valuation.
Key benefit: The original Sales Order, invoice, and payment remain untouched and auditable. The return and replacement are fully traceable as separate transactions — clean, compliant, and GST-safe for Indian businesses.

Hope this helps! For professional Odoo implementation in India, feel free to reach out to Alligator Infosoft at alligatorinfosoft.com
0
アバター
破棄
アバター
Siddharth More
最善の回答

Great question! Here's the recommended best practice for a same-price product exchange (no refund) in Odoo 18: Recommended Flow: Return Transfer + New Sales Order

  1. Go to the original delivery order → click Return
  2. Select the product being returned → validate the return receipt
  3. Create a New Sales Order for the replacement product (same price)
  4. On the new SO, apply a credit note from the original invoice as payment (if needed), or mark as paid via journal entry
  5. Deliver the new product → validate
Why NOT negative/positive quantities on same SO?
  • Breaks original SO integrity
  • Complicates reporting & audit trail
  • Causes inventory valuation issues
Key advantage: Original SO/invoice remains locked and intact — clean audit trail, proper stock movement, and accurate financials.
For complex exchange scenarios with Indian GST implications, ensure credit notes reference the original invoice correctly.

Hope this helps! For professional Odoo implementation in India, feel free to reach out to Alligator Infosoft at alligatorinfosoft.com
0
アバター
破棄
アバター
Siddharth More
最善の回答

For a same-price product exchange (no refund) in Odoo 18, the recommended best practice is:

  1. Create a Return Transfer from the original Delivery Order (Reverse Transfer) — select only the exchanged product, validate it back into stock.
  2. Create a new Sales Order for the replacement product at the same price — this keeps the original SO intact and fully auditable.
  3. On the new SO, you can optionally add a note referencing the original SO number for traceability.
  4. Invoice the new SO at ₹0 (or apply a 100% discount) since payment was already received — no financial impact.
  5. Validate the new delivery for the replacement item.
Why not negative lines on the same SO?
  • Negative quantities on a locked/done SO require unlocking, risking audit integrity.
  • Separate documents maintain clean GST reporting and stock valuation in Indian localization.
Hope this helps! For professional Odoo implementation in India, feel free to reach out to Alligator Infosoft at alligatorinfosoft.com
0
アバター
破棄
アバター
Siddharth More
最善の回答

Great question! This is a very common scenario — especially in Indian retail, apparel, and FMCG businesses where size/variant exchanges are frequent. Let me walk you through the recommended best practice in Odoo 18 for handling a product exchange without a refund, while preserving the integrity of the original Sales Order.
Understanding the Core Requirement
When a customer exchanges Product A (Size M) for Product B (Size L) at the same price, after the original SO is confirmed, delivered, and paid, you need to:

  • Return the original product back to stock
  • Dispatch the new product to the customer
  • Ensure no financial impact (no refund, no extra charge)
  • Keep the original Sales Order and Invoice untouched and locked

Recommended Best Practice: Return Transfer + Exchange Delivery (No New Invoice)
The cleanest approach in Odoo 18 is using the Return Transfer mechanism paired with a new Sales Order at zero net value (or using stock moves directly). Here is the step-by-step process:
Step 1: Create a Return for the Original Delivery
  1. Go to Inventory → Operations → Transfers
  2. Open the original validated Delivery Order linked to the Sales Order
  3. Click Return button at the top
  4. In the Return dialog, select the product being returned (e.g., T-Shirt Size M, Qty: 1)
  5. Set the Return Location — ideally a dedicated Exchange/Return location (e.g., WH/Exchange Zone) rather than your main stock, so inventory accuracy is maintained
  6. Click Return to create the reverse transfer
  7. Validate the return transfer once the physical item is received back

Step 2: Create a New Sales Order for the Exchange Item
  1. Go to Sales → Orders → Orders → New
  2. Select the same customer
  3. Add the new product (e.g., T-Shirt Size L, Qty: 1) at the same unit price
  4. In the Other Info tab, add a note in the customer reference like "Exchange against SO/2024/XXXXX"
  5. Confirm the Sales Order
  6. Deliver the new product to the customer

Step 3: Handle the Financial Settlement (Zero Balance)
Since no money changes hands, you need to neutralize the invoice on the new SO:
  1. On the new Sales Order, click Create Invoice
  2. The invoice will show the full amount for the new product
  3. Now create a Credit Note on the original invoice for the returned product — same amount
  4. Go to Accounting → Customers → Credit Notes and open the credit note
  5. Instead of refunding, click Outstanding Credits on the new invoice and reconcile it against the credit note
  6. Both the new invoice and the credit note will show as Paid/Matched with zero cash movement

Important Note on GST (Indian Localization)
  • The Credit Note generated will carry the appropriate GST (CGST/SGST or IGST) reversal
  • The new Invoice will have fresh GST — these will offset each other in your GSTR-1 and GSTR-3B
  • Make sure both the Credit Note and new Invoice fall in the same GST period wherever possible to simplify reconciliation
  • Always use the "Reversal of Invoice" reason when creating the Credit Note for proper GSTR reporting
  • If the exchange is for a product with a different HSN code or GST rate, the tax lines will differ — ensure your tax mapping is correct on both products

Alternative Approach: New SO with Negative + Positive Lines (Not Recommended)
You mentioned the approach of adding negative and positive quantity lines on a single new SO. Here is why this is generally discouraged:
  • Negative quantity lines on a Sales Order create confusing stock moves and can trigger validation errors in Odoo 18
  • It breaks clean reporting — Sales Analysis and Revenue reports will show distorted figures
  • Delivery orders with negative quantities are not standard and require manual workarounds
  • It is harder to audit from a GST compliance perspective

Pro Tip: Create a Dedicated Exchange Route/Location
For businesses handling frequent exchanges (retail, garments, electronics), we recommend setting up:

Inventory → Configuration → Warehouses → Locations

Create:
- Location Name : WH/Exchange Zone
- Location Type : Internal
- Use for      : Receiving returned exchange items before re-inspection

Workflow:
Customer Return → WH/Exchange Zone → Quality Check → WH/Stock (if resaleable)
                                                    → WH/Scrap (if damaged)
This gives you full traceability and keeps your main stock clean.
Version-Specific Notes
  • Odoo 16/17:
0
アバター
破棄
アバター
Siddharth More
最善の回答
Original SO -> Delivery -> Return Transfer (Stock received back)
Original SO -> Invoice -> Credit Note (Financial credit generated)

New SO -> Delivery (Replacement stock shipped)

New SO -> Invoice -> Credit Note Applied (Balance zeroed out)

0
アバター
破棄
アバター
Azra Nayan
著作者 最善の回答

We understand the recommended approach is:

  1. Process a Return Transfer for the original items.
  2. Create a new Sales Order for the replacement items.
  3. Deliver the replacement items.

Could you please confirm:

  1. Is this the recommended Odoo best practice?
  2. Should the replacement Sales Order be invoiced if the original invoice has already been paid and there is no price difference?
  3. How should the new Sales Order be handled to avoid creating duplicate revenue or accounts receivable?
  4. Is there a preferred workflow for same-value exchanges that maintains accurate inventory, accounting, and reporting?
  5. Would you recommend using the Sales Order workflow or the POS workflow when the original transaction was a Sales Order?


0
アバター
破棄
アバター
Zehntech Technologies Inc.
最善の回答

Hello, 

For a size-for-size exchange at the same price, the recommended Odoo approach is typically:

  1. Create a Return Transfer for the originally delivered product.
  2. Create a new Sales Order (or replacement delivery process) for the replacement item.

This keeps the original Sales Order intact, preserves a clear audit trail, and avoids unlocking or modifying completed transactions. Using positive and negative quantities on a new Sales Order is generally less desirable from a reporting and transaction-history perspective.

Hope this works for you! If you need any help implementing this or want a more optimized approach, feel free to reach out for further discussion.

Regards,

Zehntech Technologies Inc.

santosh.sekwadia@zehntech.com

0
アバター
破棄
ディスカッションを楽しんでいますか?読むだけでなく、参加しましょう!

今すぐアカウントを作成して、限定機能を利用したり、素晴らしいコミュニティと交流しましょう!

登録
コミュニティ
  • チュートリアル
  • ドキュメンテーション
  • フォーラム
オープンソース
  • ダウンロード
  • Github
  • Runbot
  • 翻訳
サービス
  • Odoo.shホスティング
  • サポート
  • アップグレード
  • カスタム開発
  • 教育
  • 会計事務所一覧
  • パートナー一覧
  • パートナーになる
企業情報
  • 会社概要
  • ブランドアセット
  • お問い合わせ
  • 採用情報
  • イベント
  • ポッドキャスト
  • ブログ
  • お客様一覧
  • リーガル情報 • プライバシーポリシー
  • セキュリティ
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo(オドゥー)は、CRM、eコマース、会計、在庫管理、POS、プロジェクト管理など、企業のさまざまな業務を一つのシステムで管理できる、ベルギー発のオープンソースのERPソフトウェアです。

高機能で使いやすく、完全に統合されたERPとして、ユニークな価値を提供しています。

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now