Dashboard
Recent royalty statements
| Person | Type | Period | Status | Payable | Rev | Review | Created |
|---|
People
Persistent people profiles (authors and performers) and search aliases
| Name | Type | Aliases | Active |
|---|
New Statement
Every statement always searches every configured channel of its type
Arbitrary dates are allowed; the period is split at month boundaries and each month uses its own Revenue Share. A missing Revenue Share month blocks the statement.
Statement
| Video | State | Works |
|---|
| File | Rev | Created |
|---|
| Time | User | Action | Detail |
|---|
Exchange Rates
Monthly EUR/TRY and USD/TRY fixings; FUGA earnings are EUR and statements convert them to USD with the month's cross rate
Columns: Month, From, To, Value. Only EUR/TRY and USD/TRY rows are read; a re-import updates the months it contains and leaves the rest alone. Statements snapshot the rates they used, so corrections affect only future statements.
| Month | EUR/TRY | USD/TRY | EUR/USD (derived) | Updated by | Updated |
|---|
Data Sources
CMS health, channels, and the Fuga data sources; secrets are never displayed
| Label | Channel ID | Content Owner | Used for | Active |
|---|
Channel IDs and Content Owner IDs are administrative configuration. Statements never offer a channel selector: every statement searches every active channel whose "Used for" matches its type (Both serves autor and performer statements alike). After adding a channel, run Sync now so its videos enter the catalogue.
The catalogue is synced on demand, not on a schedule. A statement always reads the local catalogue, so sync after adding a channel, and before a statement whose period ends after the last sync: the New Statement screen says when that is the case, and an older sync is perfectly fine for a period it already covers. The search index is what lets a statement look up a person's videos instead of reading every video in the catalogue; a sync builds it by itself, and the button is only there to force or re-check it.
Upload the Fuga asset export whenever it changes. Only assets whose label mentions RTS are stored; the ISRC code is the join key to the monthly Fuga earnings report and the YouTube UGC reports. The import can take a minute.
| Report month | Status | Uploaded |
|---|
Two ways in: Import from Drive opens your own Google Drive (connect once; browse and pick the CSV, the server then pulls it in the background and nothing depends on your tab), or upload the CSV from your computer (that tab stays open only while the file transfers). Rows whose Product Label mentions RTS are aggregated per ISRC, exactly. Which labels enter the payout and at what percent is configured later with the calculation rules.
Authorized Users
Simple full-access allowlist; every user must be a videomite.com account
| Name | Role | Added by | Added |
|---|
Audit Log
Who did what, across the whole application
| Time | User | Action | Detail |
|---|
Help
How a statement is built, and what to do when a number looks wrong
A statement is one person's royalties over one date range, for ONE role. The same person can have both an author statement and a performer statement over the same period, holding different money, because a statement reads only its own role: an author statement reads writing credits, a performer statement reads who sings. A name appearing in the other role is not an error, and does not need reporting.
Everything a statement uses is snapshotted when it runs: the Revenue Share per month, the exchange rates, and the performer rate. Changing a setting afterwards never moves an old statement. To pull new settings in, recalculate and the revision goes up.
- New Statement: pick the role, then the person, then the dates. For a performer, pick the FUGA report months as well: the statement reads exactly the months you choose, and a month you did not import is simply not in it.
- Processing runs by itself and can take a few minutes. The phases are discover (read the video descriptions), metrics (views and revenue from YouTube), dmp (the FUGA money), sources (Art Track and UGC videos through Content ID) and calc. It survives being closed; nothing depends on this browser tab.
- Work through Needs review and FUGA findings. The totals are partial until they are empty, and the page says so.
- Export Excel, then Mark as delivered and later Close as paid. A PAID statement is read-only until it is reopened, which asks for a reason.
Each YouTube line goes through the same four steps, left to right:
| Column | What it is |
|---|---|
| Gross | What the WHOLE video earned in the period. Not this person's share. |
| Net | The part that is theirs: gross x (billing songs / no. of songs). For a performer, one song counts as 1 / listed performers, so a duet is a half. |
| RTS | Net minus the distributor's Revenue Share for that month. Revenue Share is applied per month, so the ratio between Net and RTS is a blend when the period spans months with different percentages. |
| Payable | What the person gets: RTS x their rate. For a performer that is the profile rate (STANDARD 20 percent, EXCLUSIVE 30). For an author it is the Authors' Pool share for their roles. |
FUGA lines run through the same chain. They start from the row's royalty in EUR divided by the number of listed performers, converted to USD with that month's cross rate, and from there the path is identical.
Needs review is about a video description. Open an item and you see the description with the matches highlighted, and what the parser made of it. Answer with the total number of songs and, for each of the person's songs, how many performers are listed beside it. Or press Not this performer if the video is not theirs, or Defer to leave it out of this statement without deciding.
FUGA findings is about the distributor's report. Two kinds of question appear here:
- a sale row names the person in a spelling the catalogue roster cannot be split against, so the number of performers is unknown: press Count and enter how many the row lists;
- a song is out of p-line scope: press Include to take it into this statement, or Leave out.
Re-parse videos re-reads every description with the current rules. You need it after a parser fix is deployed, because a draft that was already processed keeps its old reading and nothing on the screen would tell you. It clears only what the parser itself decided. Anything you resolved, excluded or deferred stays exactly as you left it, and the confirmation tells you both counts before it starts.
| Message | What it means |
|---|---|
| dmp_unresolved | FUGA rows nobody could attribute safely. Resolve them under FUGA findings. |
| pline_outside_scope | Songs kept out of the whole statement by their p-line. Scope is read from the p_line_text column alone; label_name is a different column and never decides, so a song can read "PGP RTS" as its label and still be out. Include or Leave out under FUGA findings; the real fix is to fill the p-line in FUGA. |
| dmp_other_artist_rows | Money on this person's own recordings that a DIFFERENT artist string carried away, usually a compilation credited to its own artist. Compare with the FUGA portal filtered to that ISRC. If one of them is really theirs, the fix is a missing alias or a missing roster name. |
| name_search_outside_repertoire | Nothing to do. Content ID assets that name the person but have no ISRC to look up, or whose ISRC is already asked about above. It is here to read when a total looks wrong. |
| missing_fuga_months | A month in the period has no imported report. Import it under Data Sources, then run the processing again (Retry processing if the run stopped, Re-parse videos if it finished). |
| catalogue_stale | The FUGA asset catalogue is older than the reports. Re-import it on Data Sources. |
| content_id_scope_missing | A Content Owner is authorized without the Content ID permission, so Art Track and UGC cannot be found for it. Re-authorize it under Data Sources, then run the processing again (Retry processing if the run stopped, Re-parse videos if it finished). |
| content_id_asset_missing | Nothing to do for the statement. Recordings in the repertoire with no asset in Content ID under any Content Owner: YouTube has nothing of theirs to count, their FUGA money is counted as usual. If one should exist on YouTube, check the delivery or the ISRC in FUGA or the CMS, then Re-parse. |
| art_track_missing | Nothing to do. Recordings in the repertoire that have no Art Track video on YouTube. They have no Art Track row; their UGC videos and FUGA money are counted as usual. Printed so a missing Art Track is never mistaken for a missing row. |
| sources_unresolved | Art Track / UGC findings the rules could not settle, listed under the summary. The recordings they name are not counted until the cause is fixed and the processing runs again. multi_song_count_failed: the songs on a compilation could not be counted, so nothing from that video was counted. |
- Read the warnings above the statement first. Money that is deliberately not paid is named there, with amounts.
- Check the months. A performer statement reads only the FUGA report months chosen for it, so a sale in a month you did not import is not missing, it is out of scope.
- Compare one ISRC against the FUGA portal filtered to that ISRC. If the totals differ, dmp_other_artist_rows usually names where the rest went.
- If a video is read wrongly, open it under Needs review and look at "What the parser recognized". If the description is fine and the reading is not, that is a parser bug worth reporting.
- After any parser fix ships, press Re-parse videos. Until you do, you are looking at the old reading.