Documentation

Import custom sales

Import e-commerce, wholesale, or custom distributor sales using the Royalties HQ CSV template.

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 InAudio (formerly 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

FieldDescriptionExample
isbn or asinProduct identifier (at least one required)9781234567890
royalty_monthMonth royalty applies2024-08
currencyISO-4217 currency codeUSD, GBP, EUR
royaltyNet amount earned (royalty on sales plus royalty on refunds), no currency symbol3.78
royalty_on_salesTotal royalty from sales before refunds, no currency symbol4.50
units_soldNumber of copies sold (required if royalty_on_sales > 0)15
sales_channelFor custom imports, use “other”other
sale_countryRequired only if your contracts have country-specific rulesUS, GB
discount_percentRequired only for list price royalty contracts20

Optional fields

FieldDescriptionExample
royalty_on_refundsAmount 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_refundedNumber of units refunded or returned. Enter as positive, or leave empty if no returns/refunds. Required if royalty_on_refunds is greater than 03
marketplaceDistributor or sale type (recommended)wholesale, Shopify
list_priceSelling price, no currency symbol (recommended)12.99
title & authorHelpful 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.