Incoherence rapport marge et marge facture

Je suis en 3.3.1
Sur une facture, je rajoute toujours une ligne negative comme remise.
Sur la facture dans le detail de la marge , la marge totale est correcte que l’on ait configuré dans le module marge, produit , service, ou total pour les remises justement.

Par contre, si je vais dans le rapport marge pour un client qui n’a qu’une seule facture, la marge comme le prix de vente n’est pas exact. Le prix de vente affiché est egal au montant de la facture + la valeur absolue de la remise. La marge est aussi incorrecte.

Ayant fait l’effort de tout avoir renseigné sur 2013 pour avoir un rapport coherent , je suis un peu decu. Une idee pour fixer cela ?
Merci.
Fastm3.

Je me reponds tout seul.
Dans le rapport des marges dans customerMargins.php, pour la selection des lignes qui serviront a calculer le prix de vente, on a
if (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)
$sql .= " AND d.buy_price_ht <> 0";

Hors ma ligne negative a un prix d’achat a 0, donc ma remise n’est pas prise en compte pour le prix de vente , ni pour la marge. Ca explique tout.

En attendant la correction, j’ai desactivé ForceBuyingPriceIfNull et j’obtiens bien un rapport coherent. Super meme si ca implique qu’il faut renseigner alors partout le prix d’achat.
Fastm3.

Quelle correction attendre ? Comment voulez vous calculer une marge sur des produits avec une remise globale ? Comment savoir si la marge s’applique sur tel ou tel produit ? Il vous faut mettre vos remise sur les lignes correspondantes. L’intéret est aussi d’être sûr de ne pas vendre en dessous du prix mini ! Le prix mini peut être initialisé au prix d’achat ou de revient comme sécurité

>Quelle correction attendre ?
Si quelque chose est incoherent, le rendre coherent.

Une meme information qui n’a pas la meme valeur affichée en 2 endroits de Dolibarr est un bug. La correction est l’affichage d’une seule valeur pour une info donnée ( La marge par client ).

>Comment voulez vous calculer une marge sur des produits avec une remise globale ?
>Comment savoir si la marge s’applique sur tel ou tel produit ?
Je n’ai pas parlé de marge produit mais de marge totale.
D’ailleurs , le module marge permet de choisir qu’un montant negatif soit affecté à la marge produit , services, ou total. ( la reponse à votre question ) Cela a du vous echapper. C’est une fonctionnalité du module marge. Le module marge gere parfaitement les remises globales à l’exception de ce bug de coherence.

> Il vous faut mettre vos remise sur les lignes correspondantes
C’est hors sujet mais visiblement , vous n’avez pas des propositions de 50 lignes et plus. Dolibarr est completement nul sur ce point et les demandes passées sont a chaque fois ignorees pour des mauvaises raisons ( comptable ou dev ), on n’ecoute pas vraiment les besoins des utilisateurs. Je ne lance pas la pierre. J’agissais aussi un peu comme cela avant.
Pour modifier le pourcentage de remise sur une proposition , il est plus rapide de la refaire completement avec le risque d’erreur. Faire plus de 200 clicks pour cela montre un veritable probleme d’usabilité. Creer un bouton remise globale a appliquer serait deja un premier pas.

>L’intéret est aussi d’être sûr de ne pas vendre en dessous du prix mini ! Le prix mini peut être initialisé au prix d’achat ou de revient comme sécurité

Ben non, on s’en fout un peu d’etre en perte sur une ligne. Offrir un accessoire est une vente à perte et cela se fait. Le module marge permet justement de valider la marge au niveau global et c’est ce qui importe. Le fait d’avoir une ligne en perte ( qui est souvent un petit cadeau en plus qui fait la difference ) m’importe peu tant que la marge globale est à un niveau qui me satisfasse.
Beaucoup d’artisans travaillent comme cela.
Francois.