No need for that.
30 bits to represent the 13 digit IAN.
3 bytes for prices up to 167772.16. If you frequently buy things more expensive than that, just have one of your servants transcribe the recipe to your favorite format.
1 byte for the number of items. If you buy more than 255 of one thing, we'll just add another line to the recipe.
That's 60 bits per line item. A QR code holds up to 23,648 bits. That makes up to 394 line items per QR code, without compression, which ought to be enough for anyone.
If you do buy more than that, the POS crashes^H prints another QR code.