It usually happens because of the sever errors that occure from time to time, which are impossible to trace.
Let me explain. The purchasing process usually goes like this:
1. Once the user purchases an item, the app makes a request to server including the transaction receipt.
2. Server saves this purchase with the transaction receipt in "new" state
3. Server tries to verify this receipt on the servers of your digital store.
4. If verification succeeds, the product is granted to users
5. If verification succeeds, the purchase is marked as "Success".
6. If verification fails, the purchase is marked as "Fail"
Sometimes the error occures between one of these steps so we can't find any purchase records relative to this user.