The best way to achieve this (from the receiver's side) is to use a different address for every tx (so the address is not tied to a product but to a specific purchase of a product by a specific buyer).
From the sender's side use the "label" feature to keep a note for reference.
^^ This ^^
As long as you're not receiving tons of payments this should be a great option for you.