FAQ - Facturation

Comment paramétrer plusieurs prix par article selon la quantité vendue ?

Voir aussi :
Comment paramétrer plusieurs prix par article selon des catégories de clients ?

Prix selon la quantité, il y a des quantités qui vont influencer le prix de vente, prix de gros, etc. Solution par calcul et prix prioritaire.

Le paramétrage des prix selon les quantités n’est pas un paramétrage de base dans nos modèles. Mais vous pouvez le faire ou nous pouvons vous aider ou le faire pour vous selon nos tarifs habituels.

On utilise une tabelle de prix combinée avec une tabelle de quantités dans la base des articles, puis on s’arrange pour reprendre le prix selon cette quantité lors de l’établissement des factures.

Dans la base des articles

Voici une tabelle de prix dans la base des articles qui permet d’appliquer un prix selon la quantité. Dans le cas ci-dessous les limites de quantités sont liées aux articles, ce qui permet d’avoir des tabelles différentes selon les articles. Il faut créer 2 rubriques : TabelleQté et TabellePrix (rubriques numériques fractionnaires de format tableau).

Par exemple, vous pouvez dessiner ces 2 rubriques comme indiqué dans l’exemple ci-contre. La première colonne "Qté de" ci-contre contient des calculs temporaires juste pour faire joli et clarifier l’utilisation de la tabelle. Le 1 est fixe. Note: les index des tableaux commencent à 0, la quantité 25 ci-contre peut par exemple être lue par @TabelleQté[2] depuis la base courante ou par @RefArticles.TabelleQté[2] depuis une autre base.

Il faut ensuite remplir les différentes fiches article ou au moins celles qui doivent avoir des prix différents selon les quantités.

Dans la base des factures

Il faut maintenant pouvoir reprendre le prix correct selon la tabelle de prix en référence à la quantité, et ceci seulement pour les fiches qui utilisent des prix différents selon les quantités. Il faut donc faire un calcul qui va utiliser le bon prix. Et comme ce calcul va se retrouver dans la case du prix de vente, on se trouve dans l’impossibilité de mettre un autre prix, le cas échéant. Autre inconvénient, si on change de prix, le calcul va modifier les anciennes factures avec les nouveaux prix, ce qui n’est évidemment pas souhaitable. Pour résoudre ces questions, il faut créer une rubrique de type numérique fractionnaire tableau qui va contenir un prix prioritaire: @APrixPrioritaire.

Dans le calcul du prix, il faut introduire l’instruction qui va reprendre le prix correct selon la quantité indiquée dans la case Quantité, par exemple ceci :

DEFAUT (@APrixPrioritaire ;
SI(DEFAUT( @RefArticles.TabelleQté[0];0)=0 ;
DEFAUT(@RefArticles.TabellePrix[0]; @RefArticles.PrixVente);
SI (@AQuantité <= @RefArticles.TabelleQté[0] ;
DEFAUT(@RefArticles.TabellePrix[0]; @RefArticles.PrixVente);
SI (@AQuantité <= @RefArticles.TabelleQté[1] ; @RefArticles.TabellePrix[1];
SI (@AQuantité <= @RefArticles.TabelleQté[2] ; @RefArticles.TabellePrix[2];
SI (@AQuantité <= @RefArticles.TabelleQté[3] ; @RefArticles.TabellePrix[3];
SI (@AQuantité <= @RefArticles.TabelleQté[4] ; @RefArticles.TabellePrix[4];
SI (@AQuantité <= @RefArticles.TabelleQté[5] ; @RefArticles.TabellePrix[5];
@RefArticles.TabellePrix[6]
) ) ) ) ) ) )
)

Ce calcul va donc prendre en priorité le prix indiqué à la main dans la case @APrixPrioritaire, ce qui nous permet de mettre un autre prix DEFAUT (@APrixPrioritaire ; etc.).

Si ce prix n’est pas indiqué dans le prix prioritaire, il prend le prix indiqué dans la fiche de l’article, en commençant par regarder si la tabelle des quantités est remplie.
SI(DEFAUT( @RefArticles.TabelleQté[0];0)=0 ;

S’il n’y a pas de quantité (ou 0) indiquée dans la première case de la tabelle correspondante de la fiche article, la tabelle n’est pas utilisée et c’est le prix de vente qui est utilisé soit celui indiqué dans la première case de la tabelle de prix si elle est remplie, à défaut le prix de vente de base. Dans l’exemple ci-dessus, s’il n’y a rien ou 0 à la place du 5 dans la quantité, sur une fiche d’un article.
DEFAUT(@RefArticles.TabellePrix[0]; @RefArticles.PrixVente);

Sinon la tabelle est utilisée: si la quantité indiquée est inférieure au nombre indiqué, on prend le prix correspondant. A adapter éventuellement, comme <= que l’on peut remplacer par < selon les besoins, ou compléter si on veut plus ou moins de prix différents selon les quantités.

Ensuite, lors de la validation de la fiche, il faut fixer les prix. La touche de validation (F12) doit alors contenir le calcul suivant : Menu Données - Choix des présentations, "Ecran de saisie", puis paramètres, puis Calcul pour validation où "Ecran de saisie" est l’écran que vous utilisez et qui contient les calculs standards).

@APrixPrioritaire := DEFAUT ( @AprixPrioritaire ; @Aprix )

Ceci va empêcher un recalcul des prix en mettant automatiquement le prix calculé dans le prix prioritaire de chaque article vendu sur cette facture.

Pour ce qui est des paramétrages supplémentaires, nous pouvons le faire pour vous si vous le désirez. Donnez-nous dans ce cas un cahier des charges détaillé et consultez nos prix horaires sur notre site.

(Retour au sommet)