diff --git a/ynab/accounts.go b/ynab/accounts.go index 38f56d7..42e9370 100644 --- a/ynab/accounts.go +++ b/ynab/accounts.go @@ -54,6 +54,10 @@ func (c *Client) SetAccountBalance(accountID string, balance int) error { return fmt.Errorf("failed to get ynab account with id '%s': %v", accountID, err) } + if balance == ynabAccount.Data.Account.Balance { + return nil // The YNAB account already has the balance we're requesting, so there is no need to do anything + } + balanceDelta := balance - ynabAccount.Data.Account.Balance balanceDelta += ynabTransactionAmount // Take into account the existing transaction if balanceDelta == 0 {