Processus Drop Shipment
Principe
Certain produit peuvent être vendu par une société mais expédiée en cas de commande client, directement par le fournisseur. On parle dans ce cas de Drop Shipment.
Lors d'une commande client, lors de son approbation, tous les articles ayant drop shipment sur un de leur fournisseur et non disponible en stock, ne déclenche aucun mouvement/planification de stock mais une commande d'achat auprès du fournisseur correspondant avec en client commandeur et client facturé la société et client livré le client à l'origine de la commande de vente.
Cette commande d'achat, lors de l'expédition du fournisseur génèrera une Expédition (Shipment) du fournisseur au client.
Au niveau comptabilité, l'intégration reçoit un nouvel évènement sur les évènements de facturation client : "ligne de produit par expédition directe"
Algorithme
Quand la commande de ventes passe à "approuvé"
checkDropShipment
pour chaque produit
si produit.besoinDropShip()
dropShip.put( produit.produitId, produit.listFournisseursDispoPourDropShip() )
fin pour
fournisseurs = Hook.recuperationListeProduitParFournisseur( dropShip )
pour chaques fournisseurs
creerCommandeAchat( fournisseur, fournisseur.produits );
fin pour
Quand le fournisseur annonce l'envoye de la commande
processDropShipment creationExpedition( commandeAchat ); attachement_expedition_commandeVante( commandeAchat ); avancement_status_commandes(); => Création de la facture.
Comptabilité, intégration de la facture : sélection de l'évènement
si ligne facture de type produit
si ligne.orderItemBilling.orderItem.orderItemAssoc.orderItemAsscType == dropShipment
evenement = factueClientDropShipment;


