English is a hilarious mess. The word “receite” originated from Latin but came to England through France at which point it had mutated to modern pronunciation as “recu”, so they shoved a few extra and silent letters in there and spelled it “receipt” to pretend they got it from Latin even though they kept pronouncing it more French.
I oversimplified a bit! Sorry!
Words always shift over time and borders. The words “recu” and “receive/receipt” are pretty close and used to be closer. To be more accurate it was “receite” when they adopted it from French. Compared to Latin “recepta” which has a hard P in it. So adding “P” from Latin to the spelling as “receipt” but leaving the pronunciation as Anglo-French “receite” was the most silly part.