RoyaltiesHQ
  • Home
  • Free Trial
  • Demo
  • FAQs
  • About
  • User guide
  • Contact
Select Page

Getting started

  • Start here!

Titles

  • Title and title formats – overview
  • Importing titles and title formats
  • Google Books Metadata Fetch
  • Book Cover Images

Rights holders

  • Rights holders – Overview
  • Adding new rights holders
  • Withheld royalties
  • Statement of Account
  • Publisher Rights Holder
  • Documents

Sales

  • Importing sales data
  • Returns and loss-making sales
  • Undo a sales import
  • Import custom sales
  • Processing Wholesale Orders

Publisher income

  • Publisher income – overview
  • Importing publisher income
  • Add or edit a single publisher income payment
  • Preparing Amazon payments (publisher income)
  • Automatically Create Income Payments for Sales in Publisher Currency
  • Processing Wholesale Orders

Royalty runs

  • Royalty runs – overview
  • Create a new royalty run
  • Bills
  • Royalty Statements
  • Fixing an incorrect royalty run

Settings

  • Settings
  • Publisher Rights Holder
  • Google Books Metadata Fetch

Users

  • Users
  • Your user profile
  • Forgotten your password?

Importing

  • Adding new rights holders
  • Importing titles and title formats
  • Introduction to importing
  • Importing sales data
  • Importing publisher income
  • Import custom sales
  • Processing Wholesale Orders

Advances

  • Advances

Exporting

  • Exporting your data

Contracts

  • Contracts – overview
  • Creating and Managing Contracts
  • Contracts – Examples, Troubleshooting, and Advanced Features

Glossary

  • Glossary of key terms

Wholesale

  • Processing Wholesale Orders
  • Home
  • Docs
  • Importing
  • Import custom sales
View Categories

Import custom sales

You can import custom sales data – e.g. your own e-commerce sales or sales from an unsupported distributor – using the Royalties HQ sales CSV template. For importing Amazon KDP, Lightning Source, or Findaway sales imports, see this help page instead.

Tip: if you’re importing wholesale order or e-commerce sales, you might find our ‘Processing wholesale orders‘ guide useful.

Download the sales import template #

First, download the sales import template from the ‘Add New Sales’ page:

  1. In the main menu (icon top left) click Add New Sales. 
  2. Click the “Download sales import template” Link.
  3. The template is downloaded to your computer.

Prepare your sales data #

Next, use your spreadsheet software (for example, Google Sheets, or Excel) to populate the template with your sales data. Note: Excel and Google Sheets like to be ‘helpful’ and format your numbers, so please avoid this. You must format numbers as text.

Custom sales data #

The sales upload template includes some instructions on each line that starts with a #. This info is to help you format your data correctly for importing. Any line starting with a ‘#’ will be skipped in the import process, so can either be ignored or safely deleted before importing.

Required fields #

Field Description Example
isbn or asin Product identifier (at least one required) 9781234567890
royalty_month Month royalty applies 2024-08
currency ISO-4217 currency code USD, GBP, EUR
royalty Net amount earned (royalty on sales plus royalty on refunds), no currency symbol 3.78
royalty_on_sales Total royalty from sales before refunds, no currency symbol 4.50
units_sold Number of copies sold (required if royalty_on_sales > 0) 15
sales_channel For custom imports, use “other” other
sale_country Required only if your contracts have country-specific rules US, GB
discount_percent Required only for list price royalty contracts 20

Optional fields #

Field Description Example
royalty_on_refunds Amount deducted from royalties due to refunds or returns. Required if units_refunded has a positive value. Enter as negative decimal, or leave empty if no returns/refunds. -10.50
units_refunded Number of units refunded or returned. Enter as positive, or leave empty if no returns/refunds. Required if royalty_on_refunds is greater than 0 3
marketplace Distributor or sale type (recommended) wholesale, Shopify
list_price Selling price, no currency symbol (recommended) 12.99
title & author Helpful for visual verification during import —

Handling refunds #

If you need to record returns or refunds, use these fields:

  • royalty_on_refunds – Amount deducted from royalties (enter as negative, e.g., -10.50)
  • units_refunded – Number of copies refunded (enter as positive, e.g., 5)
Remember: Quantities are always positive (5 books refunded), but refund amounts must be negative (-10.50) since they reduce your royalties.

When you are ready to import your custom sales data, follow the steps below:

How to upload custom sales data #

To upload your custom sales files:

  1. Go to the main menu (icon top left) and click Add New Sales. 
  2. Drop your sales file into the dropzone (or click the dropzone and select your file)
  3. Royalties HQ will attempt to recognise the type of file. This will be shown in a drop-down. Once the correct type of file is selected, click Continue.
  4. The file will now be checked, and will show status as ‘Validating’ while Royalties HQ checks that the file can be imported.
  5. If the file shows as ‘Ready to import’, click the Import button (or, if it shows ‘Rejected’, click on the filename to see more details, then click on ‘Invalid rows’ – details of errors will be shown).
  6. After import, the contents of the file will be imported. Each row becomes a sales line, grouped into one or more sales batches. Click the View Batches button to see the imported sales batches.

Once you’ve uploaded sales data, you need to add a publisher income payment for each sales batch that has sales that are not in your publisher currency.

Updated on 5th Nov 2025
Importing sales dataProcessing Wholesale Orders
Table of Contents
  • Download the sales import template
  • Prepare your sales data
  • Custom sales data
    • Required fields
    • Optional fields
    • Handling refunds
  • How to upload custom sales data
Royalties HQ is a Consilience product. Terms and Conditions. Privacy Policy.
3221