Royalties/Liabilities Calculation

Project Description

One of the main reasons for the existence of Publishers’ Assistant is the calculation of royalties. This is needed because royalty contracts can get pretty complicated. Choosing the right rule for the royalty calculation can be a tedious task–especially when you have several books and/or several contributors to whom you owe royalties.

In PubAssist (legacy), the sales information is integrated with the accounting and royalty contract specifics. In this new platform, sales information may come from different sources. For example, you may be using an ecommerce application, like WooCommerce. You may collect sales information via email, phone, or from a major buyer like Baker & Taylor or Amazon.

So, as a first step, it makes sense to gather only the information that is pertinent to the liabilities calculations. Royalties are an example of a liability that is associated with the sale of a title. There may be others. For example, sales tax may be associated with each sale. Perhaps you sell books on consignment. Any of these contract specifics can be loaded into the Liabilities Specification application.

This project proposes to use those liabilities spec’s along with the sales data provided to generate financial transactions that reflect those liabilities. This project will also need to provide the results in some useful format. To keep things simple, the initial results may be delivered via the Ledger Administration application. A CSV download needs to be added to the Admin applications.

How would it work?

We’re still at a point where we have only isolated modules. To get something useful in the short term, I envision providing some sort of portal for dropping in sales data. I’m purposely vague about this data, because it may vary, based on your own business practices. But essentially, this is where you will tell the application what titles you have “sold” and expect to pay royalties for. We might use PubAssist (legacy) as the source for this information! This can be exported via the Item Receipts report; but it doesn’t have to come from there.

So, let’s say you have this data in an Excel spreadsheet or a CSV file. You could copy the data and paste it into a window on a page in this application. Submitting the data will kick of the liabilities calculation process. The result will be financial transactions stored in the ledger table of the database.

Those resulting transactions can be viewed (and perhaps downloaded) via the Ledger Admin application.


The following are viewed as necessary components to provide the function proposed in this project.

  1. Web hosting with secure user access. (i.e. individual user accounts and databases) Each user will need access to their own private data. These web applications may be hosted either in-house or via a web hosting service.
  2. Transport liability specifications to the database. This may be a service provided by Publishers’ Assistant. The process of moving data is currently too involved for most of our users. It requires moving not only royalty specifications, but contact and title data.
  3. Portal to supply pertinent sales data.
  4. Liability Calculation module. (This is where the calculations are actually done and the financial transaction are generated.)
  5. Delivery mechanism(s) for the results. This could be provided by the Ledger Admin application. A CSV download function needs to be added to the administrative applications–which will require some development.

Leave a Reply