Sales – Uploading Sales

Sales – Uploading Sales

To upload a sales file, go to the Sales page & hit the +Create button at the top right of the screen. You will have the option to choose between our Bulk Import tool, which allows you to drag and drop multiple sales files at once. Or the Single File tool, which allows you to set up an import for one individual sales file.


Sales file setup

Name – Name the file for your reference. It is best to include variables to distinguish it from other sales files, such as the source or sales month. It is also good practice to name your sales files in a consistent format, to make it easier to track back an uploaded sales file if necessary.
Invoice No – Enter the invoice number related to the sales file, again for your future reference.
Target Period – This is the royalty period you are intending to include this sales file in. An example of a target period is 2019H1, referring to the first half of 2019. Or you could use 2019Q1 or 2019M1 instead if you work with quarterly or monthly royalty statements respectively. When selecting which sales files to include in a run you can search on these tags making it easier to prepare a royalty run.
Source – When you created your sales template, you will have stored it under a Source. To find the template you need, fill in this source here. Once filled in the following search field will be limited to the templates associated with this Source.
Template – Select the template to use. If the template you need is not present, you’ll need to create it in your Templates library. Check the Sales Templates article for further direction.
File – Attach the sales file to upload from your computer.


After you hit Import you will be taken to the pre-ingestion page. Here you can watch a preview of the imported sales data, and complete any missing data.

Likely the first thing on your to-do list is to complete your Currency Exchange Rate. When the sales file’s currency is equal to your home currency, an exchange rate of 1 will automatically be applied. When the sales file’s currency is different from your home currency, you can complete the exchange rate in the designated area.

Furthermore, in the Setup area, you can fine-tune the fields you completed in the Sales File Setup page. The Required Fields area is a guide that tells you which required fields are still missing. If you have set up your template correctly, only fields that are changeable with every sales file you upload will still be missing.

Any fields that are still missing can be completed in the Set Fields area. The main fields that might require your attention still at this point are the Sale Date (This is the date the revenue was generated) and the Transaction Date (the payment date of the statement). If the Dates are not provided in the statement it is good practise to enter a default Sales Date for all sales lines in this file. For missing Sale Dates, it is standard to use the last day of the month the file relates to.

Sales Dates & Transaction Dates are not mandatory fields but these dates are useful for future analytics of your revenues.
These Set Fields will overwrite data in the sales statement. If you enter “World” in the Territory field this will overwrite any territories detailed in the statement. Therefore only use these set fields when this data is absent from file & the same value for every line.

At the foot of the pre-ingestion page, some example lines are displayed. These are the first sales lines of the file so you can validate that all fields in the template & the sales file align properly. Once you are happy with the detail of this page, hit the Ingest button at the top right of the screen. The system now maps every sale line to an item in your catalogue. How long this process takes depends on the size of the file, but it shouldn’t take more than a few minutes even for sales files amounting to 10 million lines. Once the ingestion is complete, indicated by a green checkmark on the file listed on the Sales index page, you can click into the statement to see if it requires any more work.


Our bulk import tool allows you to simply drop sales files into a designated area, after which Curve will automatically retrieve the fitting Template, from either your own Template collection or the Template Library, and ingest your sales file. You may drop as many sales files as you wish in one go.

To access the new tool, go to the Sales page, hit the Create button on the top right and select the Bulk Upload feature. A pop up will appear for you to drop in multiple sales files. Curve will now search for the matching Templates by referencing the header rows and ingest your sales files. If Curve recognises a matching Template on your client or in Curve’s public Template Library, it will automatically ingest your sales files. If no matching Template was found, Curve will ask you to manually select the appropriate Template or allow you to create a new Template from scratch. Curve will remember which sales files have been imported using which Template and store these uploaded sales files as an Identifier to the Template. These Identifiers are visible on the Identifier tab of your Template.


Now the file is ingested, this is the data that your royalty calculations will be applied to. So it is important to review how the values extracted have been interpreted by Curve & your settings. To do this, click into the file from the Sales index:


At this point you will either be presented with some headline metrics of the file or, if there are values in the original file that do not match with Curve’s, the Mapping Manager will appear. We’ll look at this first:


The purpose of this tool is to create associations between sales data values & those in Curve you need to report & analyse. Please refer to the Sales – Mapping article for a more detailed explanation of the need for this. Via a tabulated view the tool presents all the unique values in sales file that have not successfully matched to values in Curve. The tabs collate the values dependant on the type of data.

The values listed on the right are taken from the sales file. Your task is to link them to values in Curve from the drop-down menus on the left. You can type into these boxes & the system will predict which items you are looking for. Once you have worked through the values in each tab, hit the Revalidate button on the final tab. When revalidating a file, Curve will remap all the lines that were previously invalid.

If you are asked to map Tracks or Releases but it is not displaying artist or title information, this is because your template is not picking up the Track Title, Release Title, Track Artist or Release Artist. Make sure these four fields are always populated to assist you in mapping sales lines to the correct Track or Release in your catalogue.

Links made here are remembered by Curve so when you upload data containing the same unknown values they will automatically map it to the right value in Curve. Once all the unknown values are mapped the popup will no longer appear. Any mappings you create here can be seen and edited on the Mappings tab of your Template or the Alias tab of your Tracks, Releases or Works.

You can close the Mapping Manager at any time by clicking Cancel, though if you do so any lines containing unknown values you have not mapped to Curve will not be included in any royalty runs you include the file in.

Users of the Publishing version will not see the Mapping Manager to map sales lines to Works. Instead, there is a separate area for that: the Unmapped page. For more information see the Income – Unmapped article.


So you have ingested a sales file either with no unknown values at all so the Mapping Manager did not appear, or you completed or closed the Mapping Manager. Now you will see the Sales File Overview.

This page prominently displays some key metrics that Curve has understood from the file. The totals of units, revenue (in original currency & converted per the exchange rate you have entered), lines in the document & the number of invalid lines (those which contain one or more unknown values that have not mapped to Curve values). It’s important you review these statistics in comparison to the raw file to validate that what Curve has ingested is correct.

If you click the Edit button at the top right of the screen, you can make changes to the setup settings (such as the name of the file) & Set Fields (such as Transaction Date & Exchange Rate). For any changes made to Set Fields to feed through, it is necessary to re-ingest the file by clicking the button at the top right of the page.

If the invalid lines count is zero, your mapping job is done. If some of the data still needs attention (ie there’s a number in the red box), scroll down & lines from the file are presented that you can manually edit. These lines can be filtered by all the variables represented by the search boxes. The key one being the Status search. Selecting “Incomplete” will return those lines that have not successfully matched to the system. The missing required information will be highlighted in red, as shown in the example below.

Always try to complete as many lines as possible via the Mapping Manager popup, via the Unmapped page (for publishers), or by updating your Template & Calculations. This will provide a long term solution and make sure you never have to manually map that type of Incomplete line again.

To complete a line, hit the blue crayon emblem at the right, which will display a popup where you can enter the necessary data. It is possible to update sales lines in bulk by check-marking multiple lines on the left then clicking the purple Edit Selected button or by using the search bars to filter the lines, then clicking the green Edit Filtered button. Once all your Invalid Lines are completed, hit the Revalidate button at the top right of your screen for these changes to your Invalid lines to feed through to the database.

If you manually edit any data here, you must hit the Revalidate button for your changes to feed through. If you use the Reingest button the file will re-ingest using the template & Set Fields but any changes made here will not be carried through. For this reason ideally you will not use this method, but instead use a blend of a properly configured template, with necessary calculations & appropriate mappings to ingest the data as needed.
If when uploading a file you realise there is a flaw in the template, you can edit the template & re-ingest your sales file. There is no need to create a new statement upload from scratch. However, Standard Fields are saved to the data as part of the ingestion. So changes to the Standard Fields on a template will not feed through to a re-ingested file, instead these changes can be made individually on the Set Fields of the sales file.