Fonctionnalités/Modules supplémentaires Invoice
- Appliquer une remise sur toutes les lignes d'une facture
- Utiliser la communication structurée Belge (facture client et fournisseur)
- Faire de la facturation négative - Utilisation des consignes
- Importer les factures fournisseurs en format PDF ou XML
- Ajouter et utiliser les standards UBL
- Contrôler les doublons de facture fournisseurs
- Fusion de factures
- Gestion des paiements - ordres de paiement et de prélèvement
Appliquer une remise sur toutes les lignes d'une facture
Pour les factures d'achat et de ventes
Ce module sera bientôt disponible en v16, mais ne l'était pas encore à l'heure d'écrire cette page (juillet 2023)
Le module OCA account_global_discount
permet de configurer des remises à l'avance (par contact ou non) et les appliquer automatiquement sur les factures (de vente ou d'achat).
Pour configurer ce module :
- Aller dans Configuration > Paramètres > Remises globales
- Ajouter un nouveau pourcentage de remise.
- Choisir le champ d'application de la remise (ventes ou achats).
- Il est également possible de la limiter à une certaine organisation si nécessaire (si on utilise le mode multisociété).
On peut également attribuer des remises globales à des contacts :
- Accéder à un partenaire qui est une organisation.
- Aller dans l'onglet Ventes et Achats.
- Dans la section vente, vous pouvez définir des remises sur les ventes.
- Dans la section achat, vous pouvez définir des remises d'achat.
Utiliser le module :
- Aller dans Facturation > Clients > Factures clients
- Créer une nouvelle facture de vente, choisir un client avec une remise globale définie. La valeur du champ 'Remises globales de la facture' est complétée automatiquement avec les remises globales définies dans le client (voir ci-dessus). Alternativement, on peut choisir d'autres remises globales définies dans la configuration.
- Ajouter plusieurs lignes de facture.
- Au bas de la facture, le montant total tient compte de la remise globale choisie.
- Dans l'onglet "Pièces comptables" (si vous avez les permissions), le pourcentage de remise est appliqué aux lignes de taxe. Il y a une écriture comptable qui reflète la remise globale appliquée.
- Dans l'onglet "Autres informations", le tableau "Remises globales" montre les remises globales appliquées à chacune des lignes de facture.
Truc pour encoder des remises globales sans le module account_global_discount
Pour les factures qui ont trop de lignes et où un encodage ligne par ligne serait pénible, on peut suivre le truc suivant :
- Si ce n'est pas le cas, activer les remises sur les lignes de vente pour l'utilisateur ou l'utilisatrice (voir documentation).
- Créer un article "remises globales" de type "service", sans taxe.
- Sur la facture, ajouter une ligne. Sélectionner cet article fictif "remises globales", et encoder une quantité "-1".
- Comme prix unitaire sur la ligne "remises globale", encoder le montant total de la facture.
- Ajouter une remise sur cette ligne égale à 100-x (par exemple 90% si on veut faire une remise de 10%). Valider.
Comptablement parlant, cela n'est pas équivalent à une remise sur chaque ligne. Avec ce truc, on crée une nouvelle écriture comptable (correspondant à la remise) sur le compte "achat de marchandise" (ou un autre compte, si on a changé le compte comptable de l' article "remise globale"). Il faut donc valider cela avec son ou sa comptable.
Pour les factures fournisseuses uniquement
Ce module est uniquement disponible en v12
Le module invoice_global_discount
permet l'encodage de remise sur une facture fournisseur et sur l’entièreté des articles sans être forcé à devoir les encoder manuellement et l'un à la suite de l'autre.
- Entrez le pourcentage de la remise
- Cliquez sur "Apply discount".
Ce module possède une dépendance sur les modules ; account, sale
Utiliser la communication structurée Belge (facture client et fournisseur)
Pour une facture client
Le module l10n_be_invoice_bba permet d'ajouter une communication structurée aux factures des clients.
Par défaut, une communication ne peut être utilisée qu'une seule fois. Il existe un module OCA qui permet d'utiliser la même communication structurée pour des factures différentes, par exemple pour une facturation récurente : account_invoice_supplier_ref_reuse
L'utilisation de la communication structurée BBA simplifie le rapprochement entre les factures et les paiements. Vous pouvez sélectionner la communication structurée comme communication de paiement dans les paramètres de facturation.
- Allez dans Facturation < Configuration < "Configuration" < Paiements client
Trois algorithmes sont proposés :
1. Aléatoire: +++ RRR / RRRR / RRRDD +++
R..R = chiffres aléatoires, DD = chiffres de contrôle
2. Date: +++ DAY / YEAR / SSSDD +++
DAY = jour de l'année, SSS = numéro de séquence, DD = chiffres de contrôle
3. Référence client +++ RRR / RRRR / SSSDDD +++
R..R = référence client sans caractères non-numériques, SSS = numéro de séquence, DDD = chiffres de contrôle
Ce module possède une dépendance sur les modules ; account, l10n_be
Pour une facture fournisseur
Si le fournisseur demande de payer avec une communication structurée, le module account_invoice_check_bba_com peut être installé.
Par défaut, le champ "Référence fournisseur" sera contrôlé en terme de :
- format (+++.../..../.....+++)
- chiffres
En cas d'erreur, un message sera affiché à la validation de la facture :
Si le champ "Référence fournisseur" ne contient pas une communication structurée, il faut cocher la case "By pass the bba comm validation" pour ne pas faire ces contrôles.
Faire de la facturation négative - Utilisation des consignes
Le module (todo : changer lien après la fusion de la PR). permet d'encoder une facture client avec un montant négatif.
En effet, quand un supermarché achète et vend des consignes, il arrive qu’une facture d’achat auprès d’un fournisseur soit négative car le montant relatif aux achats est inférieur au montant des consignes rendues au fournisseur.
- Configurez l'autorisation de valider une facture à montant négatif :
- Soit pour tout le monde, en activant l’option dans Facturation < Configuration < "Configuration "< Factures
- Soit pour tout le monde, en activant l’option dans Facturation < Configuration < "Configuration "< Factures
-
- Soit sur la fiche utilisateur directement en allant dans le menu Configurations < Utilisateurs et sociétés < "Utilisateurs"
- Soit sur la fiche utilisateur directement en allant dans le menu Configurations < Utilisateurs et sociétés < "Utilisateurs"
Ce module possède une dépendance sur le module beesdoo_base
Importer les factures fournisseurs en format PDF ou XML
Le module account_invoice_import ne fait rien d'utile par lui-même ; il nécessite d'autres modules pour fonctionner : chaque module ajoute un format de facture spécifique pouvant être alors importé dans votre Odoo.
Processus
- L'utilisateur télécharge la facture PDF ou XML,
- Si c'est un fichier XML, Odoo l'analysera pour créer la facture (nécessite des modules supplémentaires pour des formats XML spécifiques, comme le module account_invoice_import_ubl pour le format UBL),
- S'il s'agit d'un fichier PDF avec un fichier XML incorporé au format ZUGFeRD/CII, Odoo extraira le fichier XML incorporé et l'analysera pour créer la facture (nécessite le module account_invoice_import_zugferd).
Sinon, Odoo utilisera la bibliothèque Python invoice2data pour essayer d'interpréter le texte du PDF (nécessite le module account_invoice_import_invoice2data), - S'il existe déjà un projet de facture pour ce fournisseur, Odoo proposera d'en sélectionner un pour le mettre à jour ou de créer un nouveau projet de facture.
Sinon, Odoo créera directement un nouveau projet de facture fournisseur et y attachera le PDF.
Ce module fonctionne également avec les remboursements des fournisseurs.
Configuration
- Allez sur la fiche de votre fournisseur et configurez-la avec les paramètres suivants :
- Sélectionnez "Société"
- Sélectionnez "Est un Fournisseur" dans l'onglet Ventes & Achats
- le TIN (c'est-à-dire le numéro de TVA) est défini (le numéro de TVA est utilisé par défaut lors de la recherche du fournisseur dans la base de données des partenaires Odoo).
- Dans l'onglet Facturation, créez une ou plusieurs Configurations d'importation de factures.
Vous pouvez configurer une passerelle mail pour importer des factures depuis un email :
Ce module possède des dépendances sur les modules ; account (standard), base_iban (standard), base_business_document_import et onchange_helper
Ajouter et utiliser les standards UBL
Le module base_ubl, comme son nom l'indique, est le module de base pour l'implémentation de la norme Universal Business Language (UBL). Le standard UBL est devenu le standard ISO/IEC 19845 en janvier 2016 (cf l'annonce officielle).
Ce module contient des méthodes pour générer et analyser les fichiers UBL. Ce module ne fait rien d'utile en lui-même, mais il est utilisé par plusieurs autres modules :
-
- purchase_order_ubl qui génère des bons de commande UBL,
- sale_order_import_ubl qui importe les commandes de vente UBL.
- account_invoice_import_ubl qui importe les factures UBL,
Le module base_ubl installe et dépend de 3 modules qui seront explicités ci-dessous :
1. account_tax_unece
Ce module ajoute deux champs Code Type UNECE (CEE-ONU) et Code Catégorie UNECE (CEE-ONU) sur les taxes pour permettre l'utilisation des normes écrites par la Commission économique des Nations Unies pour l'Europe (qui compte 56 états membres en Europe, Amérique et Asie centrale, cf Wikipedia) :
-
- Le code de type de taxe UNECE est défini dans le DataElement 5153,
- Le code de la catégorie de taxe UNECE est défini dans le DataElement 5305.
Cette codification fait partie de l'UNCL (United Nations Code List). Cette codification est utilisée par exemple dans les deux principales normes internationales pour la facturation électronique :
Pour y accéder,
2. uom_unece
Ce module ajoute un champ UNCE Code (CEE-ONU) sur les unités de mesure pour permettre l'utilisation de la norme rédigée par la Commission économique des Nations Unies pour l'Europe (qui compte 56 Etats membres en Europe, Amérique et Asie centrale, cf. Wikipedia). La codification des unités de mesure est définie dans la recommandation numéro 20 de l'UNECE/CEFACT sur la facilitation des échanges (lien direct avec la révision 12).
Cette codification est utilisée par exemple dans les deux principales normes internationales pour la facturation électronique :
-
- Cross Industry Invoice (CII),
- Universal Business Language (UBL).
3. base_vat_sanitized
Ce module ajoute un champ technique sanitized_vat sur les partenaires qui stocke le numéro de TVA sans espaces et avec des lettres en majuscules. Il est utile pour d'autres modules qui ont besoin de faire correspondre les partenaires sur le numéro de TVA, comme le module base_business_document_import par exemple.
4. Exporter massivement les UBL
Le module account_invoice_ubl_mass_download doit être installé. Ce module permet de générer dans un seul zip :
- les UBL
- les PDF
des factures sélectionnées.
Un fichier xml/pdf par facture est généré.
Sélectionnez les factures souhaitées, puis cliquez sur Action < Factures UBL XML et PDF (zip).
Contrôler les doublons de facture fournisseurs
Prérequis
Le module
doit être installé.Fonctionnement
Lors de la sauvegarde d'une facture fournisseur, le système va contrôler si elle n'a pas déjà été encodée. Ce contrôle existe dans Odoo standard mais n'est fait qu'à la validation de la facture. C'est souvent trop tard car l'équipe comptable aura déjà tout encodé, parfois des centaines de lignes !
Le contrôle est effectué sur le champs "Référence fournisseur".
Fusion de factures
Le module account_invoice_merge permet de fusionner des factures en statut brouillon uniquement.
Les factures doivent remplir plusieurs conditions :
- Le type doit être le même (facture du client, facture du fournisseur, remboursement du client ou remboursement du fournisseur).
- Le partenaire doit être le même
- Le vendeur doit être le même (mais cela peut se changer facilement sur la facture)
- La devise doit être la même
- Le compte comptable Recevable doit être le même.
- Le statut doit être "brouillon"
Prenons par exemple ces deux factures, qui correspondent bien aux critères donnés.
On va ensuite dans la vue liste, on sélectionne les deux factures et on lance la fusion via le menu Action
On peut choisir une date comptable spécifique, et de garder les références d'origine.
Les deux factures originales seront alors annulées, et une nouvelle facture fusionnée sera créée :
Gestion des paiements - ordres de paiement et de prélèvement
Le module ajoute des fonctionnalités "ordres de paiement" et "ordres de prélèvement", qui facilitent entre autres la gestion des paiements dûs.
Configuration
Dans Invoicing/Accounting > Configuration > Management > Payment Modes, ajouter un mode de paiement, par exemple "Factures" et le lier au journal de banque adéquat :
Paramétrer le mode de paiement pour générer ou non des écritures comptables :
- Si on n'en génère pas, la facture restera ouverte dans Odoo même quand l'ordre de paiement aura été effectué. Choisir cette option si l'on désire lettrer la facture a posteriori sur base des extraits de banque (pour être sûr que la facture a effectivement été payée).
- Si on en génère, dès l'ordre de paiement effectué, la facture sera lettrée avec l'écriture comptable.
Utilisation
Après avoir émis une facture d'achat, se rendre dans Paiements > Ordres de Paiement et créer un nouvel ordre de paiement. Choisir le mode de paiement "Factures".
Cliquer sur le bouton "Créer les lignes de paiements à partir de la pièce comptable" pour ouvrir l'assistant. Une fois sélectionnés les critères souhaités, cliquer sur "Ajouter des écritures comptables" et passer en revue les lignes qui s'affichent.
Ensuite, cliquer sur "Confirmer le paiement" et "Générer un fichier de paiement". Télécharger le fichier xml et vérifier qu'il ne contient pas d'erreur avant de l'importer dans une application bancaire. Cliquer sur "Fichier téléchargé avec succès".
Si le mode de paiement ne génère pas d'écritures comptables
Une fois les paiements effectués, cliquer sur "mark as done" pour clore l'ordre de paiement. Les factures associées resteront ouvertes, jusqu'à leur lettrage a poseriori avec le relevé bancaire.
Si le mode de paiement génère et poste les écritures comptables
L'ordre de paiement passe automatiquement à l'état "fait" et les lignes de paiement sont lettrées avec les factures ouvertes.