SimplyPrint for WooCommerce

Description

SimplyPrint is cloud software for running 3D printers and print farms: a print queue,
slicing, printer control and production tracking. SimplyPrint Shop adds the orders
from the places you sell. This plugin connects a WooCommerce store to it, so your
store’s products and orders reach your print farm without copying them by hand.

A SimplyPrint account with access to Shop is required. The plugin does nothing on
its own: it lets SimplyPrint read the products and orders you choose, and nothing
else unless you allow it.

  • Connect from SimplyPrint. Enter your store address there, approve the connection in
    WordPress, and you are taken back to choose what to import.
  • You decide in SimplyPrint which orders import, which products are printed and what
    data is shared. Product names, SKUs and options are shared by default; customer
    details are off until you turn each one on.
  • Map your products to printable projects. Importing an order never starts a print or
    marks it shipped by itself.
  • Optional, each switched on separately in WooCommerce > SimplyPrint: stock level reads,
    your registered customer accounts, and marking an order completed with its tracking
    number when you ship it in SimplyPrint.
  • A card on your product and order screens shows what SimplyPrint is doing with them.
  • Erasing a person with WordPress’s privacy tools asks SimplyPrint to erase them too.

Paid add-on options from Advanced Product Fields, Custom Product Addons and Extra
Product Options reach SimplyPrint as work instructions. Tested with WordPress 6.8 to
7.1, WooCommerce 10.0 to 11.1 and PHP 8.2 to 8.3, with HPOS and legacy order storage.

Refunds, stock changes and comment synchronisation are not made in your store.

Background tasks and cron

Everything this plugin sends to SimplyPrint runs on WooCommerce’s Action Scheduler,
which WordPress only runs when somebody loads a page. A store with few visitors can
therefore fall behind, and a store with DISABLE_WP_CRON set and no system cron
behind it will not send anything at all.

Schedule a real cron job on the server, once a minute:

* * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null

Or, with WP-CLI: * * * * * cd /path/to/site && wp cron event run --due-now

The plugin watches for this. If its background tasks have not run for fifteen
minutes while the store is connected, a warning appears in WooCommerce > SimplyPrint
saying so. Orders are never lost in the meantime: they stay queued and are sent when
the scheduler runs again.

External services

This plugin connects to SimplyPrint, a third-party 3D-printing management service
operated by SimplyPrint ApS at https://simplyprint.io.

Nothing is sent before an administrator connects the store. Until an administrator
approves a connection on WooCommerce > SimplyPrint, the plugin makes no request to
SimplyPrint or to any other external service, and installing or activating it
transmits nothing.

When the administrator approves, the plugin sends SimplyPrint the one-time connection
code it was given, this site’s address and OAuth authorization data, then this
installation’s identity (a random identifier generated on the site, its blog ID and the
site address) and the resulting connection configuration. SimplyPrint then calls this
site once, at the address that was typed in SimplyPrint, to check the plugin answers there.

Once connected, SimplyPrint may read the following through a signed request, each
category separately permitted in SimplyPrint and none of them granted by connecting
alone:

  • Products, variations and their options, names, SKUs, prices and primary photos.
  • Orders: order number and dates, status, currency, order total, line items with
    quantities and the products they refer to, and an administrator edit link for
    this site.
  • Text a buyer typed into a product option, for example a name to engrave. This is
    personal data. It is off unless explicitly permitted.
  • The buyer, each part a separate permission: name, email address, telephone
    number, company, shipping address, billing address and the note left at
    checkout. This is personal data. Each part is off unless explicitly permitted.
  • Registered customer accounts, after a separate customer-directory authorization
    in WooCommerce and explicit field consent in SimplyPrint: account name, account
    email address and the WooCommerce billing phone, each independently optional.

If you allow it separately, under WooCommerce > SimplyPrint > Order fulfilment,
SimplyPrint can also make one change in this store: when you ship an order in
SimplyPrint, it marks that order completed here and adds its tracking number. This is
off until an administrator or shop manager who can edit orders turns it on, stops the
moment they turn it off or lose that permission, and never changes anything else.

An order carries a buyer’s details only as far as those permissions allow. A buyer
with an account on this store is sent as a customer, identified by the account’s
numeric ID. A guest is sent as the customer of that one order, identified by the
order’s ID, with the same details under the same permissions; nothing joins two guest
orders, and no identity is taken from an email address. An order whose personal data
was erased or anonymised here carries none.

Change notifications sent to SimplyPrint contain only a resource type and a numeric
ID, never the record itself.

SimplyPrint processes this data on your store’s behalf, as your processor: you are
the controller of your buyers’ data, as SimplyPrint’s privacy policy at
https://simplyprint.io/legal/privacy says, under the Connected Stores and
Marketplaces section of its terms of service at https://simplyprint.io/legal/tos. A SimplyPrint account with the required Shop
access is necessary. No other third-party service is used.

When the store is disconnected, from either side, SimplyPrint can no longer read
anything and the plugin stops sending notifications. Orders and products already
imported stay in the SimplyPrint account until deleted there.

Privacy

The plugin registers with WordPress’s own privacy tools under Tools > Export
Personal Data and Tools > Erase Personal Data. An export reports which of that
person’s orders this store notified SimplyPrint about and when. An erasure asks
SimplyPrint to erase that person from every one of their orders on this store and
from their customer account, including orders SimplyPrint never received, so they
are not imported later. The account can still order again: its next order is sent
as usual. Deleting the WordPress user asks SimplyPrint to erase the account for good,
so no later order brings it back. It reports what SimplyPrint has confirmed, and says so when
SimplyPrint has not confirmed yet: the request stays queued and is retried until it
is. It also clears this store’s cached copy of what SimplyPrint shows for them and
reports the delivery records it keeps.

WooCommerce’s own anonymisation of an order, by an erasure request or under
WooCommerce > Settings > Accounts & Privacy > Personal data retention, asks
SimplyPrint the same way. A store that is not connected cannot ask, and the erasure
says so.

Suggested privacy-policy text is offered under Settings > Privacy for the store to
adapt. The plugin stores no name, address, email address or telephone number of its
own; what it retains locally is a queue of resource IDs and their delivery status.

Deleting the plugin does not delete anything held by SimplyPrint, and is not a
data-erasure request to SimplyPrint. Disconnecting from this store sends any erasure
still waiting first. One that still cannot be sent, or one waiting when SimplyPrint
disconnected the store, stays listed under WooCommerce > SimplyPrint until you have
erased those customers in SimplyPrint under Shop > Customers.

What deleting the plugin does in WordPress is your choice, under WooCommerce >
SimplyPrint > When this plugin is deleted. By default everything is kept: the
connection, its settings and the delivery queue, so reinstalling reconnects the store
as it was. None of it is personal data. Choose to delete instead and all of it is
removed when you delete the plugin, with one exception: if a disconnect from
SimplyPrint has not yet been confirmed, the connection details that confirmation needs
are kept until the plugin is reinstalled and the disconnect finishes.

Copyright

Copyright (C) 2026 SimplyPrint ApS. SimplyPrint for WooCommerce is free software,
distributed under the GNU General Public License version 2 or later. The full
licence text ships with the plugin as license.txt and is also at
https://www.gnu.org/licenses/gpl-2.0.html. This program is distributed WITHOUT ANY
WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Trademarks

SimplyPrint is a registered trademark of SimplyPrint ApS, registered in the EU.
See https://simplyprint.io for details.

WooCommerce and its associated designs are trademarks of Automattic Inc. This
plugin is not affiliated with or endorsed by Automattic Inc. WordPress is a
trademark of the WordPress Foundation.

Installation

  1. Install and activate WooCommerce.
  2. Install and activate SimplyPrint for WooCommerce.
  3. In SimplyPrint, open Settings > Shop > Connections, choose WooCommerce, enter your
    store’s address and choose Continue to your store.
  4. In WordPress, review the request on WooCommerce > SimplyPrint and choose Approve and
    connect. An administrator or shop manager who can manage WooCommerce has to approve.
  5. Back in SimplyPrint, choose what to import.

FAQ

Do I need a SimplyPrint account?

Yes. The plugin connects your store to a SimplyPrint account that has Shop. Without
one it has nothing to connect to. See https://simplyprint.io for plans.

Does installing the plugin send anything?

No. Nothing is sent to SimplyPrint, or anywhere else, until an administrator approves a
connection on WooCommerce > SimplyPrint.

What does SimplyPrint receive?

Only what you allow, and only after you connect. The External services section below
lists every category.

Will importing an order start a print?

No. What prints, and when, is decided in SimplyPrint. Automatic intake can queue an
order, but release to the printers follows the rules you set there.

Why does SimplyPrint need my store address?

SimplyPrint only ever contacts the address you typed there, and only after the plugin
answered at that address. If your store has more than one address (for example with
and without www), enter the one WordPress shows under Settings > General.

What happens when I disconnect?

SimplyPrint stops reading your store at once and its access to this site is withdrawn
on both sides. Orders and products already imported stay in your SimplyPrint account,
where you can delete them. Deleting the plugin does not delete anything in SimplyPrint.

My orders are slow to arrive.

WordPress runs background tasks only when someone visits the site. See Background tasks
and cron below for a one-line fix.

Reviews

There are no reviews for this plugin.

Contributors & Developers

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

Contributors

Changelog

0.1.47

  • A redesigned settings screen: one connection card, the three setup steps, and every optional permission in one place.

0.1.46

  • Connect from SimplyPrint: enter your store address there and approve here. SimplyPrint only ever calls the address you entered, after checking that this plugin answers at it.
  • Every request from SimplyPrint is now signed, including status checks.
  • Declares the WooCommerce version it is tested with.
  • A guest order’s buyer is sent as the customer of that order, under the same permissions as a registered buyer.
  • Erasing a person keeps their account able to order again; deleting the WordPress user erases the account in SimplyPrint for good.
  • Disconnecting sends waiting erasures first, and lists any that could not be sent.
  • The suggested privacy text says SimplyPrint is the store’s processor, as SimplyPrint’s privacy policy does.

0.1.45

  • Orders can carry the buyer’s name, email address, telephone number, company, shipping and billing address and checkout note, each only when you have allowed it in SimplyPrint.
  • Erasing a person under Tools > Erase Personal Data, or WooCommerce anonymising an old order, now asks SimplyPrint to erase them too, and the result says whether SimplyPrint has confirmed it.
  • Choosing “remember which customer, keep no details” in SimplyPrint no longer stops the store’s catalogue and order reads.

0.1.44

  • SimplyPrint now knows whether you have allowed it to mark orders fulfilled, so a store that leaves this off is never sent a request it will refuse.
  • An order you delete or trash in WooCommerce is shown as deleted in SimplyPrint, instead of as an error needing attention.

0.1.43

  • Orders reach SimplyPrint sooner after checkout. One purchase used to queue a dozen identical notifications; it now queues one.
  • A store that reconnects no longer claims its orders are already reaching SimplyPrint before any have.
  • SimplyPrint now learns everything this store supports as soon as it connects, instead of after the next plugin update.
  • The “When this plugin is deleted” setting describes a disconnected store correctly, and its button fits on one line.
  • Optional features show whether they are on in their heading, and their buttons are spaced properly.

0.1.42

  • SimplyPrint can now mark an order completed in WooCommerce, with its tracking number, when you ship it in SimplyPrint. Off until you allow it under WooCommerce > SimplyPrint > Order fulfilment.

0.1.41

  • You now choose what deleting the plugin does. By default it keeps the connection so a reinstall picks up where it left off; you can choose to delete everything instead, under WooCommerce > SimplyPrint.

0.1.40

  • The settings page now shows the registered SimplyPrint® logo.

0.1.39

  • A product you trash or delete is now reported to SimplyPrint as removed, instead of leaving it stuck asking for something that is no longer there. Restoring the product from the trash brings it back.

0.1.38

  • Orders now tell SimplyPrint what has happened to the money and how many of each line were refunded, so a refunded order can hold its queued prints instead of printing something nobody is paying for.

0.1.37

  • The settings page no longer says “finish setup” forever. Once orders have reached SimplyPrint it says so.

0.1.36

  • Added the SimplyPrint registered trademark notice.

0.1.35

  • A warning now appears if WordPress has stopped running this plugin’s background tasks, which is the one way a connected store can quietly stop sending orders. The readme explains how to set up a proper cron job.

0.1.34

  • Added the copyright, author and licence details that were missing from the plugin’s own headers.

0.1.33

  • SimplyPrint can now ask this store what has changed since a given time, and the plugin reports its own health every five minutes. Together these let SimplyPrint notice a store that has gone quiet and fetch anything a notification missed, so orders arrive even if this plugin’s background tasks stop running.

0.1.32

  • Orders are no longer given up on. If SimplyPrint is unreachable, orders stay queued and are sent automatically once it answers again, however long that takes. Only a revoked connection or a rejected permission stops delivery and asks you to act. Orders stopped by an earlier version are requeued on update.

0.1.31

  • Added the WooCommerce trademark attribution required by Automattic’s trademark guidelines.

0.1.30

  • SimplyPrint now appears in WordPress’s own privacy tools. Exporting a customer’s personal data reports which of their orders were sent to SimplyPrint; erasing reports what this store keeps and what only SimplyPrint can delete. Suggested privacy-policy text is offered under Settings > Privacy.

0.1.29

  • Customer records now tell SimplyPrint when they have changed, so importing the same customers twice no longer re-reads accounts nothing has touched. Requires customer directory authorization, as before.

0.1.28

  • Your variant prices now reach SimplyPrint, so the variants table shows what each variant sells for in your store’s currency. Sent only when you have allowed commercial data to transfer.

0.1.27

  • SimplyPrint now shows your attributes by the names you gave them. An attribute you called “Plate Size” appears as “Plate Size” rather than as its internal key, and it lines up automatically with the same attribute in another store you sell through.

0.1.26

  • A variation set to “Any” for an attribute no longer makes that attribute offer a blank choice in SimplyPrint. The variation still covers every value, as you set it to.

0.1.25

  • New WP-CLI commands for anyone administering a store from a terminal: wp simplyprint status, wp simplyprint product <id> and wp simplyprint order <id>. They only read; connecting and importing stay in the browser where you agreed to them.
  • Two requests needing a new access token at the same moment no longer make one of them fail.

0.1.24

  • If you use PPOM for WooCommerce, the settings screen now says so by name: its paid options are not read yet, and the field names still reach you through custom field mapping.

0.1.23

  • Paid add-ons from Extra Product Options now reach SimplyPrint too, making three supported add-on plugins.
  • A password field is never sent to SimplyPrint, whatever your sharing settings say. Phone numbers and email addresses a customer typed are treated as personal data, so they can be erased on request.

0.1.22

  • Paid add-ons from Custom Product Addons now reach SimplyPrint too, alongside Advanced Product Fields.
  • If you use an add-on plugin SimplyPrint cannot read yet, the settings screen now tells you by name instead of quietly leaving those options out.

0.1.21

  • Paid add-ons like “Paint this for me” now reach SimplyPrint as work instructions, and anything a customer typed, like an engraving, is kept separate so it can be erased on request. Requires Advanced Product Fields; other add-on plugins are not read yet.
  • Other plugins can now work with SimplyPrint: a documented, read-only API for asking what SimplyPrint holds for a product or order, and actions that fire when the store connects, disconnects or a merchant imports an order.
  • A filter to hide the SimplyPrint card or column if you would rather build your own view.
  • Nothing in that surface can change what leaves your store, and none of it can reach your credentials.

0.1.20

  • SimplyPrint now appears on your own product and order screens: a card showing whether the item will be printed, how far along it is, and a link straight to it in SimplyPrint.
  • A SimplyPrint column on the products and orders lists, so a whole page can be read at a glance.
  • Import an order into SimplyPrint from the order screen, without leaving WooCommerce. Your import rules still apply, and if one of them stops the order the card tells you which.
  • Orders show how much has been printed, like “1 of 2 printed”, once production has started.
  • The card loads after your screen does, so it never slows WooCommerce down, and it says plainly when SimplyPrint cannot be reached rather than claiming a record was never imported.

0.1.19

  • SimplyPrint can now list the extra fields your products and orders use, so you can map them by name. With Advanced Custom Fields installed it shows your labels and types; without it, the raw keys.
  • Field values are never read – only what the fields are called.

0.1.18

  • Upgrading the plugin now unlocks the newer features in SimplyPrint straight away, instead of waiting for a reconnect.

0.1.17

  • Forward compatibility: a future SimplyPrint custom-field setting can no longer interrupt this store’s product and order reads. Install before that setting appears.

0.1.16

  • Upgrading the plugin now updates what SimplyPrint knows this store can do, without reconnecting.
  • A renamed shop or changed logo is picked up on its own, even if WordPress fires no hook for it.

0.1.15

  • SimplyPrint can now link you straight back to this screen when it needs access you have not granted.

0.1.14

  • Category and tag names with an ampersand now read correctly instead of showing “&”.
  • See at a glance whether store changes are being tracked and whether anything is outstanding.

0.1.13

  • The connection screen now says setup continues in SimplyPrint, and opens it in a new tab.
  • See how many store updates have been delivered, are waiting, or need attention.
  • Customer directory and inventory access are marked optional, because they are.

0.1.12

  • Renaming your shop or changing its icon now reaches SimplyPrint without reconnecting.
  • Your site address is never updated this way; moving a store still asks whether it moved or was copied.

0.1.11

  • Pick selection rules from the store’s own product tags and categories instead of typing them.
  • Opt-in product categories on catalog listings and order lines; a category never looked up stays unknown.
  • Report this site’s icon so SimplyPrint can show the store by its own logo. Reconnect to register both.

0.1.10

  • Optional registered-customer directory authorization with complete permitted profiles and replayable batch pages.
  • Literal name/email search, per-site identities and permission/erasure checks during reads.

0.1.9

  • Product browsing includes complete variants, SKUs/options and permitted photos/tags using bulk WooCommerce queries.
  • Incomplete or oversized pages fail explicitly; connection and permission changes still discard reads.

0.1.8

  • Recover erased remote connection records by stable store identity during fresh OAuth.
  • Preserve ordinary reconnect identities and clear resolved connection errors.
  • Keep disconnected stores and unconfirmed data permissions idle without false connection errors.

0.1.7

  • Refresh the WordPress connection page with clear setup guidance, grouped tools, and visible progress during connection actions.

0.1.6

  • Recognize shared contact and fulfillment-target consent flags so they do not block catalog/order reads. Contact/address/note projections and fulfillment reads/writes remain unsupported.

0.1.5

  • Explicit inventory-read authorization and consent-bound reads of one exact core stock counter.
  • Isolated HPOS/legacy tests for shared stock owners, refunds, cancellations and incomplete reads.
  • Local quantity-only order/refund evidence; stock writes and automatic production remain unavailable.

0.1.4

  • Original order placement dates and validated Open in WooCommerce links.
  • Ordered revisions also cover changes between HPOS and legacy order storage.
  • HPOS, legacy, subdirectory, timezone and concurrent-edit regression coverage.

0.1.3

  • Disconnect from either application, with durable local cancellation and bounded recovery.
  • Opt-in product-tag selection and durable tag-change notifications.
  • Validated HTTPS offloaded product photos and expanded failure/concurrency tests.
  • Reconnect after upgrading to refresh the registered selection capabilities.

0.1.2

  • Opt-in primary product photos and persisted ordered source revisions.
  • Expanded compatibility, concurrency, image and stock-observation tests.

0.1.1

  • Durable remote disconnect and broader local runtime/compatibility validation.

0.1.0

  • Initial private pilot for OAuth linking, permitted Woo reads and asynchronous
    resource-reference notifications.