There are no accounts as far as the block chain is conerned. A transaction will show up in any wallet that contains a private key associated with one of the transaction outputs. So if you create a wallet, export the private key and then import the private key into a different wallet, a transaction sending coins to the address associated with that private key will show up in both wallets. Either wallet can spend the coins although this can lead to synchronization problems with the other wallet.
A wallet is responsible for scanning the block chain and recognizing relevant transactions. If the wallet is online, it is notified when a new block is broadcast so that it can update its wallet transactions. if the wallet is offline, it needs to scan the block chain when it comes online to pick up any blocks that it missed.
So the answer to your question is the private keys control which wallets contain a specified transaction. In your case, you would need to create a different private key for each of your customers.