This is a gotcha with the recent move to emails being sent by the queue and not during the actual checkout process. Your problem is this line (and other lines you might have like it...): ``` variant.salePrice|commerceCurrency(craft.commerce.carts.cart.currency) ``` ...when the queue runs, there is no current `cart` for the commerce carts service to retrieve, so therefore you also can't retrieve the currency from it. If you change this to something direct, i.e. using the Craft currency filter, it will not raise this error. https://docs.craftcms.com/v3/dev/filters.html#currency ``` variant.salePrice|currency('AUD') ``` ...for example. This is fine if your store only uses one currency. If you are using multi currency, then I think you would need to retrieve the `order.paymentCurrency` in this case. https://docs.craftcms.com/commerce/v3/payment-currencies.html#order-currency-fields ...in short, the one thing you can't do is call on the current `cart`....because there isn't one for console (queue) requests.