Mentions obligatoires sur les factures

Bonjour,

Suite à un contrôle fiscale, il est apparu un petit problème.
En fonction du type de vente effectué, il faut faire apparaître des mentions obligatoires sur les factures en fonction du type de client et de sa situation géographique:

Voici ce qu’il en ressort:

- Livraisons intra-communautaires : départ des marchandises de France vers un client assujetti à TVA dans l’espace économique européen (c’est à dire avec n° de TVA intracom sur la facture) : mention à ajouter sur la facture : « Exonération TVA, art. 262 ter, I du CGI »

- Exporations : départ des marchandises de France vers un pays hors espace économique européen : mention à ajouter sur la facture : « Exonération TVA, art. 262, I-1e du CGI »

- Opérations « extra-territoriales » : départ des marchandises de Corée vers un pays tiers : hors du champ d’application de la TVA, pas de mention particulière à faire figurer sur la facture.

Pour info, l’absence de ces mentions ou si elles ne sont pas appropriées au cas est passible d’une amende de 15 euros par facture défaillante. (on en fait un petit millier par an, je vous laisse faire le calcul…)

Ce serait donc pas mal que ça soit fait en automatique. Y-a-t-il une solution simple?
Si non, il paraît urgent de s’y pencher.

Merci

Max

La solution la plus rapide et la plus simple (surtout avec la v 3.1). C’est de faire un modèle de facture supplémentaire. copier coller du modèle de facture actuel, vous rajoutez les infos et quand vous générer une facture pour l’export vous choisissez le bon modèle de facture.

Maxime

Merci pour la réponse. L’idéal serait de lier automatiquement un modèle de facture par client.

Comment faire?

Bonjour,

Pour automatiser ceci il faut aller modifier le ficher : pdf_crabe.modules.php
ceci se trouve dans le chemin : \htdocs\includes\modules\facture\doc

Après ligne N° 561 tu peut coller le suivante :

//Mention pour envoie hors France mais dans CEE et N° CEE disponible
if ($object->client->tva_assuj == 0 && $object->client->tva_intra != ‹  ›)
{
$pdf->SetFont(’’,‹ B ›,10);
$pdf->SetXY($this->marge_gauche, $posy);
$pdf->MultiCell(100, 3,(« Exonération TVA, art. 262 ter, I du CGI »), 0, ‹ L ›, 0);
$posy=$pdf->GetY()+4;
}

//Mention pour envoie hors CEE et N° CEE NON disponible
if ($object->client->tva_assuj == 0 && $object->client->tva_intra == ‹  ›)
{
$pdf->SetFont(’’,‹ B ›,10);
$pdf->SetXY($this->marge_gauche, $posy);
$pdf->MultiCell(100, 3,(« Exonération TVA, art. 262, I-1e du CGI »), 0, ‹ L ›, 0);
$posy=$pdf->GetY()+4;
}

Fait un sauvegarder avant que vous commencer a modifier ceci.

Bon courage.

1 « J'aime »

J’ai généralisé le code, je l’ai adapté à la version de dolibarr en vigueur et j’ai corrigé qqs bugs. J’espère que j’ai mis les bon textes et que je n’ai donc pas inséré d’autres bugs.
Ce code est à ajouter dans le fichier ‹ pdf_crabe.modules.php › dans ‹ _tableau_info › (je penses même que cela peut être tout au début de cette méthode/fonction).

[code type=php]$hasProduct=false;
$hasService=false;
$nblines=count($object->lines);
for ($i = 0 ; $i < $nblines ; $i++)
{
$hasProduct|=($object->lines[$i]->product_type==0)&&($object->lines[$i]->tva_tx==0);
$hasService|=($object->lines[$i]->product_type==1)&&($object->lines[$i]->tva_tx==0);
}
//Mention pour envoie hors France mais dans CEE et N° CEE disponible
if ($object->client->tva_assuj != 0 && $object->client->tva_intra != ‹  ›)
{
$pdf->SetFont(’’,‹ B ›,10);
$pdf->SetXY($this->marge_gauche, $posy);
if($hasService && $hasProduct) {
$pdf->MultiCell(100, 3,« Exoneration TVA, art. 259 A ou 259 B, et art. 262 ter, I du CGI », 0, ‹ L ›, 0);
} else if($hasService) {
$pdf->MultiCell(100, 3,« Exoneration TVA, art. 259 B du CGI », 0, ‹ L ›, 0);
} else if ($hasProduct) {
$pdf->MultiCell(100, 3,« Exoneration TVA, art. 262 ter, I du CGI », 0, ‹ L ›, 0);
}
$posy=$pdf->GetY()+4;
}

//Mention pour envoie hors CEE ou N° CEE NON disponible
if ($object->client->tva_assuj == 0 || $object->client->tva_intra == ‹  ›)
{
$pdf->SetFont(’’,‹ B ›,10);
$pdf->SetXY($this->marge_gauche, $posy);
if($hasService && $hasProduct) {
$pdf->MultiCell(100, 3,« Exoneration TVA, art. 259 A ou 259 B, et art. 262, I-1e du CGI », 0, ‹ L ›, 0);
} else if($hasService) {
$pdf->MultiCell(100, 3,« Exoneration TVA, art. 259 A ou 259 B du CGI », 0, ‹ L ›, 0);
} else if ($hasProduct) {
$pdf->MultiCell(100, 3,« Exoneration TVA, art. 262, I-1e du CGI », 0, ‹ L ›, 0);
}
$posy=$pdf->GetY()+4;
}
[/code]

Bonjour,
Je vous conseille tout de même de dupliquer le modèle sous peine qu’il soit écrasé à la prochaine mise à jour de dolibarr.
Il suffit de le copier en pdf_xxx.modules.php et de changer le nom de la classe pdf_crabe en pdf_xxx et idem pour la fonction pdf_crabe.
Ensuite, activer le modèle dans la configuration du module « Factures et avoirs », et il sera sélectionnable pour la génération des pdf.

Bonjour,

Je rebondis sur ce sujet pour plusieurs choses.

Au-delà des mentions légales à ajouter dans les factures, ne faudrait-il pas aussi faire disparaître la colonne TVA et n’afficher qu’un « Total Net » dans le PDF, pour les tiers non assujettis ?

D’un point de vue plus comptable, il me semble qu’il faut ajouter un élément sur la facture qui permettrait de préciser « France, CEE, Hors-CEE ». Cela permettrai d’avoir les bonnes mentions sur la facture (1 même tiers peut avoir des factures France et des factures liées à l’export) mais aussi, cela permettrai de répartir correctement comptablement les lignes de factures (pas les même comptes comptables en fonction de France, CEE ou hors-CEE).

Et pour aller plus loin du coup, voir pour envisager avoir la possibilité de définir 3 codes comptables sur les produits, pour ces 3 catégories là.

C’est ce que j’ai compris de ce que mon comptable m’a expliqué. Qu’en pensez vous ?

Petit Up pour retour d’expérience.

J’aimerai proposer ces évolutions :
- Pas de colonne TVA et Total Net dans le PDF facture si tiers non assujettis
- Gestion de 3 codes comptables pour un produit
- Préciser sur facture si national, export CEE ou export hors-CEE

Je suis d’accord avec Maxime,

Pour ce qui est des colonnes de tva je ne suis pas concerné mais ça me parait évident.

La gestion des codes comptables est une évidence. En effet si c’est acheté et/ou vendu dans l’UE ou hors UE, les comptes sont différents. Le système devrait donc faire son choix selon le pays du fournisseur et/ou client.
Un code national, un code zone (cee pour nous) et enfin un code export hors zone.

Si export en CEE, il doit y avoir une mention éxonération sur la facture et le numéro de tva.

Bonjour,

Merci phil pour ton retour. Je vais voir à planifier ces tâches et me mettre au développement.

Je reviens à la charge sur un autre point soulevé par mon comptable :
Concernant la TVA, chaque taux à son propre code comptable. Ça ok, c’est géré dans la partie dictionnaire. Mais chaque taux à son propre code de vente et d’achat. Il faudrait alors prévoir deux codes comptable possible par taux de TVA.

Je sais que Régis bosse sur un module comptabilité + poussé. Est-ce que cela en fait partie, à voir.

Qu’en pensez-vous ?

Bonjour,
J’utilisais cette solution de modèle de facture crabe modifié avec les mentions obligatoires et ca marchait très bien. Depuis mon passage de 3.9.3 à 4.0.3 cela ne fonctionne plus. Alors j’ai repris le modèle crabe fournit avec la version 4.0.3 pour rajouter les motifs listés plus haut, mais cela ne rajoute plus les mentions en fonction de la nature du tier.
Quelqu’un pourrait-il me dire si il utilise cette solution avec la version 4 de Dolibarr.

Merci pour votre aide
Christian

Bonjour
Réintégrer les mentions chinois fait partie de ma todo liste sur homard (pack rubis) avec une version spéciale Fr
@+