WooCommerce Integration

Print a designed receipt, packing slip, kitchen ticket, or refund slip for any WooCommerce order, refund, or cancellation. Two ways to print, same templates:

  • Print from your browser — open an order, click Print, and the receipt goes to whichever printer you pick in the print dialog. Works with any printer installed on your computer, thermal or not. Free and unlimited on every plan, nothing to install.
  • Print automatically — add the free ReceiptKit bridge next to a Star Micronics, Epson, Rongta, Munbyn, or ESC/POS-compatible thermal printer, and receipts print the moment an order matches a rule you set — no PDFs, no print dialog, no one at the computer.

What you need

  • A WordPress site running WooCommerce 8.0+ (High-Performance Order Storage is supported).
  • A ReceiptKit account and a public API key (rk_pub_…).
  • For browser printing:any printer installed on your computer with its manufacturer's driver — Star, Epson, and most others provide Windows and macOS drivers.
  • For automatic printing: a supported thermal printer — Star Micronics, Epson, Rongta, Munbyn, or most ESC/POS-compatible models; we recommend the Star mC-Print3 (see Supported printers) — plus the ReceiptKit bridge running on the same network, on either a PC (Windows or macOS beta) or a Raspberry Pi.

Supported printers

  • Recommended & tested: the Star Micronics mC-Print3 series (our production model) and the Star TSP100 / TSP143 series — both validated on real hardware.
  • Also tested on real hardware: the Epson TM-T88 series, the Rongta RP326, and Munbyn 80mm receipt printers.
  • Other ESC/POS printers (HOIN, POS-80, and most other 80mm ESC/POS-compatible models) are expected to work — set the model manually if auto-detection can't identify one.
  • Look up your exact model — connection types, status support, and per-platform notes — in the printer compatibility matrix.
  • Something else? Tell us via the "Using a different printer?" form at the bottom of the plugin's settings page (see Using a different printer), and we'll email you when yours is supported.

Full details and connection options are on the Supported Printers page.

Set it up

1

Install the plugin

In your WordPress admin, go to Plugins → Add New, search for "ReceiptKit for WooCommerce", and click Install Now, then Activate— it's live in the WordPress.org plugin directory. For a manual install, download the plugin ZIP and upload it via Plugins → Add New → Upload Plugin. (Existing ZIP installs are the same plugin and receive updates automatically.)

After activating, a ReceiptKit item appears under the WooCommerce menu.

2

Connect your account

In your ReceiptKit dashboard, open API Keys and copy a public key (it starts with rk_pub_). A public key is safe to store in WordPress — it can print and read status, nothing more.

Then open WooCommerce → ReceiptKit, click the Settings (gear) button, paste the key into ReceiptKit public key, and choose Save & connect. The page confirms the connection and loads your printers and templates.

3

Add WooCommerce templates

In your dashboard, open the Template Gallery and clone the WooCommerce starters you want. Each is pre-mapped to the exact field names the plugin sends, so they print correctly with no editing:

  • WooCommerce Order – Customer Receipt — a branded receipt with items (incl. variations/add-ons), totals, payment, and the customer's note.
  • WooCommerce Order – Packing Slip — a no-prices pick/pack slip with the ship-to address.
  • WooCommerce Order – Kitchen Ticket — a large-format prep ticket for food orders, with modifiers highlighted and the pickup/delivery method up top.
  • WooCommerce Order – Delivery/Pickup Ticket — a driver/handoff ticket with the fulfillment method and time slot huge at the top, plus customer phone and address.
  • WooCommerce Order – Gift Receipt — items with no prices, an exchange-policy footer, and an order barcode for returns lookup.
  • WooCommerce Order – Tax Invoice — seller VAT/ABN details and a per-rate tax breakdown, with an editable document title.
  • WooCommerce Refund – Refund Receipt — a clear refund slip with the refunded items and amount.
  • WooCommerce Order – Cancellation Slip — a cancelled-order slip with items and order total.

You can customize any template later in the template editor — the field mapping still applies.

4

Print from your browser

Open any order. In the ReceiptKit box on the right, pick a template and click Print (or Previewto see it first). The plugin renders your template with the order's data right in your browser and opens the normal print dialog — choose your receipt printer and print. There is also a print icon in the orders list, a Print in browser sample button next to each rule on the settings page, and a refund selector for orders with refunds.

In the print dialog, choose the receipt printer as the destination, set the paper size to your roll width (80 mm or 58 mm — usually named "receipt" or "continuous"), set margins to none, and turn off headers and footers. Cutting and the cash drawer are controlled by the printer driver's own settings. On a dedicated counter PC, Chrome's --kiosk-printing flag prints straight to the default printer with no dialog.

Each order's ReceiptKit box also shows its print history— browser and automatic prints, who printed, and whether it succeeded. Browser prints are free and unlimited on every plan. If that's all you need, you're done; the next two steps are for printing with nobody at the computer.

5

Optional: connect the bridge for automatic printing

Install the ReceiptKit bridge on the same network as your thermal printer and claim it. Run it on a Windows PC or Mac (PC Bridge Setup) or a Raspberry Pi (Raspberry Pi Bridge Setup) — whichever suits your counter. Once the printer shows up in your dashboard, it's selectable in your print rules, and receipts print silently the moment a rule matches.

6

Create your print rules

On WooCommerce → ReceiptKit, the Print rules card is where you decide what prints, where, and when. The fastest way to start is "Start from a recipe" — a one-click preset that fills in a whole rule for you. Then just pick the template and printer.

Recipes included:

RecipePrints when…
Order receiptAn order reaches Processing.
Packing slipA shippable order reaches Processing (skips virtual/pickup orders).
Refund receiptAn order is refunded (full or partial).
Cancellation slipAn order is cancelled.
High-value order copyAn order totals over a threshold you set.
Wholesale / B2B copyPaid by bank transfer, or a wholesale coupon is used.
In-store pickup ticketAn order needs no shipping (local pickup).

Every rule — whether from a recipe or built by hand — has three parts:

  • When — the trigger: an order status change (e.g. → Processing, Completed, Cancelled), an order being refunded, an order being created, or manually from the order's Actions menu.
  • If — optional conditions that narrow it down. Match ALL or ANY of tests like order total, payment method, coupon codes, item SKUs/names, country, whether it needs shipping, refund amount, and more. No conditions means it prints on every matching trigger.
  • Then print to — the template and printer, plus an optional cash-drawer kick before and/or after printing.

You can add as many rules as you like — for example, a customer receipt to the counter printer and a packing slip to the back office from the same order. Rules save automatically as you edit.

7

Test, then go live

Use Send test printto push a sample receipt to your printer and confirm the whole chain — WordPress → ReceiptKit → bridge → printer — works end to end. Then place (or transition) a real order to see your rules fire. Each print is recorded in the order's print history and as a note on the order, including the error if one occurs.

When does it print?

Browser printing is always manual: you click Print on an order. Automatic printing is driven by rules. A rule fires on its When trigger, then prints only if its If conditions match. The available triggers:

TriggerFires when…
Order status changesThe order first enters the status you pick — commonly Processing (paid, ready to fulfill), Completed, or Cancelled.
Order is refundedA refund is recorded against the order (full or partial).
Order is createdA new order is created.
ManuallyYou run it from the order's Actions menu.

What's on the receipt

The plugin maps each order to these fields, which the WooCommerce templates already use. If you build your own template, use these field names.

Order & cancellation

FieldFrom the WooCommerce order
storeNameYour site name
orderNumberOrder number
orderDateOrder date/time
items[]Line items — name, sku, qty, price, total
subtotal, discount, shipping, tax, totalOrder totals (currency-formatted)
paymentMethodPayment method title
customerName, customerEmail, customerPhoneBilling contact
shippingAddress, billingAddressFormatted addresses
customerNoteCustomer order note

Refund (on a refund trigger)

FieldFrom the WooCommerce refund
refundNumber, refundDateRefund id and timestamp
refundReasonReason entered for the refund
refundAmount, originalTotalAmount refunded and the original order total
refundedItems[]Refunded line items — name, sku, qty, total

Using a different printer

ReceiptKit prints to Star Micronics, Epson, Rongta, Munbyn, and most ESC/POS-compatible thermal printers — if yours speaks StarPRNT, Star Raster, or ESC/POS, there's a good chance it already works (check the compatibility matrix). If your printer isn't covered — an impact/dot-matrix model, or a brand that doesn't follow ESC/POS — open WooCommerce → ReceiptKit and use the "Using a different printer?" form at the bottom of the page to tell us the make and model. We add printer support based on demand and will email you when yours is supported.

Troubleshooting

Nothing prints when an order comes in

Confirm you have an enabled rule whose When trigger matches what the order did, and that its If conditions actually match. Check the order's notes — the plugin records a note on every print attempt, including the error if it failed.

"Could not connect to ReceiptKit"

The key is missing or invalid. Use a public key (rk_pub_…) from your dashboard's API Keys, and make sure it hasn't been revoked.

Test print fails with "No printer found"

The bridge must be running and the printer claimed in your dashboard. See PC Bridge Setup or Raspberry Pi Bridge Setup.

Monthly print limit reached

Automatic (bridge) prints are counted against your plan; browser prints are not. If you hit the limit, upgrade in Billing.

"Could not load the ReceiptKit renderer" on the print page

Browser printing loads a small renderer script and your template's fonts from receiptkit.io. Check the computer's internet connection and any ad blocker or content filter, and that the ReceiptKit URL under Settings → Advancedis the default. Template designs are cached on your site for an hour, so a brief outage doesn't stop printing on a computer that has printed before.

The browser prints a tiny receipt on a full sheet, or an extra blank page

The print dialog is set to a letter/A4 printer or paper size. Choose the receipt printer as the destination and set its paper size to the roll width (80 mm or 58 mm, "receipt" or "continuous"), margins to none, headers and footers off. Your browser remembers the choice for next time.

The print history shows a browser print I cancelled

Browsers report the print dialog closing the same way whether you printed or cancelled, so the plugin cannot tell the two apart. Treat browser entries in the history as "sent to the print dialog".

Related