Direct Shipment - Dropshipping through an Internal Location
🚢

Direct Shipment - Dropshipping through an Internal Location


Description

The Direct Shipment feature in Odoo enables a route similar to dropshipping where goods pass through an internal location before reaching the customer. This allows the transaction to be recorded in the Profit & Loss statement. The solution involves a two-step delivery process, with the goods first moving from the supplier to an internal location and then from the internal location to the customer.

Module: xtech_direct_shipment



Setup

To activate the feature, it needs to be activated in the Purchase Settings:


Activating it will make it so that a few records are created:

  1. Warehouse Configuration:
    • Creates a warehouse named "Supplier (SUP)" with a single location "SUP/Direct Shipment".
  2. Operation Types:
    • Define operation types for incoming (IN) and outgoing (OUT) shipments for Sales Orders (SO) and Purchase Orders (PO), and Returns (in case they are necessary).
  3. Route Configuration:
    • Establish a route that triggers the two-step flow:
      • IN from the supplier to the internal location.
      • OUT from the internal location to the customer.
  4. Sales Order Configuration:
    • Allows the activation of a field "Is Direct Shipment" in the sales order.
    • When enabled, it activates the Direct Shipment route.



Direct Shipment Flow

    Sales Order

    The flow starts with the creation of a sales order (SO) by activating the option "Is Direct Shipment".


    Upon confirming the sales order, a delivery transfer is generated from "SUP/Direct Shipment" to the customer, and draft purchase orders are created.


    Purchase Order 

    When a purchase order is confirmed, a receipt transfer is created from "Partners/vendors" to "SUP/Direct Shipment".



      Delivery and Invoicing

      • The inbound transfer (IN) is confirmed once the supplier informs the company that the goods are produced.
      • The outbound transfer (OUT) is confirmed once the supplier informs the company that the goods were shipped to the customer.
      • After the OUT operation (delivery to the customer) is validated, the system automatically posts the invoice based on the delivered quantities.



      Edge Cases

      1. Direct Shipment Deactivation:

      • When Direct Shipment is turned off, all related warehouses, routes, and settings are archived.
      • Upon re-enabling, all parameters are reset to the initial standard configuration.

      2. Over-Production and Over-Delivery:

      • In cases of over-production and over-delivery, the quantities in the IN operation and the PO (delivered quantity) accurately reflect the validated quantities.
      • Example:
        • Client A orders 100 units of product X.
        • Supplier produces 110 units and informs the vendor.
        • The vendor ships 110 units to Client A.
        • The system correctly updates the IN operation and the PO to reflect the 110 units delivered.
        • The invoice is posted based on the delivered quantities.

      3. Backorders

        • Backorders need to be created individually for the IN and OUT.

      4. Returns

      1. Returns currently send the products back to the intermediate location. This flow is not expected but it is available just in case. If it becomes a common flow it might be necessary to expand the feature.

      5. Preorders

      • Order can be both direct shipment and preorder. In these cases, the pickings are already generated (contrary to normal preorders).