Réception de factures électronique via Peppol v16
Réception de factures fournisseur
La réception de facture est effectuée automatiquement toutes les 12h. On peut aussi le faire manuellement en cliquant sur "Récupérer de Peppol" dans le journal de facture fournisseur dans le tableau de bord de la comptabilité.
Les factures sont reçues en état Brouillon.
En principe les produits des lignes et les comptes analytiques ne sont pas encodés, et les comptes comptables sont encodés à la valeur par défaut. Si les produits encodés dans la facture reçus ont le même nom que des produits dans la base de donnée, les produits sont automatiquement encodés.
Journal dédié pour les factures fournisseur
Dans Facturation>Configuration, il est possible de spécifier un journal dédié pour les factures Peppol. Cette option peut-être utile dans le cas où l'on veut pouvoir isoler les factures Peppol.
Par exemple, si l'on utilise le flux d'achat et que l'on génère des factures automatiquement, on préfère travailler sur la facture générée plutôt que la facture reçue via Peppol. En effet, les produits, les comptes comptables et comptes analytiques y sont préremplis. La facture reçue via Peppol sert donc uniquement de contrôle. Les autres factures reçues via Peppol qui ne sont pas liées au flux d'achat peuvent être basculées dans le journal de facture fournisseur avant confirmation.
Proposition de process de traitement des factures en cas d'utilisation du module achat
Lorsque le module achat est utilisé, les commandes fournisseurs génèrent des factures d'achat préencodées. Cela permet d'éviter d'encoder manuellement la facture reçue.
A présent, en plus de la facture Odoo générée par la commande fournisseur, on recevra la facture du fournisseur sera également reçue directement dans Odoo. Cela créé donc un doublon. La facture reçue via Peppol demande un travail d'encodage car il faut assigner sur chaque ligne un article et un compte comptable.
Pour traiter le problème de doublon, sans pour autant se passer de la fonctionalité de génération de facture automatique. Nous proposons la solution suivante.
- Créer un journal comptable dédié pour recevoir les factures Odoo, et le spécifier dans la configuration Peppol (cf plus haut)
- Lorsque vous recevez une facture Peppol déjà générée via le flux d'achat
- télécharger les justificatifs (fichiers xml et pdf) et les joindre à la facture générée via le flux d'achat
- contrôler le montant de la facture générée via le flux d'achat sur base de la facture reçue via Peppol (comme vous le faite actuellement avec les factures reçues par mail).
- annuler la facture reçue via Peppol
- télécharger les justificatifs (fichiers xml et pdf) et les joindre à la facture générée via le flux d'achat
- Lorsque vous recevez une facture Peppol qui n'est pas lié au flux d'achat
- changer le journal pour la passer dans le journal de Facture Fournisseur habituel
- traiter la facture normalement.
Note : si deux factures Odoo ont la même référence, même si elles sont dans des journaux comptables différents, Odoo affichera un avertissement pour signaler le doublon.
Assignation des comptes comptables et des taxes aux lignes de facture
Comptes comptables
Lorsqu’une facture est importée depuis Peppol, Odoo ne fait rien de particulier pour sélectionner les comptes comptables : il utilise le même comportement que lorsqu’on crée une facture d’achat à la main.
Le code qui détermine le compte comptable d’une ligne est ici.
Voici comment il fonctionne :
- Si un compte comptable est défini manuellement au moment de la création de la ligne (pas possible par Peppol), alors celui-ci est utilisé.
- Si la ligne est de type
payment_term(Conditions de paiement) c’est une cascade de conditions utilisant des propriétés (différentes par société (en cas d’odoo multi-sociétés)) définies d’abord par contact puis globalement pour la société. - Si la ligne est de type
product(Produit) :- S’il y a un produit associé à la ligne, le compte est déterminé en fonction du produit et de la position fiscale de la ligne. Si un compte est défini sur le produit (
property_account_income_id(Compte de revenus) etproperty_account_expense_id(Compte de charges)), celui-ci est utilisé, sinon c’est celui défini sur la catégorie du produit (mêmes champs). - S’il n’y a pas de produit associé à la ligne, le compte est déterminé en fonction du contact associé à la facture, en utilisant cette fonction. Celle-ci se base sur les factures précédentes du contact et utilise le compte le plus souvent utilisé durant les 2 dernières années.
- S’il y a un produit associé à la ligne, le compte est déterminé en fonction du produit et de la position fiscale de la ligne. Si un compte est défini sur le produit (
- Si aucun compte n’a encore été associé, alors le code se base sur le compte des lignes précédentes (s’il y a au moins 2 lignes et qu’elles utilisent le même compte).
- Sinon, il utilise le compte par défaut du journal (
default_account_id(Compte par défaut)).
Produit
Pour associer un produit à une ligne en important une facture depuis Peppol, le code (voir ici) se base sur les critères suivants, dans cet ordre :
barcode(Code-barres) (correspondance exacte)default_code(Référence interne) (correspondance exacte, en tenant compte de la casse)name (Nom) (correspondance exacte)name(Nom) (doit contenir la valeur, en ignorant la casse)
Taxes
Voici comment Odoo associe les taxes aux lignes de facture au moment de l’importation d’une facture depuis Peppol.
Le code gérant cette association est ici. Il se base sur les critères suivants (tous en même temps) :
amount_type(Calcul de la taxe) : pourcentagetype_tax_use(Type de taxe) : même que le type du journalamount(Montant) : le montant (pourcentage) de la taxe défini dans la facture Peppol
Il cherche d’abord dans les taxes non-incluses dans le prix, et s’il n’en trouve pas, il cherche dans celles incluses dans le prix. Dans sa recherche, il prend la 1re qui répond aux critères et qui n’est pas archivée.
Laquelle apparait en 1er est défini par l’ordre des taxes (que l’on voit dans la vue liste des taxes), qui est déterminé par le champ sequence (Séquence) des taxes : on peut modifier cette valuer dans la vue liste au moyen d’un glisser-déposer en cliquant sur les double flèches verticales apparaissant devant le nom de la taxe.

