def METHOD_NAME(expense, user):
    """Check if user can modify given expense"""
    expense_administrator, expense_subsidiary_manager, expense_manager, expense_paymaster, expense_requester = user_expense_perm(user)
    if expense_administrator:
        return True
    if expense.state not in ("REQUESTED", "NEEDS_INFORMATION"):
        return False
    if expense.user == user:
        return True
    if expense_subsidiary_manager and users_are_in_same_company(user, expense.user):
        return True
    if expense_manager:
        user_team = Consultant.objects.get(trigramme__iexact=user.username).user_team(exclude_self=True)
        if expense.user in user_team:
            return True
    # All other case, it's a no, sorry
    return False