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.
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…
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
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…
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
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:
TVA à 0% pour les frais de transport ( Bateau,train,metro, indemminté kilométrique)
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)
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)
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.