To annotate the reason of the state change, if commit is 'with_mail',
and the new state is 'accepted', 'refused' or 'paid', the reason will be
included in the mail sent to the contact.
For a received invoice whose refusal is reported to the French
administration (DGFiP flux 6 lifecycle status 210), the PPF requires a
comment (MDT-126, rule G7.25). When state is refused and no reason is
given, B2Brouter fills the comment with the standard label of the refusal
reason code and records a cdar_reason_generated event on the invoice.
Accounts configured to require the refusal reason receive 422 instead.