Comment enregistrer un paiement anticipé sur une commande client dans Odoo sans créer de facture d'acompte ?
Dans certaines situations spécifiques, notamment lorsque la commande et son règlement interviennent le même jour, vous pouvez enregistrer un paiement directement sur une commande client sans passer par une facture d'acompte préalable. Attention, cette pratique relève uniquement d'une tolérance administrative lorsque la commande, le paiement et la facture finale interviennent le même jour. La règle légale demeure celle prévue par l'article 289 du CGI, qui impose normalement l'émission d'une facture d'acompte pour tout paiement anticipé.
Pourquoi cette tolérance ?
La loi fiscale française (Article 289 du CGI) exige une facture d'acompte dès que l’entreprise reçoit un paiement avant la livraison ou la prestation effective. Cependant, dans les cas où la commande, le paiement anticipé, et la facturation définitive interviennent dans la même journée, une tolérance administrative permet exceptionnellement d’éviter la création d’une facture d’acompte distincte.
Comment réaliser cela simplement dans Odoo ?
Pour appliquer cette méthode dans Odoo, voici une procédure efficace via une action serveur contextuelle :
Étape 1 : Créer une action serveur
- Rendez-vous dans : Paramètres → Technique → Actions automatisées (Activez le mode développeur).
- Créez une nouvelle action serveur :
- Modèle : Commande client (sale.order)
- Nom : « Paiement anticipé »
- Action à exécuter : Exécuter du code Python
Insérez le code suivant dans le champ prévu à cet effet :
action = { 'name': 'Paiement anticipé', 'type': 'ir.actions.act_window', 'res_model': 'account.payment', 'view_mode': 'form', 'context': { 'default_partner_id': record.partner_id.id, 'default_payment_type': 'inbound', 'default_partner_type': 'customer', 'default_amount': record.amount_total, 'default_currency_id': record.currency_id.id, 'default_ref': record.name, 'default_memo': record.name, }, 'target': 'new', }
Pensez à cliquer sur Créer une action contextuelle.
Validation et utilisation
- Sauvegardez votre action serveur.
- Un bouton contextuel sera désormais disponible dans la fiche commande client en cliquant sur la roue dentée en haut à gauche.
- Cliquez sur ce bouton pour créer rapidement le paiement anticipé lié à cette commande. Pensez à Confirmer le paiement, pas simplement l'enregistrer !
Quel résultat obtient on ?
En cliquant sur le bouton contextuel, une fenêtre de paiement s’ouvre avec les champs déjà préremplis selon la commande. Il suffit alors de confirmer pour enregistrer le paiement anticipé. Aucun acompte séparé ne sera créé, mais la commande apparaîtra comme payée, permettant l’émission directe de la facture finale dans la même journée, conformément à la tolérance décrite ci-dessus.
Attention :
Cette méthode reste exceptionnelle et doit impérativement respecter la condition stricte d'un enchaînement dans la même journée (commande/paiement/facture définitive).
Pour tout autre cas, respectez la réglementation en établissant obligatoirement une facture d'acompte comme prévu par l'article 289 du CGI.
Conclusion : Cette astuce permet de simplifier la gestion comptable tout en restant dans les limites de la réglementation fiscale. Utilisez la judicieusement !
Et n'oubliez pas que toute modification du fonctionnement standard se fait d'abord dans une base de test, qu'elle est essayée et validée avant d'être refaite en production. Dans le doute, contactez nous !