Generating customer shipments from sale subscriptions

We are currently starting a project where the main business is to sell a monthly magazine to its customers. While there is the possibility to read this magazine digitally there is still some people who wants to get the magazine in its house.

It seems that it can be managed in Tryton by generating a Customer Shipment each time a Consumption is created. There is also the case that the magazine is gifted to another person, so we need to store both Invoice and delivery address on the subscription to be able to generate the invoice and the shipment to the right person.

To implement that I think we should:

  • Add a products Many2Many to the service to specify the products that should be delivered to the customer. Such products should be limited to goods or even kits.
  • Add a delivery recurrence to the service. This will be used to indicate when the shipment should be created. The consumption recurrence can not be used because once someone subscribes for a year, the consumption is done in a single period but a magazine is delivered each month.
  • Add a delivery party and address to the subscription line. Such fields will be required if the service has products selected (even filled by on_change)

This should be part of a new module called sale_subscription_shipment or sale_subscription_delivery.

Does it make sense to include as standard module?

I think with such design you are loosing a scale simplification. Indeed for publication they are sent at the same to everyone subscribed. So it will be very resource consuming to create a shipment for each subscriber. Also I do not think that a publication should be managed in stock like a goods.
So for me it will be more about generating a list of current subscriber with address labels to whom ship the publication.

Yes but there is the case that each publication are delivered by diferent “Carriers”. So we must be able to sent them at the same but to split in some groups.

Labeling with the right addres is important, probably as far as we are able to get the data we will be able to generate the right information.

But we have the case that the subscriber has two lines, one that generates the delivery and other that does not, so we must be able to distinguish them.

I can understand that but it is probably done by rule like one carrier for inside the country, another for Europe etc. And not choose for each subscription.

Yes, selecting the carrier by a rule makes sense.

But we have the problem is that the delivery recurrence is not linked to the consumption recurrence. For example one may subscribe for a year with a fixed prices that includes the delivery of 4 publications (one each three months).

So If I understand correctly your proposal includes creating a new wizard that will generate records in a new model to include for each publication and data the number of recipients that will receive them, Right?

I do not think they must be linked. Indeed for example a yearly subscription could just create one consumption per year when indeed there is a publication sent every month.

I do not think you need to create anything. This can be computed when needed.