Table of Contents
Royalty Fee Calculator: Looker Studio Build
Jebra franchise royalty reporting. Data setup, calculated fields, blend and Weekly Payments table.
1. Overview
The Royalty Fee Calculator works out the royalty, brand fund and tax that each franchise location owes its franchisor, week by week. It is built as a Looker Studio report on two datasets:
• Royalty Fee Input: a Google Sheet filled in manually, one row per location. It holds each location's fee structure.
• daily_revenue: an automatically integrated dataset (MtekReport sales data) that populates sales for every franchise location.
The build has three stages:
• Create custom fields in daily_revenue that turn raw sales into Gross Revenue and Net Revenue.
• Blend daily_revenue with Royalty Fee Input on location.
• Build the final Weekly Payments table, which calculates royalty, brand fund, tax and total payment.
Because each location has its own row in the fee sheet, every franchise can have a different fee structure without any change to the report itself.
2. Dataset 1: Royalty Fee Input
This is the configuration table. It is filled in by hand, one row per location.
Field |
Purpose |
|---|---|
Location |
Unique location name. Used as the join key |
Fee Cap |
Maximum annual cap on fees for the location |
Monthly Fee |
Fixed monthly fee |
Royalty |
Royalty percentage (e.g., 2%) |
Brand Fund |
Brand fund percentage (e.g., 1%) |
GST/HST |
Tax rate applied to the royalty (e.g., 5%) |
Active Status |
Whether the location is currently active and billed |
Important:
• Royalty, Brand Fund and GST/HST are stored as percentage values (2% is stored as 0.02 and shown as 2%), so they can be multiplied directly by revenue.
• Location names must match the names in daily_revenue exactly. A mismatch (extra space, different spelling) means the location will not join and its fees will be blank.
3. Dataset 2: daily_revenue
This dataset is integrated directly and refreshes automatically for all locations. Three default fields feed the calculation:
Field |
Meaning |
|---|---|
Total_Line_Total |
Full amount of each sale, including all taxes |
Total_Account_Balance |
Amount paid from account balance |
Total_Line_Taxes |
Tax charged on each sale |
Product_Name and Product_Type are used to classify each sale line into eligible and excluded revenue.
4. Custom Fields in daily_revenue
These fields are created first, in the daily_revenue data source. They start from the raw line total and strip out everything that should not count toward royalties.
4.1 Date Billed
DATETIME_ADD(DATETIME_TRUNC(Date, WEEK), INTERVAL 10 DAY)Takes the start of the week and adds 10 days, so the billing date falls a few days after the week ends. In the current report, the week of Sep 28 to Oct 04, 2026 is billed on Oct 7, 2026.
The 10-day offset was requested by ModoYoga. Other franchises may need a different offset, so treat this field as configurable per franchise.
4.2 Total Karma Revenue
CASE
WHEN CONTAINS_TEXT(LOWER(Product_Name), "karma") THEN Total_Line_Total
ELSE 0
ENDKarma products are charity sales and are excluded from royalty revenue. This field isolates their value. It appears in the report as Less Karma & Charity.
4.3 Total Gift Card
CASE
WHEN CONTAINS_TEXT(LOWER(Product_Name), "gift card")
OR CONTAINS_TEXT(Product_Type, "Gift")
THEN Total_Line_Total
ELSE 0
ENDGift card sales are not earned revenue until the card is redeemed, so they are excluded. Matching on both product name and product type catches items that are labelled inconsistently. It appears in the report as Less Gift Cards.
4.4 Third Party Revenue
CASE
WHEN CONTAINS_TEXT(Product_Name, "3P")
OR CONTAINS_TEXT(LOWER(Product_Name), "3 p")
THEN Total_Line_Total
ELSE 0
ENDThird-party sales belong to outside partners rather than the franchise, so they are excluded. These products are identified by the "3P" or "3 p" naming convention.
4.5 Gift & Karma Taxes
CASE
WHEN CONTAINS_TEXT(LOWER(Product_Name), "gift card")
OR CONTAINS_TEXT(LOWER(Product_Name), "karma")
OR CONTAINS_TEXT(Product_Name, "GC")
OR CONTAINS_TEXT(Product_Name, "3P")
OR CONTAINS_TEXT(LOWER(Product_Name), "3 p")
OR CONTAINS_TEXT(Product_Type, "Gift")
THEN Total_Line_Taxes
ELSE 0
ENDCaptures the tax charged on the excluded products (gift cards, karma, third party). That tax leaves the calculation together with those products, so it must not be subtracted a second time.
4.6 Less Taxes
Total_Line_Taxes - Gift & Karma TaxesThe tax that remains on eligible sales. This is the only tax still to be removed from revenue.
4.7 Gross Revenue
Total_Line_Total - (Total_Gift_Cards + Total Karma Revenue + Third Party Revenue)Total sales minus the excluded product categories. It still includes sales tax on the remaining products.
4.8 Net Revenue
Gross Revenue - Less TaxesThe base on which royalty and brand fund are calculated. It contains only eligible sales, with sales tax removed.
Calculation flow
Step |
Result |
|---|---|
Total Line Total |
All sales, including taxes |
minus Gift Cards, Karma, Third Party |
Gross Revenue |
minus Less Taxes (tax on eligible sales) |
Net Revenue |
5. The Blend
With the revenue fields ready, the two datasets are blended in Looker Studio.
Setting |
Value |
|---|---|
Join type |
Left join |
Left table |
Royalty Fee Input |
Right table |
daily_revenue |
Join key |
Location |
A left join keeps every location from the fee sheet, even one with no sales in the period. The blend brings the fee percentages from the sheet into the same table as the revenue figures, so the fee calculations can be done in one place.
6. The Weekly Payments Table
The final table has one row per studio per week. It is made of two groups of columns: fields taken directly from daily_revenue, and fields calculated from the Google Sheet percentages.
6.1 Columns taken directly from daily_revenue
No further calculation is applied to these. They are used as they are.
Column |
Description |
|---|---|
Date (ISO Year Week) |
The billing week, e.g. "Sep 28 - Oct 04 2026 (Week 40)" |
Studio |
The franchise location |
Date Billed |
The date the invoice is due to be billed (see 4.1) |
Gross Revenue |
Total sales minus excluded categories (see 4.7) |
Less Gift Cards |
Gift card sales for the week. Informational only |
Less Karma & Charity |
Karma and charity sales for the week. Informational only |
Less Taxes |
Tax on eligible sales (see 4.6) |
Net Revenue |
Gross Revenue minus Less Taxes (see 4.8) |
Note on the "Less" columns: Gross Revenue already has gift cards, karma and third-party sales removed. Less Gift Cards and Less Karma & Charity are shown for transparency and are not deducted again. The check is Gross Revenue - Less Taxes = Net Revenue (for example, $2,032.62 - $96.80 = $1,935.82).
A footnote under the table title clarifies that "Less Charity" excludes any product name containing "Karma".
6.2 Calculated fields (using Google Sheet percentages)
Royalty, Brand Fund and GST/HST come from the Royalty Fee Input sheet and are stored as percentages.
Column |
Formula |
|---|---|
Royalty |
Net Revenue * Royalty |
GST/HST |
(Net Revenue * Royalty) * GST/HST |
Brand Fund |
Net Revenue * Brand Fund |
Total Payment |
((Net Revenue * Royalty) * GST/HST) + (Net Revenue * Royalty) + (Net Revenue * Brand Fund) |
In plain terms:
• Royalty is the royalty percentage applied to Net Revenue.
• GST/HST is charged on the royalty only. The brand fund is not taxed.
• Brand Fund is the brand fund percentage applied to Net Revenue.
• Total Payment is Royalty + GST/HST + Brand Fund.
6.3 Worked example
Winnipeg - Waverley, week of Sep 28 to Oct 04, 2026, with Royalty 2%, Brand Fund 1% and GST 5%:
Step |
Calculation |
Result |
|---|---|---|
Net Revenue |
From daily_revenue |
$1,935.82 |
Royalty |
1,935.82 x 2% |
$38.72 |
GST/HST |
38.72 x 5% |
$1.94 |
Brand Fund |
1,935.82 x 1% |
$19.36 |
Total Payment |
38.72 + 1.94 + 19.36 |
$60.01 |
Total Payment is calculated from the unrounded values, so it can differ by a cent from the sum of the rounded figures shown in the columns
6.4 Grand total row
The table ends with a grand total row that sums each money column across all rows.

The grand total is for all studios and all weeks together. Filtering by studio or year updates it.
7. Reference: Field Summary
Field |
Source |
Formula or origin |
|---|---|---|
Date (ISO Year Week) |
daily_revenue |
Week of the sale |
Studio |
daily_revenue |
Location |
Date Billed |
daily_revenue |
Week start + 10 days |
Gross Revenue |
daily_revenue |
Total Line Total - (Gift Cards + Karma + Third Party) |
Less Gift Cards |
daily_revenue |
Gift card sales |
Less Karma & Charity |
daily_revenue |
Karma sales |
Less Taxes |
daily_revenue |
Line Taxes - Gift & Karma Taxes |
Net Revenue |
daily_revenue |
Gross Revenue - Less Taxes |
Royalty |
Blend |
Net Revenue x Royalty % |
GST/HST |
Blend |
Royalty amount x GST/HST % |
Brand Fund |
Blend |
Net Revenue x Brand Fund % |
Total Payment |
Blend |
Royalty + GST/HST + Brand Fund |