Remember, Bitcoin transactions are publicly viewable. If Customer A sends Bitcoins to Merchant A, anyone who has the public deposit address for the transactions, can view the amount of money in the deposit account by performing a simple search at https://blockchain.info/.
What if you have all of your customers using the same deposit address? Well, then anyone with a copy of this address, including Customer B or competing Merchant B, can see how much revenue you have generated. This is a problem, and to mitigate this you should never use the same address twice. Luckily, Bitcoin allows everyone to create an unlimited number of deposit addresses.
In this scenario, there are a few ways to practically implement this.
1. A merchant can create a new deposit address for each customer – like a customer number. So, a customer or merchant can look up this address, and easily look up their transaction history with this particular entity.
2. A merchant can create new deposit addresses for each transaction. Returning customers would have unique deposit addresses for each transaction and could look those up individually. This is the most secure for both the merchant and the customer.
Thankfully, merchant tools such as Coinbase and Bitpay include much of this functionality automatically. If you decide to accept a manual payment, however, you must make sure to create and distribute a new deposit address for this instance. This is also simple to do, and this functionality is included in all Bitcoin wallets.