The basic concept in double-entry accounting is that every transaction is an exchange. For example, when a business sells goods to a customer, it issues an invoice. The exchange is to provide the goods and receive the right for (future) payment. When the customer later pays the invoice, the right for payment is exchanged for cash.
Each exchange is to have the same value on both sides of the exchange, making sure no transaction is incomplete. This is where the requirement comes from that double-entry transactions need to be balanced. It can occur that a customer’s payment is a bit short of the owed amount. Should the company decide not to pursue payment, the transaction would end up being unbalanced. After all the exchange is not equal-value between the providing and receiving sides. Double-entry accounting accommodates this scenario by explicitly recording the unpaid amount as an expense.
Because every transaction is balanced, so is the balance sheet. Through this approach, double-entry accounting provides strong control over correctness of the numbers: as soon as a transaction is unbalanced (i.e. contains an error), the balance sheet becomes unbalanced – a relatively simple check.