ReceiptKit for WooCommerce

Description

Print real receipts for your online orders — not invoices, receipts. Rule-based printing of WooCommerce orders to thermal printers via ReceiptKit: silent printing on the events you choose, with no PDF step and no browser print dialog to click through. Start with polished pre-made templates (customer receipts, kitchen tickets, delivery/pickup tickets, gift receipts, packing slips, refund slips), design image- and font-rich receipts in our visual designer, or generate with AI authoring tools.

Unlike PDF/invoice plugins, ReceiptKit renders a receipt you design — line items with variations and product add-ons, totals, logo, QR codes, barcodes, huge order numbers your kitchen can read across the room — and pushes it to your printer over a fast cloud connection through a small bridge app running on your own network. Design the receipt once in the ReceiptKit editor; change it any time without touching code, and size every element independently.

Supported printers: ReceiptKit prints to Star Micronics, Epson, Rongta, Munbyn, and most ESC/POS-compatible thermal printers (via the ReceiptKit bridge). Tested end-to-end: the Star mC-Print3 (our production model) and TSP100/TSP143 series, Epson TM-T88 series, Rongta RP326, and Munbyn 80mm models; other ESC/POS printers are supported generically. Look up your model in the printer compatibility matrix — and if yours doesn’t work, there’s a form in the settings to tell us.

What you can do

  • Build print rules: when an order event happens (status change, refund, order created, or a manual button), if conditions on the order data are met, then print to the bridge, printer and template you choose.
  • Manage all your rules from one overview table — each with an enable/disable toggle and a live health indicator — and edit them in a focused pop-up.
  • See live status for every bridge and printer on your account, right on the settings screen, so you know a rule can actually reach its printer.
  • Print refund receipts automatically when an order is refunded (full or partial).
  • Route different receipts to different printers — add one rule for a counter receipt and another for a kitchen ticket on the same event.
  • Add conditions on order data: total, payment method, coupons, item SKUs/categories, country, refund amount, and more — with is / is not / greater than / less than / contains operators. Money like $12.01 is compared numerically automatically.
  • Print item variations and product add-ons (“Size: Large”, “No onions”) under each line item, plus the customer’s note — so kitchen tickets never miss a modifier.
  • Include data other plugins attach to orders — delivery/pickup dates and times, tips, gift flags — by listing the meta keys you want in settings. Only the keys you choose are sent, never an all-or-nothing dump of hidden fields.
  • Print the order’s fulfillment method (shipping vs. local pickup), status, coupon codes, fees, and a per-rate tax breakdown for VAT/GST tax-invoice receipts.
  • Open a cash drawer before/after printing, and print multiple copies.
  • Add any rule to the order screen’s Print actions menu for on-demand (re)printing.
  • Test a rule against a recent order to see exactly which conditions pass before you enable it.
  • Send a test print from any rule’s row to confirm that rule’s printer end-to-end.
  • Design branded receipts, refund slips, packing slips, and kitchen tickets in ReceiptKit.

How it works

  1. Design a receipt template in your ReceiptKit dashboard (or clone a “WooCommerce Order” or “WooCommerce Refund” template from the gallery).
  2. Install the free ReceiptKit bridge on a computer on the same network as your printer.
  3. Install this plugin, paste your ReceiptKit public key, and click Connect.
  4. Add a print rule (or start from a recipe) — choose when it runs, any conditions, and what to print. Changes save automatically.
  5. Orders print automatically.

Requirements

  • An active ReceiptKit account and public API key.
  • The ReceiptKit bridge running next to a supported thermal printer (Star Micronics, Epson, or ESC/POS-compatible).
  • WooCommerce 8.0+ (High-Performance Order Storage supported).

External services

This plugin is a connector for ReceiptKit (https://www.receiptkit.io), the cloud receipt-printing service, and requires a ReceiptKit account. It communicates with ReceiptKit in three ways:

1. Printing orders. When a print rule runs (or you click Test print), the plugin sends the mapped order data — line items, totals, order and customer details, and any extra order fields you configure — to ReceiptKit’s print API at www.receiptkit.io, authenticated with your public API key, so the receipt can be rendered and delivered to your printer.

2. Settings screen (data + live status). The settings screen loads your bridges, printers and templates from ReceiptKit’s API to populate the rule editor. It also opens a single read-only WebSocket connection (MQTT over WSS) to ReceiptKit’s live-status message broker at a3cdv9umpaq1po-ats.iot.us-east-1.amazonaws.com — an AWS IoT Core endpoint operated for ReceiptKit — authorized with your public API key, to show live bridge and printer status (online/offline, out of paper, cover open). This connection only receives status messages for your account; no order or customer data is sent over it. The MQTT client library (mqtt.min.js) is bundled with the plugin — no remote scripts, styles or images are loaded from this or any other host.

3. Printer support requests. If you submit the “Request printer support” form, the details you enter (printer make and model, order volume, your email, an optional note, and your store URL) are sent to ReceiptKit so we can follow up.

ReceiptKit: terms of service, privacy policy. The live-status endpoint runs on Amazon Web Services: AWS privacy notice, AWS service terms.

Screenshots

Installation

  1. Upload the plugin to /wp-content/plugins/receiptkit-for-woocommerce, or install it from the Plugins screen.
  2. Activate it through the Plugins menu in WordPress.
  3. Go to WooCommerce ReceiptKit.
  4. Paste your public API key (starts with rk_pub_) and click Connect.
  5. Add a print rule (or start from a recipe): pick when it runs, add any conditions, and choose the bridge, printer and template. Rules save automatically.
  6. Click Test print on the rule’s row to confirm, then enable it with the toggle.

FAQ

Do I need a specific printer?

You need a thermal printer that speaks StarPRNT, Star Raster, or ESC/POS — that covers Star Micronics, Epson, Rongta, Munbyn, and most generic ESC/POS-compatible models. Tested end-to-end: the Star mC-Print3 and TSP100/TSP143 series, the Epson TM-T88 series, the Rongta RP326, and Munbyn 80mm models. Check your exact model in the printer compatibility matrix. If your printer doesn’t work — an impact/dot-matrix model, or a brand that doesn’t follow ESC/POS — use the Request printer support form on the settings screen to tell us the make and model, and we will email you when yours is supported.

Where do I get an API key?

In your ReceiptKit dashboard under Settings API Keys. Use your public key (rk_pub_…) — it is safe to store here and can only print and read status.

How do print rules work?

Each rule is a When / If / Then automation. When an order event happens (a status change, a refund, an order being created, or a manual click), the rule checks if your conditions match the order’s data, and if so runs the then — one or more print actions (template + printer + optional cash drawer + copies). Add as many rules as you like; for example one for order receipts on Processing and another for a refund receipt when an order is refunded. Use the Test button on a rule to check it against your most recent order before enabling it.

Can I print refund receipts?

Yes. Add a rule whose event is Order is refunded and point it at a refund template (clone the “WooCommerce Refund” template from the gallery). It prints on both full and partial refunds, once per refund.

Can I print delivery times, tips, or other fields added by another plugin?

Yes. Many plugins (delivery-slot pickers, tip add-ons, gift options) store their data as order meta. In WooCommerce ReceiptKit Settings Extra order fields, list the meta keys you want on your receipts — one per line, with an optional label after a | (for example _delivery_time | Delivery time). Each order then sends those values to your templates two ways: a repeatable metaFields list (label + value) you can drop into any template, and an individual field per key (_delivery_time becomes {{deliveryTime}}) for prominent placement — like a big pickup time at the top of a kitchen ticket. Only the keys you list are sent.

Do item variations and add-ons print?

Yes. Each line item includes a meta field with its variations and product add-on selections (“Size: Large”, “No onions”), one per line. The WooCommerce gallery templates render it under the item name; on kitchen tickets it’s bold so modifiers never get missed.

Is High-Performance Order Storage (HPOS) supported?

Yes. The plugin reads orders through WooCommerce’s standard order APIs and declares HPOS compatibility.

Will it print old orders when I activate it?

No. Each rule prints an order (or refund) once, when its event happens after the rule is configured — never retroactively.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“ReceiptKit for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.6

  • Improved: the rules table now shows a clear “Off” status for switched-off rules instead of the printer-health chip, so a disabled rule can’t read as “Ready”.
  • Improved: the rule editor notes that newly added blank rules start switched off (rules created from a recipe start on).
  • Fixed: the status chip now refreshes immediately when a rule is toggled on or off.

1.0.5

  • Documentation: “External services” is now its own top-level readme section and fully documents the live-status WebSocket connection (the AWS IoT Core endpoint used by the settings screen) alongside the print API and the printer-request form, with terms and privacy links for both ReceiptKit and AWS.
  • Copy: settings-screen text updated to say “receipt printer” rather than “Star printer” — reflecting all supported brands.

1.0.4

  • Clarified in code that the AWS IoT hostname in the live-status module is a WebSocket data endpoint (documented under “External services”) — no remote scripts, styles, or images are loaded; the MQTT client library is bundled with the plugin.

1.0.3

  • Tested up to WordPress 7.1 (verified on a live 7.1 + WooCommerce 10.9 store).

1.0.2

  • Docs: printer compatibility notes now name the tested Epson TM-T88 series, Rongta RP326, and Munbyn 80mm models, and link to the full model-by-model compatibility matrix.

1.0.1

  • Improved: the rule editor now refreshes your bridges, printers and templates from ReceiptKit every time it opens, so renames made in the dashboard show up immediately.
  • Changed: new rules default to appearing in the order screen’s “Print” actions menu (uncheck the option in the rule editor to opt out).

1.0.0

  • First stable release.
  • New: line items now include their variations and product add-ons (meta), so kitchen tickets can print every modifier.
  • New: “Extra order fields” setting — list order meta keys (delivery/pickup times, tips, gift flags from other plugins) to include on receipts, selectively. Each key is sent as a labeled metaFields row and as its own template field (e.g. _delivery_time deliveryTime).
  • New: order payload now includes fulfillment method (shippingMethod), order status, coupon codes, fees, and a per-rate tax breakdown (taxLines) for VAT/GST tax-invoice templates.
  • New: gallery starter templates for a Delivery/Pickup ticket, a Gift Receipt (prices hidden), and a Tax Invoice (VAT/ABN header with per-rate tax breakdown); the Customer Receipt now prints item options and the customer’s note.

0.2.2

  • Maintenance release: build/packaging refresh. No functional changes.

0.2.1

  • New: rules that point at a template which has since been archived or deleted in ReceiptKit now show a clear “Template unavailable” warning instead of silently blanking the selection, and the saved template is preserved so you can review it before choosing a current one.

0.2.0

  • New: rule-based printing (When / If / Then). Each rule prints to one destination — a bridge, printer and template you choose.
  • New: print rules overview table with a per-rule enable/disable toggle and a live health indicator, plus a modal editor.
  • New: bridge-first rule editor — pick a bridge (auto-selected when you have only one), see its live status, then pick a printer on it and a template.
  • New: live device status — a Devices panel shows every bridge and printer on your account and whether each is online, out of paper, etc.
  • New: automatic refund receipts (full and partial refunds) via a “WooCommerce Refund” template.
  • New: one-click recipes, per-field hints, autosave (no page reloads), and a “Test against a recent order” check.
  • New: add any rule to the order screen’s Print actions menu.
  • Conditions compare money strings numerically and never error on empty/invalid values; a print failure can never interrupt an order.

0.1.0

  • Initial release: auto-print WooCommerce orders to a Star Micronics printer via ReceiptKit, with printer/template selection, cash-drawer control, and a test print.