Desactivation du calcul HT ou TTC pour une ligne du module Note de Frais

Bonjour,

Nous ne pouvons utiliser le module de note de frais (version 12) car nos collaborateurs ne peuvent pas entrez le montant HT et TTC de leur ticket de repas .

En effet, du fait de la ventilation de la TVA sur plusieurs lignes dans un ticket de restaurant, la calcul du HT est faux.

Connaissez vous un moyen de bloquer la mise à jour automatique du HT ou du TTC lorsqu’on entre une valeur d’un ligne d’un note de frais ? Cela permettrait au collaborateur d’entrer manuellement le TTC et le HT.

Merci d’avance

bonjour
je rebondis sur ce sujet.
est’il possible de créer une notre de frais en insérant une facture de restaurant avec deux taux de TVA
merci

Bonjour,

Je n’ai pas eu de réponse à ma question et cela n’a pas l’air d’être pris en compte dans les futurs développements. Dommage car cela rends totalement inopérant les frais de dolibarr…

bien à vous,

Bonsoir @henosis @PAT69
Peut être voir du côté de Notes de frais - Plugin DoliSCAN pour Dolibarr se rapproche d'une version 1.0 :-)

Cordialement
Eric

1 « J'aime »

bonjour et merci pour l’info.
j’ai regarder brièvement Doliscan et pas encore vu une solution nette.
il semble que les factures d’hôtel ou restaurant avec plusieurs TVA nécessitent plusieurs lignes.
l’idée d’@henosis semblait vraiment intéressante en déverrouillant le calcul automatique « HT/TTC » et en insérant les bonnes valeurs manuellement !!!
je vais regarder pour ma part du coté du dictionnaire s’il y a une astuce pour créer une TVA multiple.
merci encore

Bonjour Pat69,

Nous essayons de modifier le module de notre coté car en regardant précisément, la table llx_expense_report_det ne stocke pas la valeur de la TVA d’une ligne ( elle est calculée à la volée). Ce qui ne permettra pas de la rentrer manuellement.

Si nous réussissons, je vous enverrais la modification du module V12. Nous essayons de régler ce probléme pour la fin du mois…

très bonne journée,

1 « J'aime »

Bonjour @PAT69
c’est bien le cas: une facture ayant plusieurs taux de tva sera ventilée en autant de lignes que de taux de tva, par exemple:

C’est une contrainte liée à tous les calculs internes de dolibarr (pour les calculs de déclaration de tva de fin de mois par exemple) …

Dans cet exemple les arrondis de calculs de tva sont complexes mais le montant final de la TVA collectée/à reverser est respecté :slight_smile:

Bonjour.

Totalement d’accord, c’est ce point (plusieurs taux de TVA par ticket) qui fait que nous ne pouvons pas utiliser les notes de frais sous Dolibarr. C’est dommage, c’est la seule chose qui manque pour avoir une gestion globale des projets.

Un jour je me pencherais sur le sujet si rien n’est fait avant, je viendrais chercher de l’aide ici quand je ferais quelque chose :wink:

Expensereport - diffusion.zip (41,5 Ko)

Bonjour,

Nous avons résolu le pb de notre coté en modifiant sauvagement les fichiers card.php et expensereport.class. Je vous les livre ci-joint si cela vous aide à adapter cela à votre organisation.

Ces modifs prennent en compte des règles de notre entreprise et de notre définition des types de frais dans dolibarr donc elles ne peuvent être appliquées ailleurs sans modification.

Le principe est de ne plus choisir le pourcentage de TVA, le fichier card.php le fixe lui même:

  1. TVA à 0% pour les frais de transport ( Bateau,train,metro, indemminté kilométrique)
  2. Pour les lignes « autres »,« dejeuner du midi »,« invitation »:
    • Lors de la création d’une ligne de ce type, TVA à 10%
    • Lors de l’édition d’une ligne de ce type, Possibilité de renseigner la valeur de la TVA ( l’utilisateur doit donc rentrer l’addition des valeurs de la TVA de son ticket)
  3. TVA à 16% pour la ligne Carburant voiture de fonction ( Récupération identique de 80% de la TVA pour le diesel et l’essence à partir de 2021)
  4. TVA à 20% pour les autres types de note de frais

vous trouverez pas mal de switch($fk_c_type_fees) qui fixe ces régles, exemple ci-dessous.
Pour rappel, fk_c_type_fees est l’id de vos types de note de frais rentrer dans le dictionnaire dolibarr.

    switch($fk_c_type_fees)
    {
        case "4":			// TVA a 0% pour train,bateau,metro,ica
      $vatrate="0";
      $value_unit_ht = $value_unit;
          break;
        case "34":
        case "35":
        case "36":
           $vatrate = "0";
       $value_tva = "0";
           $value_unit=$object->get_ica($annee,$fk_c_type_fees);
           $value_unit_ht = $value_unit;
           break;
        case "1":			// Autre
        case "6":			// Invitation collaborateur 
        case "33":    		// Dejeuner Midi
            $value_tva = GETPOST('value_tva','alpha');
            $value_unit_ht = price2num($value_unit-$value_tva, 'MU');
            $vatrate= price2num(($value_tva / $value_unit_ht)*100,'MT');
            break;
        case "42":
            $vatrate="16";          // TVA a 16 , 80% de récupération de la TVA
            $value_tva = price2num( ( $value_unit / ( 100 + $vatrate )) * $vatrate );
            $value_unit_ht = price2num( $value_unit * ( $vatrate / 100));
           break;
        default:
            $vatrate="20";          // TVA a 20 par défaut
	$value_tva = price2num( ( $value_unit / ( 100 + $vatrate )) * $vatrate );
	$value_unit_ht = price2num( $value_unit * ( $vatrate / 100));
    }

Attention, pour les lignes de déjeuner du midi, nous limitons le remboursement à 10€, donc dans le cas ou on renseigne un déjeuner à plus de 10 €, le fichier card.php remplace la valeur par 10€ et applique un taux arbitraire de 10%. A désactiver dans le fichier card.php.

Il y a aussi une modif de la table llx_expensereport_det car cette table ne stocke pas la valeur de la TVA et une nouvelle table hen_barement_ica renseignant les barèmes fiscales des ICAs ( script SQL à exécuter dans le zip)

En espérant que cela puisse aider certains d’entre vous.

Bonne journée,

1 « J'aime »

Merci, je vais étudier cela.

Bonne fin de journée.