Based on the data structure of Ethereum blocks and transactions which is also represented here, we know the following sentences about the transactions receipts:
1- The transactions receipts are stored in the LevelDB.
2- The transactions receipts tire is created in RAM when there is a need for it.
3- The root hash of the trie is stored in the block header.
But if the receipts are neither stored inside the block body nor in the transactions data structure, then what is the link inside the block to the receipts in the LevelDB? And how do we know which receipt is related to which transaction?