Il s'avère que la création de l'instance de l'objet "account.invoice" déclenche aussi une nouvelle instance du workflow "account.invoice.basic".
En effet, un workflow est configuré sur l'objet "account.invoice" (avec l'état initial "draft")
![]() |
account_invoice_workflow.xml |
Ce workflow est aussi visible graphiquement
Revenons à notre facture d'avance dans l'état "brouillon"
et voyons ce qui se passe techniquement lors du click sur le bouton "Valider".
Dans le fichier "view", le choix "valider" est associé au bouton nommé "invoice_open" ...
![]() |
account_invoice_view.xml |
et dans le fichier "workflow", le bouton "invoice_open" déclenche une transition avec le passage dans l'état "open" ...
et l'exécution de l'activité suivante ...
qui déclenche l'appel des méthodes suivantes :
- action_date_assign() met à jour les conditions de réglement (objet account.payment.term)
- action_move_create() réalise les écritures dans les journaux comptables
- action_number() met à jour les lignes comptables avec la référence de la facture
- invoice_validate() met à jour l'état de la facture à "ouverte"
Nous détaillerons la partie "écriture comptable" dans le prochain article ...