Mastering Your Shopify POS Receipts: Custom Notes & Hiding Prices for Service Items

Hey store owners! Ever found yourself scratching your head trying to get your Shopify POS receipts to look just right, especially when you're dealing with services or repairs? You&re not alone. I recently dove into a great discussion in the Shopify community that really hit home for many of you running service-based businesses, like repair shops for vacuums or espresso machines. The original poster, Cyressvirus, brought up a common pain point: how to add detailed, readable notes to receipts and, crucially, how to prevent "free" service items from showing a confusing $0 price tag.

The Receipt Dilemma: Unformatted Notes & Unwanted Zeros

Cyressvirus laid out the problem perfectly. Their technicians needed to add specific notes about what was repaired or what the customer said, but the native Shopify "Order note" was just a big, unformatted blob of text on the receipt. Not exactly clear or professional. To work around this, they tried adding these notes as "free" products, but then those items would show up with a "0.00$" price, which understandably caused confusion for customers. It's a classic example of trying to make a system do something it wasn't quite built for, and it highlighted a real need for more control over POS receipt content.

Take a look at what Cyressvirus was seeing on their receipts:

The Community's Solution: Diving into POS Receipt Customization

The good news is that the community, particularly `tim_1`, jumped in with some fantastic Liquid code workarounds. The key takeaway here is that you can customize your Shopify POS receipts, and it's done through your admin settings, not necessarily a separate app for your standard receipt printer. As `tim_1` pointed out, you can access these settings directly via `https://admin.shopify.com/apps/point-of-sale-channel/settings/receipts`. This is where the magic happens for your Star Micronics or similar coupon printers.

Hiding Prices for Specific Service Items

Cyressvirus specifically asked if Liquid variables for POS receipts work with product type to remove prices only for that product type. The answer is a resounding yes, with a couple of clever Liquid code snippets!

Option 1: Using a Keyword in the Product Title

This is a straightforward approach. You simply include a specific keyword (like "Service:") in the title of your service products. Then, your receipt template checks for that keyword along with a zero price.

Here's how to implement it:

  1. Edit your Service Product Titles: Go to your Shopify admin, find your service products (e.g., "Diagnostic Fee", "Standard Repair Labor"), and edit their titles to include a unique identifier, like "Service: Diagnostic Fee" or "Service: Repair Labor".
  2. Access your POS Receipt Template: Navigate to `https://admin.shopify.com/apps/point-of-sale-channel/settings/receipts`.
  3. Insert the Liquid Code: Look for the section that renders line items (it might be in a file like `line-items.liquid` if your template is structured that way, or directly in the main receipt template). Replace the existing price rendering code with this snippet `tim_1` provided:

        
    {% if line_item.price == 0 and line_item.name includes "Service:" %} {% # service comment, output no price %} {% else %} {{ line_item.total_price | money | escape }} {% endif %}

    This code checks if the `line_item.price` is zero AND if the `line_item.name` contains "Service:". If both are true, it outputs nothing for the price. Otherwise, it prints the total price as usual. `tim_1` also noted that you could add more code to remove "Service:" from the printed title itself to save space, which is a nice touch for those small receipts!

Option 2: Leveraging Product Metafields (More Robust)

While the product title method works, using product metafields is generally a more robust and cleaner way to manage specific product attributes without cluttering your titles. This is a powerful feature that `Gimmesales` also alluded to when suggesting order metafields for structured information.

Here's how to implement it:

  1. Create a Product Metafield: In your Shopify admin, go to Settings > Custom data > Products. Create a new metafield definition, perhaps named `Service Product` with a namespace like `custom` and a key like `service_product`. Choose a "Boolean" (Yes/No) content type.
  2. Assign the Metafield to Service Products: Go to your service products and set this new `custom.service_product` metafield to "Yes". You can even bulk assign metafields to products that already have a special product type, which is super efficient!
  3. Access your POS Receipt Template: Again, navigate to `https://admin.shopify.com/apps/point-of-sale-channel/settings/receipts`.
  4. Insert the Liquid Code: Use this snippet `tim_1` provided, which checks for your new metafield:

        
    {% if line_item.price == 0 and line_item.product_metafields.custom.service_product %} {% # service comment, output no price %} {% else %} {{ line_item.total_price | money | escape }} {% endif %}

    This code checks if the `line_item.price` is zero AND if the `custom.service_product` metafield for that product is true. If so, no price is printed.

Structured Notes with Order Metafields

Beyond just hiding prices, Cyressvirus's initial problem was about unformatted notes. This is where the concept of order metafields, as suggested by `Gimmesales`, really shines. While the thread focused on product line item prices, you can extend the metafield idea to orders themselves.

Imagine creating order metafields for "Repair Status," "Technician Notes," or "Customer Instructions." These can be structured fields that your staff fill out. Then, with further Liquid customization in your POS receipt template, you could display these order metafields in a formatted, readable way. This would solve the "unformatted note" issue beautifully, making your receipts much clearer for customers and your own records.

A Note on Order Printer vs. POS Receipts

One question that came up was about Shopify's Order Printer app. As `tim_1` clarified, Order Printer is generally more for printing documents on "bigger paper" – think 8.5 x 11 invoices or packing slips for B2B orders, which Cyressvirus mentioned using it for. It's not typically used for the small, thermal receipts generated by your iPad POS app and a Star Micronics printer. For those everyday sales receipts, the customization happens directly within the POS receipt settings I've detailed above.

So, there you have it! While Shopify's native note fields might not offer the flexibility you need for service-based businesses, a little dive into Liquid code and the power of metafields can transform your POS receipts. Whether you choose the product title keyword or the more robust metafield approach, you now have the tools to create clear, professional receipts that avoid confusion and enhance your customer experience. It's all about making Shopify work smarter for your unique business needs!

Share:

Start with the tools

Explore migration tools

See options, compare methods, and pick the path that fits your store.

Explore migration tools