Data Cleaning, Conversion to CWR Format, Registrations and Statements

Process Overview

We take the data from the client, often in multiple formats, and combine it, detect and fix defects, extend the data as needed and then convert it to CWR, RIN or some other format. CWR (Common Works Registration) is accepted by songwriter/publisher organizations (PROs, MROs, etc.) and major sub-publishers. RIN (Recording Information Notification) is the recording equivalent.

Initial Data Processing and Cleaning

The first step is to take data from the (still potential) client and estimate how much effort is required to structure and clean it. If the client agrees to the plan and price, we do it. Once we have clean data, we proceed to the next step, either custom-tailored or standard conversion.

Standard Conversion by an Expert

Our Free CWR Tools are really useful! We actually use them often.

When it comes to data conversion from EBR into CWR, the free tool is what we mostly use ourselves. But it is not failproof, and in about half the cases, we need to fix or extend client’s data. Knowing when the free tool is enough, whether data should be fixed or extended and, most importantly, whether the output actually makes sense, requires expert knowledge. We provide this as a service.

When it comes to converting other formats into CWR, the situation usually far more complex, this is why our free CSV to CWR conversion tool is marked as experimental. And it always will be.

Hire us to expertly convert your data, and validate the resulting CWR files.

Custom-Tailored Conversion

Our publicly available free CWR Tools are just that – tools. We used to call them Simple CWR Tools, but that was sending the wrong message, as people asked us to pay for advanced version. We do not do that. While we do use more advanced tools in the process, they are not the same tools with more fields, switches, and buttons. Quite the opposite.

We provide expert custom-tailored services. We are meticulously building the core of our software (aka the library). We use it to create short and powerful custom scripts, like this one:

from cwr.ebr import EBRFile, AppendedSPU
from cwr import rows

print(rows.HDR('PB', 123456789, 'THE SUBPUBLISHER'))
print(rows.GRH('NWR', 1))

subpub = AppendedSPU(
    'THE SUBPUBLISHER', 'QAAAAAAB', '052', '044'
rc = 0

with open('/the/path/to/EBR.xls', 'rb') as f:
    ebr = EBRFile(f, 2, 2, only_world=True)
    ebr.appended_spus['0826'] = ebr.appended_spus['0372'] = subpub
    for t in ebr.create_cwr_transactions('NWR'):
        for row in t:
            rc += 1

print(rows.GRT(1, 1, rc + 2))
print(rows.TRL(1, 1, rc + 4))

This is the advanced, custom-tailored version of one of our free tools. This particular one converts EBR files to CWR files, adding a sub-publisher for territories of UK and Ireland to all controlled chains. One size does not fit all.

Once we have converted the data to CWR, it is delivered to a receiving society or a sub-publisher. Some societies and sub-publishers prefer to receive a short test file first, so we do that as well, help the client to go through the test phase as fast as possible and then deliver the actual file, usually through FTP. After acknowledgement files are received, we go through them and, when needed, we fix the data and send updates/revisions.

Further Conversions

As long as the format of the data remains consistent, we can use the same scripts. Also, due to our feedback and tips, clients usually have much fewer errors in the new data. Furthermore, the initial testing is required only once. Less hassle, less work.

Self Service

Once a conversion script is tested, we can wrap the script in a web-based interface, creating a custom-tailored online application. Clients can use such applications for further data conversions with little or no support from us, which makes it extremely affordable.

Processing Statements

Processing income statements is as important as registrations, although much simpler if the initial process was correctly conceived and executed. Usually, it is another simple script, resulting in a data format convenient to the client, most typically a bunch of PDF documents.

We can do this even if registrations were not done by us, although it makes things simpler if they were done by CWR or EBR. But if you have your data in a database or even Excel file, we may be able to help you. We create a temporary database from your registrations and then we process statements.


Pricing is based on estimated hours our staff will need to make the conversion. We provide the estimate to the client, who usually find it reasonable. The cheapest we go is €200 (~$250), and the largest conversion we did, around 80k of works, with a lot of manual fixes, was €2400 (~$3000).

Use of self-service applications is charged on monthly basis, starting at €40 (~$50), plus one-time developers fee to set it up.

Actual cases

We are providing a bit longer description of several actual cases:

  • Case 1, in which we describe the process of converting a custom Excel with ~4.500 works into a CWR file with 140.000 rows, which was successfully registered at PRS/MCPS.
  • Case 2, where an export from Source Audio was converted to a CWR file and registered.
  • Case 3, describing a conversion from an EBR file into a CWR, which was then delivered successfully to a Japanese sub-publisher.