Prise de commande

Canevas simplifié de la prise de commande

Le modèle de données et/ou le diagramme de classes:
Une analyse rapide du domaine fait apparaitre les objets suivants:
Le CLIENT qui passe la commande, L'ARTICLE commandé, La COMMANDE, La LIGNE de commande. Par ailleurs la commande est facturée par défaut au client qui passe la commande mais peut, le cas échéant être facturée à un PAYEUR tiers. De même la commande sera livrée à l'adresse du client par défaut mais peut, le cas échéant être livrée à un DESTINATAIRE tiers. Le client communique avec une PERSONNE d'un SITE pour effectuer sa prise de commande.

Une personne de la société cliente passe sa commande auprès d'une personne de la société fournisseur, en vue de livraison suivie par une personne de la société destinatrice à l'adresse de destination, sachant que la facture sera adressée à une personne de la société facturée.

On admet que toute commande est passée par un client et un seul. La commande référence le client qui a passé la commande ainsi que le payeur de cette commande et le destinaire de cette commande. La commande est identifiée par un n° d'ordre unique (Attention: si sites de prise de commande multiples et non interconnectés en temps réel, ce n° d'ordre se compose d'un identifiant du site et d'un numéro unique au sein du site).

La commande indique la date (voire l'heure de prise de commande), le site de prise de commande, la personne qui a pris la commande, la date de livraison prévue (voire l'heure), le montant total hors taxes, la remise globale éventuelle, le montant total de la TVA, le montant TTC à payer.

Ensuite la commande détaille pour chaque ligne de commande:
La référence article, la désignation article, la quantité fournie, le prix unitaire HT, la remise spécifique article s'il y a lieu, le taux de TVA applicable à cet article (par défaut taux de TVA commun), le montant TVA ligne, le montant TTC ligne.

Quelques formules:
taux TVA est exprimé en %
prix ligne net = (prix unitaire HT * quantité fournie) - remise spécifique
montant TVA ligne = (prix ligne net) * taux TVA
montant TTC ligne = (prix ligne net) * (1 + taux TVA)
montant total HT = somme des prix ligne net
montant total HT net = montant total HT - remise globale
montant total net = montant total HT - remise globale
montant total TVA = somme des montants TVA ligne * montant total HT net / montant total HT
montant TTC à payer = montant total HT net + montant total TVA

Le client, le payeur et le destinataire sont considérées comme héritant d'une super classe appelée TIERS. La personne d'un site qui prend la commande peut être vue comme une sous classe de TIERS au même titre que le client, le payeur ou le destinataire. Cette analyse des choses permet à la personne de prendre des commandes à son compte si nécessaire et surtout d'éviter un doublon lorsque la personne devient client, etc ...

On distingue donc la SOCIETE ou site, le TIERS et l'ADRESSE
Une société peut avoir un à plusieurs tiers et un même tiers peut appartenir à plusieurs sociétés. Une société peut avoir une à plusieurs adresses et une même adresse appartenir à plusieurs sociétés. Un tiers peut avoir une à plusieurs adresses et une même adresse être commune à plusieurs tiers. Un client particulier est assimilé à une société d'une personne ayant une ou plusieurs adresses. Une société mère peut avoir de 0 à plusieurs filiales; une filiale a une maison mère et une seule.

Les attributs de SOCIETE sont: identifiant unique, identifiant de maison mère, nom ou raison sociale, date création, date modification

Les attributs de TIERS sont: identifiant unique, nom, prénom, date création, date modification, téléphone portable, email

Les attributs de ADRESSE sont: identifiant unique, code postal, lieu postal, détail adresse, remarques d'accès, téléphone fixe, adresse bancaire,

La relation n-n entre SOCIETE et TIERS a pour attributs: identifiant unique, identifiant de société, identifiant de tiers, type interne ou client ou payeur ou destinataire.

La relation n-n entre TIERS et ADRESSE a pour attributs: identifiant unique, identifiant du tiers, identifiant d'adresse, type interne ou client ou payeur ou destnataire

La relation n-n entre SOCIETE et ADRESSE a pour attributs: identifiant unique, identifiant de la société, identifiant d'adresse, type interne ou client ou payeur ou destnataire

Les attributs de COMMANDE sont: identifiant unique, numéro de commande, identifiant du client, identifiant du payeur, identifiant de la personne livrée, identifiant de l'adresse de livraison, identifiant du preneur de commande, date de la commande, date de livraison prévue, remise globale donnée

Les attributs de ARTICLE sont: identifiant unique, référence article, désignation article, prix unitaire, code TVA (détermine le taux applicable à cet article), conditions remise ou promotion, qté minimum livrable, qté en stock (disponible), qté maximum livrable à un seul client

Les attributs de LIGNE de commande sont: identifiant unique, n° d'ordre ligne, identifiant commande, identifiant article, qté commandée,prix unitaire (reporté en LIGNE pour éviter qu'un changement de prix dans ARTICLE aie une incidence sur une commande déjà enregistrée), remise ligne accordée, taux de tva applicable (reporté en LIGNE sous forme taux pour éviter qu'une modification de la correspondance code tva, taux tva n'ai une incidence sur une commande déjà enregistrée)

Il y a une relation 1-n entre COMMANDE et LIGNE (clé étrangère = identification commande)
et entre ARTICLE et LIGNE (clé étrangère = identification article),
et entre TIERS(de type client) et COMMANDE (clé étrangère = identification client).

Voir le dessin du modèle de données et le dessin du diagramme de classes correspondant.

Le modèle des traitements et/ou le diagramme de composants:

Les traitements à effectuer sont:
La saisie et mise à jour des code tva et taux associés (non étudié dans ce canevas)
La saisie et mise à jour des entités/classes SOCIETE, TIERS, ADRESSE ainsi que les entités de
relation ou les associations associées.
La saisie et mise à jour de l'entité/classe ARTICLE
La saisie et mise à jour des conditions de remise ou promotion (laissé de coté dans ce canevas)
La prise de commande initiale
La vérification des disponibilités et l'ajustement avec le client si possible
Le calcul de la date de livraison
La modification d'une commande déjà enregistrée
L'annulation d'une commande
La diffusion de la commande (vers le client et en interne pout traitement)

On étudie d'abord la prise de commande initiale qui est au coeur du sujet.
Scénario: un client est mis en relation avec une personne qui effectue la prise de commande appelée ici le preneur.
Le preneur s'est connecté au système depuis longtemps; son identification et son appartenance à
un site de la société fournisseur est connue.
Le preneur obtient du client son nom
Il consulte la liste des clients
-Il n'en trouve aucun (après dialogue et affinage de l'orthographe du nom); c'est donc un nouveau client. Il faut alors saisir les données Société cliente, Tiers client, Adresse client, Société payeur, Tiers payeur, Adresse payeur, Société destinataire, Tiers destinataire, Adresse destinataire (par défaut client=payeur=destinataire). Et enregistrer ce nouveau client.
-Il en trouve plusieurs. Il faut alors identifier le bon en fonctions des infos en liste et des infos fournies par le client.
-Il en trouve un seul
Le preneur communique les infos sélectionnées et demande confirmation au client.
Le preneur prend en compte chaque article commandé par le client:
Il vérifie son existence en liste des articles
-Il ne trouve pas (après affinage et dialogue avec le client). Article inexistant. Rien à faire. Le client poursuit ou bien abandonne la commande ici.
-Il trouve. Il vérifie alors sa disponibilité, son prix, les remises ou promotions possibles, la tva applicable et communique toutes infos au client pour lui demander confirmation, en particulier au cas de qté partiellement disponible. Il peut alors rechercher un article semblable, etc ... Le client poursuit ou bien abandonne la commande ici.
Si le client n'a pas abandonné et qu'il y a au moins une ligne article commandée, la commande est enregistrée ce qui implique le calcul de toutes les données des entités COMMANDE et ARTICLE, et la détermination d'une date de livraison, la rectif éventuelle de l'adresse de livraison, en accord avec le client puis la diffusion de la commande validée en interne et la diffusion pour compte rendu vers le client via courrier ou email.

Edité le:05/03/2019