Drop shipment very basics - input for "The book"

Hello friends,

after having sorted out shipment basics (special thanks to @dotbit and @SISalp) my next goal is to understand drop shipment so well that I can describe it in “The book”. I already made an attempt which was not successful.

So here comes the request some of you may already know:
Please explain to me the very basics to use the drop shipment module. Try to put off your experts’ cloths, imagine you’re explaining it to your grandmother. I’d be especially grateful for some answers to these questions:

  • What can the module do - what can it not?
  • How does the overall procedure work?
  • Which fields have to be filled - with what contents?

I do know how sale and shipment works - but I don’t about drop shipment.

Thanks a lot in advance, Wolf

The objective of the drop shipment module is to manage shipments which are sent directly from supplier to customer without reaching the company warehouse. This module adds a new type of Shipment called “Shipment Drop” which is used for such deliveries.

In order to make a drop shipment, you must configure the product as “supply on sale”, so whenever it is sold a purchase request is send, and have at least one supplier set which the “Drop shipment” flag activated.

Once you process a sale with a drop shipment product, a new purchase request will be created. You will notice that such purchase request have the “Customer” field set with the sale customer. The created purchase will also have the customer field set so when creating the purchase on the supplier you can indicate to which customer (and delivery address) the goods must be sent directly.

Maybe its worth extending our documentation also to clarify some concepts:


Thank you for taking care.
So I’ll try to sum up the proceeding as good as I can; I’ll update this message with more incoming info.
(last updated Nov. 2nd, 2023)


  • You can only do one drop shipment from one seller to one purchaser at a time; the purchase may contain several different products
  • You (at the moment) need to attribute a product as “drop shipment” product. Then, you cannot sell this product from your own warehouse. A workaround may be to have the same product twice in you products list: 1st is “drop shipment”, 2nd is “own stock”


  • install module trytond_sale_supply_drop_shipment
  • set up the “drop shipment” sequence (looks as of you are not allowed to change the sequence name)
  • menu > inventory&stock > Configuration > Configuration: select the “Drop Shipment Sequence”
  • in products, go to the “suppliers” tab; check “supply on sale”; open one supplier from this tab and check “drop shipment” there
  • create a shipment product “delivery by supplier”, make it “salable” and “purchasable” and check “supply on sale” in products > suppliers, assign it in “carrier”. You may need to restart Tryton to apply these changes.


  • create a sale, process and confirm it.
  • go to menu > purchases > purchase request. A new purchase request was created for your customer
  • “create a purchase”, use propeller icon
  • goto menu > purchases > purchases
  • select you purchase, process and confirm it
  • you should see a drop shipment to be created; click that
  • hit “ship” and “done” to ship the drop shipment
  • customer and supplier invoices are created and need to be confirmed/posted

Well, I cannot see this here. I do find the purchase request, this is how it looks:

So what’s wrong?

AFAIR you must set a supply time of 00:00 for the supplier, so he is able to always deliver on time the customer products.

Otherwise, the system will consider that the drop shipment can not be delievered on time, so it will ask you to just purchase the goods from another supplier.

Ok, I’ll try this later. Put in the supplier manually in the “party” box. When I now go to “drop shipment”, when trying to save I get this error:

Traceback (most recent call last):
  File "/trytond/wsgi.py", line 119, in dispatch_request
    return endpoint(request, **request.view_args)
  File "/trytond/protocols/dispatcher.py", line 49, in rpc
    return methods.get(request.rpc_method, _dispatch)(
  File "/trytond/wsgi.py", line 86, in auth_required
    return wrapped(*args, **kwargs)
  File "/trytond/protocols/wrappers.py", line 181, in wrapper
    return func(request, pool, *args, **kwargs)
  File "/trytond/protocols/dispatcher.py", line 207, in _dispatch
    result = rpc.result(meth(*c_args, **c_kwargs))
  File "/trytond/modules/sale_supply_drop_shipment/stock.py", line 382, in create
    company=values.get('company', default_company)).get()
AttributeError: 'NoneType' object has no attribute 'get'

Fault: 'NoneType' object has no attribute 'get'

What should I do with this? - Tryton 6.6

It seems you did not have any sequence for numbering drop shipments.
You should open stock configuration, and set a value for the field “Drop Shipment Sequence”.

Once set you should be able to continue with the workflow.

Allright, got that, thank you.

I can now create a drop shipment, include the origin from a sale line to it as well.
But how do I achieve that a customer’s and a supplier’s invoice are created?
And for what reason does the “invoice lines” section in drop shipments exist?

Invoices are created by the customer sale and by the supplier purchase.

You won’t need to create them manually if you use the full workflow.

I seem to be missing something, so let’s try to track that down. First I see is:

Bildschirmfoto vom 2023-10-25 20-10-26

I can choose “drop” or “supplier” at “from location”. Both make sense to me - but which one is for what purpose?
At “to location”, “drop” seems the only possible. True?

Supplier moves must be from supplier location to drop location.
Customer moves must be from drop location to customer location.

But normally you do not need to manually input such fields as the drop shipments are created once the purchase is processed.

Thank you Sergi for all your time and effort.

That’s what never happens here. I always wondered why I have to do so much of the same input over and over again. Seems I’m still missing some prerequisites. What could it be? - I think I covered everything from the checklist in msg. #3.

Did you set the supply time as I requested here?
In order to validate that everything is setup correctly you must see that the customer field is filled on the Purchase Request generated by the Sale.

Well, I’m quite certain I did:

(Deleted by OP - problem solved)

Meanwhile, I became a little familiar and can handle the process. Thanks a lot to all contributors.

One problem is remaining:
Shipment costs.

I’d just forward them to my customer, other folks may or may not add a supplement or a discount on supplier’s shipment costs. But in my setup, shipment costs are not “inherited” to supplier and customer invoice, I have to add them manually.

Can I achieve that they are added automatically ?

Created 12779 on this.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.