Cegid XRP Ultimate | I3 Actualisé le 06/10/2022 |
|||
Ventes | |||
TRET - Actions réalisées par le traitement des retours |
Principe de recherche d'un crédit de retour |
Pour savoir si une ligne peut être retournée ou non, une recherche de crédit de retour doit être effectuée avec les critères suivants : - client : client de la commande ; - devise : devise de la commande ; - établissement : établissement de la commande ; - tarif HT ou TTC : selon la classe de tarifs de la commande ; - période de validité : la date d'expédition de la commande (si elle n'est pas renseignée, c'est la date au plus tôt de la ligne ou de la commande qui importe) doit être comprise dans la période de validité du crédit. Le crédit doit être à l'état actif et il ne doit pas être épuisé (le crédit de retour doit être supérieur au crédit déjà retourné). Comme plusieurs crédits de retour peuvent répondre à ces critères, un ordre de priorité a été établi : - crédits avec droit de retour définis pour l'article de la ligne ; - crédits avec droit de retour définis pour les familles d'articles (si l'article de la ligne appartient à une des familles d'articles contenues dans le texte de l'occurrence FAMRET du paramètre AUTSVT pour le chemin de composition contenu dans la chaîne 2) ; - crédits sans droit de retour définis pour l'article de la ligne ; - crédits sans droit de retour définis pour les familles d'articles (si l'article de la ligne appartient à une des familles d'articles contenues dans le texte de l'occurrence FAMRET du paramètre AUTSVT pour le chemin de composition contenu dans la chaîne 2). Pour chaque "priorité", les crédits de retour sont triés par date de fin de validité de la plus ancienne à la plus récente (pour consommer les crédits qui vont se "périmer" en premier) et par prix croissant (du moins cher au plus cher). |
Réalisation de l'éclatement en sous-commandes |
Les commandes à traiter sont triées par établissement, classe de commandes, numéro et sous-numéro. Pour que le traitement puisse se réaliser, il faut que l'étape de la commande soit inférieure à celle à effectuer. Après avoir vérifié la cohérence de l'étape de la commande, le traitement contrôle que la commande comporte au moins une ligne. Si toutes les lignes de la commande ont une quantité positive (ce n'est donc pas une commande de retour), alors l'étape de la commande évolue et aucune modification n'est apportée sur la commande. Pour que la commande de retour soit traitée, la classe de commandes doit autoriser les retours. Sinon, l'étape de la commande n'évolue pas et aucune modification n'est apportée sur la commande. Pour qu'une ligne soit traitée, elle doit avoir les caractéristiques suivantes : - l'article vendu retourné doit avoir le droit de retour : soit il possède une rubrique article marquée à "O" dans sa valeur pour indiquer qu'il gère les retours, soit la rubrique indique par sa valeur qu'il n'est pas marqué comme ne gérant pas les retours. Se reporter à l'occurrence DRTRET du paramètre AUTSVT pour le positionnement des valeurs ; - la quantité doit être négative ; - la ligne de commande doit influencer sur le stock (sauf dans le cas des compositions d'articles) ; - un crédit de retour (GCRE) doit exister (pour les caractéristiques de la ligne) qu'il autorise ou non les retours. Il ne doit pas être totalement épuisé. Si la commande ne possède aucune ligne qui réunit ces conditions, l'étape de la commande n'évolue pas et aucune modification n'est apportée sur la commande. Si la commande a au moins une ligne qui répond à ces critères, elle est traitée selon le principe suivant : - les lignes sont triées par numéro ; - seules les lignes vérifiant les critères cités ci-dessus sont traitées. Les autres lignes sont ignorées, c'est-à-dire qu'elles sont conservées sur la sous-commande initiale sans aucune modification. Si la commande a au moins une ligne qui répond à tous ces critères sauf celui concernant l'existence d'un crédit de retour, le traitement se termine en anomalie fonctionnelle. Il est possible d'exclure de la sélection du traitement, les lignes dont la rubrique article vaut "N". La rubrique provient de la chaîne 1 du paramètre AUTSVT occurrence DRTRET. Ces lignes seront considérées comme valides pour le retour. Il est aussi possible de ne valider que les retours des clients contenus dans une liste, mais avec une valorisation des prix de tous les articles à zéro. Cette liste de clients (GLST) est indiquée dans le champ "Texte" de l'occurrence DRTRET du paramètre AUTSVT. |
Retour partiel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Si la commande contient à la fois des articles qui ont le droit de retour et des articles qui n'ont pas le droit de retour, ou si la commande contient des articles qui ont tous le droit de retour mais dont les crédits de retour ne permettent pas de retourner toutes les lignes en totalité ou même partiellement, alors il y a éclatement de la commande : - la sous-commande est créée à l'identique de la commande initiale, même classe, même numéro, seul le sous-numéro est incrémenté de 1. Elle contient toutes les lignes qui autorisent les retours et dont un crédit de retour avec droit de retour a été trouvé pour retourner en totalité ou partiellement la ligne ; - les lignes qui autorisent les retours et dont un crédit de retour sans droit de retour a été trouvé pour retourner en totalité ou partiellement la ligne sont conservées sur la commande d'origine ; - les lignes qui interdisent les retours ou qui autorisent les retours mais pour lesquelles il n'y a aucun crédit de retour valable sont conservées sur la commande d'origine sans aucune modification. Si un crédit de retour a été trouvé pour la ligne et que le prix tarif HT de la ligne vaut 0, alors le prix tarif HT de la ligne est mis à jour avec le prix du crédit de retour, sinon le prix tarif HT de la ligne est conservé. Exemple : Les articles A et B ne donnent pas le droit au retour, le paramétrage indique que ces lignes ne sont pas traitées mais validées pour le retour ; les autres articles donnent droit au retour.
Après traitement : Les lignes qui ne peuvent pas être retournées restent sur la sous-commande 1 ; l'étape n'évolue pas. Les lignes autorisées à être retournées sont générées sur la sous-commande 2 ; l'étape évolue. Voici les modifications apportées dans les lignes et les crédits :
Toutes les lignes pouvant être associées à un crédit de retour, avec ou sans le droit de retour, auront un lien avec ce crédit dans GLCDV de type "X" sur le domaine "R". L'objet lié est égal au numéro séquentiel du crédit de retour. Si une ligne nécessite plusieurs crédits de retour différents, alors elle sera dupliquée autant de fois que nécessaire afin d'associer dans les liens des commandes de ventes (GLCDV) chaque ligne à son crédit de retour. Si le code TVA de la ligne à retourner correspond à une occurrence TVARETxxxx du paramètre AUTSVT, et si cette ligne peut être associée à un crédit de retour, alors le code TVA est mis à jour avec la chaîne 1 de cette occurrence et les prix TTC de la ligne sont recalculés. Chaque sous-commande générée est valorisée et positionnée à l'étape du traitement. La commande initiale est également valorisée pour mettre en phase les échéances et conditions de facturation en fonction des lignes restantes qui n'ont pas entraîné la création de sous-commandes. Si la case "Envoi des traitements" est cochée, les traitements sont exécutés pour les sous-commandes générées. Les traitements exécutés sont tous ceux non encore réalisés, jusqu'à trouver un arrêt proposition dans les étapes par classe (GETCV). Le traitement contrôle que le composé et ses composants sont sur la même sous-commande. |
Cas particulier des types de crédit en montant (M) avec valeur testée 1 égale à "D" |
Le but de ce paramétrage est de pouvoir définir ou alimenter les droits de retour sur une combinaison client-famille d'articles tout en effectuant la valorisation des lignes de commandes par une combinaison client-article. Pour cela, les crédits avec le type en montant sont définis en quantité et pour chaque crédit, est stocké dans la table des crédits, un montant "crédit famille" initialisé lors de la création du crédit en multipliant la quantité avec le prix net du crédit. Seuls les crédits avec un droit de retour actif donnent droit à un montant "crédit famille". Le "crédit famille" est recherché en début de traitement pour connaître le montant total dont le client dispose. Les crédits sont cumulés selon les critères : - le client du crédit doit être égal au client de la commande ; - l'article du crédit doit appartenir à une des familles d'articles définies dans le champ "Texte" du paramètre AUTSVT occurrence FAMRET ; - la devise du crédit doit être égale à la devise de la commande ; - le tarif du crédit (HT ou TTC) doit correspondre à la définition de la classe de tarifs (HT ou TTC) de la commande ; - la fourchette de validité du crédit doit inclure la date de commande ; - le droit de retour du crédit doit être actif ; - la quantité de crédit de retour ne doit pas être totalement utilisée. Ensuite, pour chaque ligne de retour traitée, le traitement recherche si une valorisation du prix est possible, puis regarde s'il est possible de faire un retour total ou partiel par rapport au montant "crédit famille" restant et le crédit article demandé. Le montant de la ligne est déduit en priorité des lignes de crédit dont le code article correspond. Si cela n'est pas suffisant, le montant est déduit des lignes de crédit appartenant à la famille, en utilisant en priorité ceux dont la date de fin de validité est la plus ancienne (pour consommer les crédits se "périmant" en premier). La quantité est mise à jour sur les lignes de crédit correspondant au code article de la ligne de retour. Sont utilisés en priorité les crédits ayant un droit de retour actif avec la date de fin de validité la plus ancienne (pour consommer les crédits se "périmant" en premier), puis si tous les crédits avec le droit de retour actif sont consommés, on consomme la quantité sur les crédits ayant le droit de retour inactif. Une fois le "crédit famille" consommé en totalité, les lignes de retour appartenant aux familles ne pourront pas être validées, même s'il reste de la quantité sur les crédits. |
Exemple | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Commande de retour avant traitement :
Crédit de retour avant traitement :
Les articles A, B, C, D et E appartiennent tous à la famille F qui donne droit au retour. Le traitement calcule le montant de droit de retour pour la famille article : 54 + 30 + 22,75 + 80 + 13 = 199,75 EUR. Le client dispose donc d'un montant de droit de retour de 199,75 EUR. Traitement de la ligne de retour 10 correspondant à l'article A - Recherche du prix à affecter à l'article : la ligne de crédit 1 correspond à l'article A sur lequel il reste des crédits en quantité, le traitement utilise le prix défini sur cette ligne : 9 EUR. - Calcul si assez de crédit en montant sur la famille : le montant à retourner 8 * 9 = 72 EUR est inférieur au 199,75 EUR disponible, le retour complet de la ligne peut être effectué. Il reste 127,75 EUR au crédit famille (199,75 - 72). - Le traitement supprime ensuite les 72 EUR du droit famille sur les lignes de crédit. La ligne de crédit 1 passe de 54 EUR à 0 EUR sur son droit famille, il reste 18 EUR à enlever. Comme il n'y a plus de crédit avec un montant pour les droits famille sur l'article A, le traitement enlève 18 EUR sur une autre ligne de crédit appartenant à la famille. La ligne de crédit numéro 2 de l'article B voit son montant crédit famille passer de 30 EUR à 12 EUR. - Mise à jour de la quantité sur les lignes de crédit : la ligne de crédit numéro 1 passe à 6 en quantité déjà créditée. Il reste 2 articles A à affecter, que le traitement crédite sur la ligne de crédit numéro 4. Crédit de retour après traitement de l'article A :
Traitement de la ligne de retour 20 correspondant à l'article B - Recherche du prix à affecter à l'article : la ligne de crédit 2 correspond à l'article B sur lequel il reste des crédits en quantité, le traitement utilise le prix défini sur cette ligne : 6 EUR. - Calcul si assez de crédit en montant sur la famille : le montant à retourner 8 * 6 = 48 EUR est inférieur au 127,75 EUR disponible, le retour complet de la ligne peut être effectué. Il reste 79,75 EUR au crédit famille (127,75 - 48). - Le traitement supprime ensuite les 48 EUR du droit famille sur les lignes de crédit. La ligne de crédit 2 passe de 12 EUR à 0 EUR, la ligne de crédit 3 passe de 22,75 EUR à 0 EUR et la ligne de crédit 5 passe de 80 EUR à 66,75 EUR. - Mise à jour de la quantité sur les lignes de crédit : la ligne de crédit numéro 2 passe de 5 à 10 en quantité déjà créditée. Les 3 articles B restant à affecter sont ignorés par le traitement car il n'y a pas d'autres lignes de crédit avec l'article B. Crédit de retour après traitement de l'article B :
Traitement de la ligne de retour 30 correspondant à l'article C - Recherche du prix à affecter à l'article : la ligne de crédit 3 correspond à l'article C sur lequel il reste des crédits en quantité, le traitement utilise le prix défini sur cette ligne : 3,25 EUR. - Calcul si assez de crédit en montant sur la famille : le montant à retourner 100 * 3,25 = 325 EUR est supérieur au crédit famille disponible 79,75 EUR. Il n'y a pas assez de crédit sur la famille pour faire un retour total de la ligne, le traitement fait donc un retour partiel de la ligne pour un montant de 79,75 EUR. - Calcul du nombre d'articles C que l'on peut retourner avec le montant crédit restant : 79,75 / 3,25 est environ égal à 24 (valeur entière du résultat). 24 articles C sont retournés et 76 restent en attente. - Le traitement supprime ensuite le montant correspondant aux 24 articles C, soit 78 EUR (24 * 3,25) sur le montant famille. La ligne de crédit numéro 5 passe à 0 EUR et la ligne de crédit numéro 6 passe à 1,75 EUR. - Mise à jour de la quantité sur les lignes de crédit : la ligne de crédit numéro 3 passe à 7 en quantité déjà créditée. Les 17 articles C restant à affecter sont ignorés par le traitement car il n'y a pas d'autres lignes de crédit avec l'article C. Crédit de retour après traitement de l'article C :
Traitement de la ligne de retour 40 correspondant à l'article D - Recherche du prix à affecter à l'article : la ligne de crédit 5 correspond à l'article D sur lequel il reste des crédits en quantité, le traitement utilise le prix défini sur cette ligne : 10 EUR. - Calcul si assez de crédit en montant sur la famille : le montant à retourner 10 * 10 = 100 EUR est supérieur au crédit famille disponible 1,75 EUR. Il n'y a pas assez de crédit sur la famille pour faire un retour total de la ligne, ni même partiel. La ligne 40 ne sera donc pas traitée. Etat de la commande après traitement :
|
Cas particulier des compositions d'articles |
Dans le cas des compositions d'articles, le traitement traite les retours des lignes des articles composants comme des articles "classiques". Une fois tous les articles composants d'une composition traités, le traitement calcule combien de fois la composition peut être retournée entièrement en respectant la cohérence des quantités définie dans GCAR. Le retour des compositions pouvant être retournées entièrement est accepté et celui des compositions incomplètes est refusé. On ne gère pas plusieurs niveaux de compositions pour les retours. |
Traitement d'une liste de commandes |
Si l'élément traité est une liste de commandes, vérification en fonction du paramétrage, si autorisation de traiter des commandes relatives à différents établissements (occurrence V du paramètre AUTLISTE). Lorsque le traitement se déroule sans anomalie, modification de la liste pour indiquer la dernière étape réalisée. Mise à jour de l'étape, elle est égale à l'étape du traitement des retours. Mise à jour de la date de dernier traitement. Mise à jour de l'utilisateur ayant réalisé le traitement. Mise à jour du dernier traitement réalisé. |
Historique de l'étape |
Comme pour toutes les transactions référencées dans les étapes, possibilité au niveau de la commande de conserver une trace de l'étape réalisée. Création de cet historique en indiquant le numéro de l'étape, l'utilisateur ayant effectué l'étape, ainsi que la date et l'heure de réalisation de l'étape. C'est lors de la définition de l'étape par classe (GETCV) que vous indiquez si la mémorisation est active ou non. |