Currently, a transaction can reference source account, destination account and envelope from different budgets.
This needs to be changed: All resources need to belong to the same budget.
This should be verified in an AfterSave(tx *gorm.DB) hook so that it applies to all operations modifying a resource.