expense.approval.status_changed
Fired as an expense moves through its lifecycle: created, submitted for approval, approved or declined, and finally synced to your accounting system. It covers everything except the money movement, which is expense.transaction.status_changed.
status is where the expense now sits. reason is what moved it there.
Statuses
Reasons
Fields
Example: out-of-policy flag removed
This event carries no merchant or card details. Subscribe to
expense.transaction.status_changed for those, or fetch the expense by id.