• # Il faut saluer les développeurs

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche PhpCompta sortie de la version 5.2. Évalué à 3.

    Ils connaissent la différence entre les nombres flottants et les nombres décimaux. Et ça, dans une application, ça n'a pas de prix (en dehors des conséquence d'une fausse déclaration de la TVA).

    Un petit extrait de la classe include/class_acc_compute.php:


    function compute_nd_vat() {
    if ( $this->check && $this->order > 3 ) throw new Exception ('ORDER NOT RESPECTED');
    $this->order=4;

    if ($this->amount_vat == 0 ) $this->compute_vat();
    $this->nd_vat=bcmul($this->amount_vat,$this->nd_vat_rate);
    $this->nd_vat=round($this->nd_vat,2);
    }


    Par contre, j'ai un doute sur le fait qu'il faille faire l'arrondi sur chaque ligne d'écriture, ou par total de montant HT auxquels on doit appliquer la TVA.

    Par exemple, si j'ai 10 articles à TVA 19,6, et 5 articles TVA 5,5. PHPCompta va les compter ainsi :


    le total est nul
    pour chaque TVA
    sous total est nul
    pour chaque article de TVA courante
    prix ttc = prix unitaire ht * (100 + TVA courrante /100)
    arrondir prix ttc à deux décimales
    ajouter prix ttc multiplié de la quantité au sous total
    ajouter le sous total au total


    Alors que j'aurais plutôt fait ainsi:


    le total est nul
    pour chaque TVA
    sous total est nul
    pour chaque article de TVA courante
    prix ttc = prix unitaire ht * (100 + TVA courrante /100)
    ajouter prix ttc multiplié de la quantité au sous total
    arrondir sous total à deux décimales
    ajouter le sous total au total


    D'accord, ça ne fait pas une grande différence, et sur quelques milliers d'euros on peut arriver à quelques centimes d'euros de différence. Ceci dit, j'ai déjà passé une demi-journée au téléphone avec une emmerdeuse cliente parce que son bilan comptable avait une différence de un centimes (oui, 0,01 €) avec l'export comptable que le logiciel de mon employeur produisait.

    Ceci dit, il me semble que la règle est d'utiliser une méthode et de s'y fixer durant tout le bilan comptable. Dans ce cas, peut-être que PHPCompta pourrait proposer une option dans l'algorithme de calcul ?