Calculating Job fees with a Resource matrix
Resource matrices use the same basic idea as Price groups, but they have a number of advantages.
- Like Price groups, they depend on Job type and Number of units for calculating the fee
- But they also support multiple currencies and exceptions on language level
When are they used?
When the job's price calculation is set to "Use Resource Matrix", as shown below. (Like all job settings, this can be preset using a joblist template).
Creating/editing a Resource matrix
- Go to Tools & Data / Project matrices
- Select the Resource matrix tab
- Edit or create new?
- To simplify admin work, strive to create as few matrices as possible. Remember that multiple currencies and exceptions for different languages can be handled within a single matrix.
- Add a specification for each relevant job type, unit type and currency.
- I.e., only add the combinations you actually use. You can always add more specifications later on, when new target languages, currencies, units or job types come into play.
Specification types and how they complement each other
There are three types of specification:
- Fee
- This type is multiplied with the number of units
- E.g. "10 USD per Minute"
- This type is multiplied with the number of units
- Static fee
- For jobs where number of units aren't relevant, or for starting fees.
- You can combine Fee and Static fee
- E.g. "100 USD (Static) + 10 USD per minute (Fee)"
- Minimum fee
- These are used to ensure that small jobs are also paid a worthy salary.
- If the unit-based fee doesn't reach this number, the Minimum fee is used
- If it does, the Minimum fee is ignored. It's job is done, so to speak.
- E.g.
- The Minimum fee is 100 USD, the Fee per minute is 10 USD
- For a 1-minute film, or 5-minute film, the fee is 10 USD
- For an 11-minute film, the fee is 110 USD
- The Minimum fee is 100 USD, the Fee per minute is 10 USD
- These are used to ensure that small jobs are also paid a worthy salary.
Finding the right matrix and specification
- Calculating the fee for a job starts by determining which matrix to use
- If a Resource matrix has been selected for the project, it will automatically be used for all jobs on that project
- If not, Plint will look for the "System default" matrix
- There can be only one. There is a checkbox for it.
- If neither can be found, the calculation will fail
- Within the selected matrix, the system will then look for the right specification, based on the following:
- What's the job type?
- What's the number of units?
- This information comes from the part which the job is connected to
- What unit type is used?
- Minutes? Words? This is determined by the project (on the Price & Internal information tab)
- What is the language?
- Here, a hierarchy is used:
- Is there a specification for the language in question?
- This is typically used for exceptions. If all languages have the same fee, go with a "General rule" (see below)
- If not, is there a specification for the Language group?
- A middle ground between general and specific, language groups can bundle together selected languages and a fee can be specified for the whole group. E.g. "Nordic languages"
- If not, is there a "General rule"?
- This often serves as a catch-all to cover all languages with the same fee
- What currency should the fee be calculated in?
- If the project allows and there is a "Default currency" specified for the user, it will be used
- If the project is set to "Force currency" on the other hand, the currency used for the Client fee will also be used for all jobs.
- If neither is specified, the Base currency will be used
- Yes, there can be only one, and yes, there is a checkbox for it
- If there isn't even a Base currency, the Main system currency will be used as the default
- If the project allows and there is a "Default currency" specified for the user, it will be used
Adding an exception for a certain language after specifying default fees in two currencies:
Applying fees and making them static
One strength of Resource matrix fees is that they are dynamic and can offer fees in different currencies depending on user preferences. However, once a job has been accepted or self-assigned, you typically want this fee to become static. The system is also designed in this way.
- User A sees an offered job on their Dashboard
- User A has USD as default currency, and their is a specification for this currency
- User A confirms the job by selecting Reply / Yes
- The fee is now automatically stored as a Custom fee for this job and is after this point no longer affected by changes in the matrix, project or any other external factor
Currency conversion
Besides adding multiple fee specifications, there is another way to add support in multiple currencies. It requires certain settings on site level, under Tools & Data / Currencies.
- Select a "Base currency"
- This is the only currency you need to add specifications in.
- It will also serve as the default for all users who don't have a default currency.
- For the currency you want to convert fees into:
- Select "Allow automatic conversion"
- Make sure there is a currency rate specified.
The following example explains how it works:
- User A sees a job offer or a job in the Job tank.
- User A has default currency USD
- If there is no specification in USD for the job type and unit:
- the system checks for a specification in the Base currency
- if one is found, this fee is converted into USD based on the currency rates
- this fee is shown to the user
- If the user grabs or accepts this job, the converted fee and currency are stored for the job
- The job history will also show that the fee was converted
Adjusting the fee with a percentage value
When multiple currencies can be used, specifying a change in the fee can be tricky. The field "Price adjustment (%)" can solve this. It will adjust the fee by a percentage once it has been calculated into the correct currency.
Tip: Negative values can be used to lower the fee.
Forcing exceptions after jobs have been grabbed or confirmed
In the real world, the example above is sometimes problematic. What if the running time of an episode is updated in the project data after work has begun, and the fee of a hundred already assigned jobs needs to be updated? Or perhaps the fees have recently been updated in the matrix itself and these jobs ought to have been included? Luckily, there is a tool for that.
- In the joblist, filter out the jobs you want to update
- Go to Batch edit / Calculate job fees
- In many cases, you can now simply click Recalculate
- This will redo the calculation for the selected jobs, based on the new data
- By default, unassigned jobs will be excluded. Their fees haven't already been converted into static fees, so it makes sense to keep them dynamic. You can include them as well, however, by simply unchecking the checkbox.
Finding the "Calculate job fees" option
Calculate job fees again
Troubleshooting: when calculation fails
If a single required piece of information is missing for the job, user or project, the whole calculation will fail. Here are some tips for spotting the problem.
-
- The "Job fee" tab, found when editing a job, will usually give you a clue about what's missing.
- See screenshot below
- You can also look at the job info page itself.
- E.g. A certain user is offered a job. The user's default currency is USD. There are only specifications in EUR. No fee can be calculated for this user.
- Possible solutions:
- enable currency conversion for USD
- add a specification in USD
- force the project to use EUR for all jobs
- manually calculate the fee for the job, if this is a rare exception, and store it as a Custom fee
- The "Job fee" tab, found when editing a job, will usually give you a clue about what's missing.






