Difference between revisions of "Sponsored Development: Drop Ship"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(clarified a bit)
m
Line 9: Line 9:
  
 
====Developers====
 
====Developers====
*
+
*Paul Bowden
  
 
====Testers====
 
====Testers====
Line 19: Line 19:
  
 
others welcome
 
others welcome
 +
 +
===Proposed Specifications===
 +
 +
==Use Cases==
 +
# Simple Vendor Drop Ship: Jimbo, a skilled user of Adempiere, receives an order from Hans for 6 Frozen Yoghurts. Having none in stock, Jimbo wants to quickly raise a purchase order against Kwik-e-mart for them to supply the 6 Yoghurts.  But in the interests of corporate efficiency, environmental benevolence and not melting the yoghurt, Jimbo decides that Kwik-E-Mart should deliver them directly to Hans rather than sending them to Jimbo's warehouse. 
 +
# Customer Drop Ship: Freda runs an online store selling art prints.  She carries no stock, but fortunately her supplier, Monet Co., has chosen to implement Adempiere, and is able to ship goods on demand with very little overhead.  Freda would like not to have to handle the prints at all, so she has requested that Monet ship directly to her customers -- she'll provide all the delivery details required with each order -- and Monet, anxious to make a good impression, has agreed that it's a very good idea. Freda receives an order on her webstore from Mr Escher for one of her tranquil waterfall prints.  She laboriously re-enters that very order as a purchase order in Monet's webstore, and settles back to wait for notification that the goods have been sent so she can mock up an invoice in excel.
 +
 +
 +
==Current Functionality==
 +
It is already possible to (sort of) handle the customer drop shipment case using standard functionality: Monet could simply add Escher as a contact for Freda, and his address as one of Freda's delivery locations, and alter the print format to not print Freda's company name in the deliver to field.  Of course, if Monet needed, for example, to send a shipment confirmation to Freda's real address he would need to perform various contortions to get the necessary information.  It would probably be better if Freda's name, address and contact information were kept as the main order business partner details, and the delivery information was handled separately.
 +
 +
There is also some beta functionality inherited from Compiere that does some interesting things in the name of drop shipment.  It is primarily directed at use case 1: the simple vendor drop shipment. Currently, Jimbo would raise a sales order to Hans for the frozen yoghurt, and mark the sales order as a drop shipment. On completion of the order, reservations are '''not''' made and it is '''not''' possible to raise a shipment for the order. (This makes some sense as the "shipment" will come from the vendor.)
 +
 +
 +
  
 
===Requirements===
 
===Requirements===

Revision as of 23:08, 18 May 2008

Project Team

Coordinator

Joel Stangeland

Functional Specs

  • Joel Stangeland (free)
  • Joel Hoffman (free)

Developers

  • Paul Bowden

Testers

  • Joel Hoffman (free)
  • Susy Ongko (free)

Sponsors

Idalica $800USD

others welcome

Proposed Specifications

Use Cases

  1. Simple Vendor Drop Ship: Jimbo, a skilled user of Adempiere, receives an order from Hans for 6 Frozen Yoghurts. Having none in stock, Jimbo wants to quickly raise a purchase order against Kwik-e-mart for them to supply the 6 Yoghurts. But in the interests of corporate efficiency, environmental benevolence and not melting the yoghurt, Jimbo decides that Kwik-E-Mart should deliver them directly to Hans rather than sending them to Jimbo's warehouse.
  2. Customer Drop Ship: Freda runs an online store selling art prints. She carries no stock, but fortunately her supplier, Monet Co., has chosen to implement Adempiere, and is able to ship goods on demand with very little overhead. Freda would like not to have to handle the prints at all, so she has requested that Monet ship directly to her customers -- she'll provide all the delivery details required with each order -- and Monet, anxious to make a good impression, has agreed that it's a very good idea. Freda receives an order on her webstore from Mr Escher for one of her tranquil waterfall prints. She laboriously re-enters that very order as a purchase order in Monet's webstore, and settles back to wait for notification that the goods have been sent so she can mock up an invoice in excel.


Current Functionality

It is already possible to (sort of) handle the customer drop shipment case using standard functionality: Monet could simply add Escher as a contact for Freda, and his address as one of Freda's delivery locations, and alter the print format to not print Freda's company name in the deliver to field. Of course, if Monet needed, for example, to send a shipment confirmation to Freda's real address he would need to perform various contortions to get the necessary information. It would probably be better if Freda's name, address and contact information were kept as the main order business partner details, and the delivery information was handled separately.

There is also some beta functionality inherited from Compiere that does some interesting things in the name of drop shipment. It is primarily directed at use case 1: the simple vendor drop shipment. Currently, Jimbo would raise a sales order to Hans for the frozen yoghurt, and mark the sales order as a drop shipment. On completion of the order, reservations are not made and it is not possible to raise a shipment for the order. (This makes some sense as the "shipment" will come from the vendor.)



Requirements

Finish off the beta Drop-ship functionality.

  • Current Functionality- reproduce in Garden World
  1. Create a Sales Order of type Standard for "Joe Block"
  2. tick the DropShip box.
  3. Go to the Sales Items and add 1 Rose Bush.
  4. Go back to the Header tab and Complete the Order.
  5. Still in the Sales Menu select "Generate PO from Sales Orders" and select "Drop Ship" equal yes.
  6. A PO is created
  • Fixes Needed
    • Change AD so that drop-ship does not become un-updateable on save
    • When creating PO, set drop-ship = 'Y'
    • Correct the "Generate PO from Sales Orders" process so the PO is created with C_BPartner_ID= the Vendor for the product (select vendor with the same criteria that "Generate PO from Sales Orders" always uses) "Generate PO from Sales Orders" seems to work ok now in selecting the "Invoice To" BP, but right now, C_BPartner_ID is set to the sales order BP, which is incorrect)
  • Enhancements Needed
  1. Need a way to define a 'drop-ship' warehouse
    1. Seems like this needs to be per organization
      1. add 'Drop-Ship Warehouse' (using M_Warehouse_ID) to Organization Window
  2. Add IsDropShip to Material Receipt Screen
  3. Adjust "Generate PO from Sales Orders" so that if C_Order.IsDropShip='Y' it will create the PO with IsDropShip='Y' and also a Material Receipt with IsDropShip='Y', and also a Shipment Document with IsDropShip='Y'.
    1. PO, Drop-Ship Receipt, and Shipment should all use the Drop-Ship Warehouse from the Organization record.
      1. This should properly record the costs, with no net effect to inventory
  4. Add to M_Inout (so that delivery address can be added to PO Print Format
    1. C_DropShipBP_ID: the C_BPartner_ID from the original Sales Order
    2. C_DropShipLoc_ID: the Deliver to address from the original SO
  5. Add C_DropShipSO_ID to C_Order. When the PO is generated, update this field with original Sales Order ID, so that it can be referenced (might be nice to enable it as a zoom across from the original SO.