Title: Royalties HQ for WooCommerce
Author: Consilience
Published: <strong>November 10, 2026</strong>
Last modified: November 10, 2026

---

Search plugins

![](https://ps.w.org/royalties-hq-for-woocommerce/assets/banner-772x250.png?rev=
3795194)

![](https://ps.w.org/royalties-hq-for-woocommerce/assets/icon-256x256.png?rev=3795194)

# Royalties HQ for WooCommerce

 By [Consilience](https://profiles.wordpress.org/consiliencemedia/)

[Download](https://downloads.wordpress.org/plugin/royalties-hq-for-woocommerce.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/royalties-hq-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/royalties-hq-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/royalties-hq-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/royalties-hq-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/royalties-hq-for-woocommerce/)

## Description

This plugin is for book publishers who sell from their own WooCommerce shop and 
want to make book royalties easy using [Royalties HQ](https://royaltieshq.com). 
Every sale of a book earns royalties for its authors and other rights holders. This
plugin adds up each book’s sales every month and sends them to Royalties HQ, ready
for your next royalty run. No more wrangling of manually exported spreadsheets.

Royalties HQ imports the figures alongside your other sales channels, so your shop’s
sales appear on the next royalty statements with ease.

**Requires a Royalties HQ account.** No sales are sent until you connect the plugin
to your account and switch sending on. Before that, the plugin contacts Royalties
HQ only when you click “Test connection”, which checks your API address and token
and sends no sales.

#### What it does

 * **Monthly sales, per book.** Units sold, units returned and net receipts for 
   each book, in your shop’s currency.
 * **Automatic or manual.** Leave it to send each month on a schedule you choose,
   or switch to manual and send one month at a time when you are ready.
 * **Only the products you choose.** Tick “Include in Royalties HQ” on your books.
   Tote bags, gift cards and other stock stay out. An “Unticked products” report
   shows anything that sold but was left out, so nothing is missed by accident.
 * **ISBNs from where you keep them.** The SKU, WooCommerce’s GTIN/ISBN field, or
   a custom field. Invalid ISBNs are flagged, not sent.
 * **Refunds handled properly.** A refund made before a month is sent reduces that
   month’s sales. A later refund is reported in the month it happened, so a month
   already sent is never changed.
 * **Held orders are never lost.** A paid order you put on hold counts once you 
   release it. If its month has already been sent, it is reported in the month you
   release it. It is never counted twice, even if you put it on hold again later.
 * **Pre-orders your way.** A pre-order paid in advance is reported in the month
   it was paid, like any other sale. Or choose to report pre-orders only when they
   are released. Works with pre-order plugins that give pre-orders their own order
   status, such as WooCommerce Pre-Orders.
 * **Bundles split fairly.** Sales of bundles made with WPC Product Bundles, YITH
   WooCommerce Product Bundles or Easy Product Bundles are shared between the books
   inside them. You can also define the books in a bundle you sell as a single product.
 * **Your deductions.** Optionally deduct a store commission, card fees (a flat 
   percentage or the fee your payment gateway recorded) and count shipping as revenue.
 * **Check before you send.** Build any month, check its totals, download it as 
   a Royalties HQ sales CSV, or run a dry run to test it against your account without
   importing anything.
 * **A clear status page.** Every month’s status, totals and refund cut-off in one
   place, with an email to you if a month needs attention.

#### Privacy

No customer data leaves your shop: no names, email addresses or postal addresses,
and no order details. No tax amounts are sent either. Royalties HQ receives each
included book’s monthly sales totals, the book’s identifiers, title and list price,
your shop’s currency, country and time zone, your deduction settings and your site’s
address. “External service” below lists exactly what is sent and when.

Royalties HQ is a service of Consilience Media Limited (registered in England and
Wales, company number 04214205), which publishes and maintains this plugin as the
official WooCommerce integration for its own platform. WooCommerce is a trademark
of Automattic Inc.; this plugin is an independent integration and is not affiliated
with or endorsed by Automattic.

### External service (Royalties HQ)

This plugin sends data to Royalties HQ, at the API address you enter in its settings:
your publisher’s own Royalties HQ account, such as `https://yourpress.royaltieshq.
com/api/v1`. It sends nothing anywhere else.

 * **What:** for each month, and for each product you tick, its identifiers (ISBN,
   SKU or Royalties HQ product ID), title, list price, units sold and returned and
   net receipts excluding tax, with your shop’s currency, base country and time 
   zone. It also sends counts of what was left out and the deduction settings used.
   Every request carries your API token and names the plugin, its version and your
   site’s address.
 * **When:** each month on your push schedule (automatic mode) or when you click
   Push (manual mode); when you click Validate, Send now or Test connection; retries
   of a push that Royalties HQ asked to be repeated later; a daily check of your
   connection’s details and which months Royalties HQ already holds; and a check
   of the saved connection when you open the Royalties HQ settings tab while sending
   is on. No sales are sent until you have saved an API address and token and ticked“
   Send sales to Royalties HQ”. Before that, the only request is a Test connection
   you click yourself: it sends the API token you entered, the plugin’s name and
   version and your site’s address, and no sales.
 * **Settings in wp-config.php:** `ROYALTIES_HQ_WOO_API_TOKEN` sets the API token
   instead of the settings screen. `ROYALTIES_HQ_WOO_ALLOW_HTTP` allows an API address
   that is not HTTPS; leave it unset on a live shop.

Your use of Royalties HQ is governed by its [Terms](https://royaltieshq.com/terms/)
and [Privacy Policy](https://royaltieshq.com/privacy-policy/).

## Screenshots

[⌊WooCommerce → Settings → Royalties HQ: paste the API address and token from Royalties
HQ, and test the connection in one click.⌉⌊WooCommerce → Settings → Royalties HQ:
paste the API address and token from Royalties HQ, and test the connection in one
click.⌉[

WooCommerce  Settings  Royalties HQ: paste the API address and token from Royalties
HQ, and test the connection in one click.

[⌊The status page: every month's status, totals and refund cut-off, with Build, 
Validate, Push and Download CSV.⌉⌊The status page: every month's status, totals 
and refund cut-off, with Build, Validate, Push and Download CSV.⌉[

The status page: every month’s status, totals and refund cut-off, with Build, Validate,
Push and Download CSV.

[⌊Unticked products: anything that sold but was left out, with a one-click Include.⌉⌊
Unticked products: anything that sold but was left out, with a one-click Include
.⌉[

Unticked products: anything that sold but was left out, with a one-click Include.

[⌊The Royalties HQ tab on a product: include it, give it a Royalties HQ product 
ID, or list the books in a bundle sold as one product.⌉⌊The Royalties HQ tab on 
a product: include it, give it a Royalties HQ product ID, or list the books in a
bundle sold as one product.⌉[

The Royalties HQ tab on a product: include it, give it a Royalties HQ product ID,
or list the books in a bundle sold as one product.

[⌊The Products list shows each product's Royalties HQ status, with bulk actions 
to include or exclude many at once.⌉⌊The Products list shows each product's Royalties
HQ status, with bulk actions to include or exclude many at once.⌉[

The Products list shows each product’s Royalties HQ status, with bulk actions to
include or exclude many at once.

## Installation

 1. Install and activate WooCommerce (version 9.2 or later).
 2. Install this plugin through Plugins  Add New, or upload it to `/wp-content/plugins/
    royalties-hq-for-woocommerce/`, and activate it.
 3. In Royalties HQ, go to Settings  Integrations  API and create a WooCommerce connection.
    Copy the API address and token it shows you. The token is only shown once.
 4. In WordPress, go to WooCommerce  Settings  Royalties HQ. Paste the API address 
    and token, click “Test connection”, and save.
 5. Tick “Include in Royalties HQ” on each book. For a book sold in several formats(
    a variable product), tick each format you want included, or use the “Include” bulk
    action on the Products list to include every format at once.
 6. Choose automatic or manual push mode, tick “Send sales to Royalties HQ”, and save.

To see how a month will look before sending anything, go to WooCommerce  Royalties
HQ and click “Build” next to it.

The plugin works with WooCommerce’s High-Performance Order Storage.

## FAQ

### Do I need a Royalties HQ account?

Yes. The plugin sends sales to your Royalties HQ account, which works out the royalties.
Without one you can still build months and download them as a CSV.

### When are sales sent?

In automatic mode, on the push day you choose (the 15th by default) of the month
after each cycle. Monthly is the default and is recommended, but you can choose 
every 2, 3, 4, 6 or 12 months to match your royalty periods. Waiting until mid-month
lets refunds from the first couple of weeks reduce the month they belong to.

In manual mode, nothing is sent until you click Push on the status page, one month
at a time, oldest first.

### What if I sell things that aren’t books?

Leave them unticked. Only products ticked “Include in Royalties HQ” are counted.
The “Unticked products” report lists anything that sold in a month but wasn’t included,
so you can include it and rebuild the month if it should have been.

### My ISBNs aren’t in the SKU field.

Under WooCommerce  Settings  Royalties HQ, set ISBN source to the GTIN/ISBN field
or to the custom field your shop uses. A product without a valid ISBN is sent with
its SKU, or with the Royalties HQ product ID you set on it.

### How are pre-orders and orders on hold handled?

An order counts as a sale once it is paid and is processing, completed or, by default,
a paid pre-order. An order on hold is left out until you release it. If its month
has already been sent by then, it is reported in the month you release it, and the
status page lists it as reported late. Once an order has been reported it stays 
reported, so putting it on hold and releasing it again never counts it twice. Refunds
and cancellations of it are taken off the month it was reported in, or reported 
later if they come after that month was sent.

Under WooCommerce  Settings  Royalties HQ, “Paid pre-orders” chooses when a pre-
order paid in advance is reported. “Report when paid” (the default) reports it in
the month it was paid. “Report when released” waits until it leaves pre-order for
processing or completed. A pre-order that is charged when it is released is reported
once it has been paid, whichever you choose.

### Can I fix a month after it has been sent?

Yes, until Royalties HQ imports it. Rebuild the month and push it again; Royalties
HQ replaces what it holds. Once a month has been imported into royalty statements,
it must be undone in Royalties HQ before it can be sent again.

### Can I try it without importing anything?

Yes. Use a test token from Royalties HQ. Pushes are then checked in full but nothing
is imported, and the status page shows “validated (test key)”.

### Does it slow my shop down?

It shouldn’t. Months are built in the background, a batch of orders at a time, using
the same job queue WooCommerce uses for its own background work.

### What happens when I delete the plugin?

Its settings, the saved API token and its queued jobs are removed. Its record of
each month built and sent, the Royalties HQ fields on your products and the dates
it recorded on orders (when each was cancelled, and when each first counted as a
sale) are kept, in case you reinstall, unless you tick “Delete all data on uninstall”
in its settings first.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

 *   [ Consilience ](https://profiles.wordpress.org/consiliencemedia/)

[Translate “Royalties HQ for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/royalties-hq-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/royalties-hq-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/royalties-hq-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/royalties-hq-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/royalties-hq-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * Every admin action now checks its security nonce and your permissions before 
   it reads anything else from the request.
 * The readme now says exactly what is sent to Royalties HQ, and that Test connection
   sends no sales. The Privacy Policy link is fixed.

#### 1.0.1

 * A paid order released from hold after its month was sent is now reported in the
   month it is released. Before, it was never sent.
 * An order that has been reported stays reported if it is later put on hold, so
   it is never counted twice.
 * Paid pre-orders count as sales. A new “Paid pre-orders” setting reports them 
   when paid (the default) or when released.
 * The status page shows how many sales in a month were reported late.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.2**
 *  Last updated **3 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [authors](https://wordpress.org/plugins/tags/authors/)[books](https://wordpress.org/plugins/tags/books/)
   [publishing](https://wordpress.org/plugins/tags/publishing/)[royalties](https://wordpress.org/plugins/tags/royalties/)
   [sales reports](https://wordpress.org/plugins/tags/sales-reports/)
 *  [Advanced View](https://wordpress.org/plugins/royalties-hq-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/royalties-hq-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/royalties-hq-for-woocommerce/reviews/)

## Contributors

 *   [ Consilience ](https://profiles.wordpress.org/consiliencemedia/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/royalties-hq-for-woocommerce/)