Agency Commissions Dashboard

Last updated May 8, 2026

Agency Commissions Dashboard

Owners and admins on team workspaces get an eight-tab dashboard built around the actual flow of money: deposits land, you allocate them, you pay your advisors, you track who's slow, and you pull the records when you need them. Each tab does one job — no kitchen-sink tables, no hunting for where to do the next thing.

Where to find it: the Agency view of /commissions (toggle in the left sidebar). Solo workspaces see the simpler personal view; advisors see only their own commissions.

Today dashboard — 7 tiles including To file, In transit, Outstanding, Overdue 60+d, Ready to pay, Awaiting review, Advisor flags. Do-next queue with Pay advisors, flag resolution, and submission review. Money flow waterfall showing Expected → Received → Paid → Margin.

The Eight Tabs

TabWhat it's forWhen you use it
TodayAction queue + KPI snapshotFirst thing every morning
InboxTriage incoming supplier payments — five buckets, auto-opens to the highest-priority non-empty oneWhenever money or work arrives
PayoutsPay your advisorsTwice a month or on payday
AdvisorsRoster snapshot — each advisor's payable / pipeline / YTDWhen you want to see how the team is doing
LedgerRead-only book of recordLooking up a specific commission
ImportsAuto-imported supplier statements + the three ways to bring statements in (email forward, AI paste/upload, manual record)When pulling in a backfill, an XLSX export, or a one-off statement
SuppliersPer-payer scorecardQuarterly reviews, slow-pay diagnostics, merging duplicates
SettingsDefaults, per-supplier rates, payment-behavior config, auto-chase rulesOnboarding, configuring policy

The order matches the natural flow: action → analytics → reference. Daily tabs first, occasional tabs last.


Today

Your morning briefing. Seven tiles across the top:

  • To file — commissions needing a claim filed with the supplier (click → Inbox Needs filing bucket). See Supplier Payment Behavior & Claim Filing.
  • In transit — supplier deposits sitting in Inbox waiting to be matched
  • Outstanding — gross commission value of all open commissions
  • Overdue 60+d — what's past expected pay date
  • Ready to pay — advisor share that's been reconciled and is owed
  • Awaiting review — submissions from your advisors waiting on you
  • Advisor flags — commissions where an advisor flagged something for you

Each tile is clickable and lands you on the right tab pre-filtered.

Below the tiles:

  • Do next — priority-sorted action queue. Each row = one decision. Press 15 to trigger items by keyboard.
  • Where your commission dollars are — a four-stage waterfall: Expected → Received → Paid to advisors → Your margin. Each node is clickable.
  • Flagged by your team — when advisors flag a commission for review, they show here with a Resolve button.
  • Your advisors + Suppliers I'm chasing — top advisors by YTD earnings and slowest-paying suppliers ranked by average pay-lag.

Keyboard shortcuts (top-right keyboard icon): 15 triggers Do-next items, P = Pay advisors, R = Reconcile/Inbox, / = Focus search.


Inbox

Where money you've received turns into money allocated, where you triage variance flags, where you chase late suppliers, and where you catch commissions that need you to file a claim. Five buckets sit in a tab bar at the top — the Inbox auto-opens on the highest-priority non-empty bucket so you always land on something to do.

The buckets, in the order they appear in the UI:

#BucketWhat's in itWhy it matters
1Unmatched paymentsSupplier deposits that aren't fully allocatedMoney landed in your bank but isn't yet tied to specific bookings
2Pending submissionsCommissions an advisor submitted to you for approvalAdvisors are blocked until you decide
3Variance flagsBookings where the supplier paid more or less than you expectedEach one is either an underpayment to dispute or a windfall to investigate
4Stale expectedsCommissions past their expected pay date that haven't arrivedMoney you're owed and need to chase
5Needs filingTrips that ended for a claim-required supplier where no claim has been filedUntil you file, the supplier won't pay

Bucket 1: Unmatched payments

Every supplier deposit you've recorded that isn't fully allocated to specific commissions yet. Each row shows the payer · client / trip hint · reference · date · amount · unmatched balance (with a small progress bar showing how much of the deposit is still unallocated).

What you do: click Match to open the match wizard. Allocate the deposit across one or more pending commissions; the bucket clears the row when fully allocated.

Example flow — a normal Monday morning

Disney drops a $2,180 ACH on Friday afternoon. The bank statement comes in over the weekend. Monday morning your Inbox opens to Unmatched payments. The deposit shows "Walt Disney World · WDW-2026-0412 · Apr 11 · $2,180.00 · $2,180 unmatched". Click Match → the wizard shows 4 pending Disney commissions for trips that ended in March. Three add up to exactly $2,180. Check those three, click Save reconciliation → the deposit clears the bucket and those three commissions advance to Received.

Bucket 2: Pending submissions

When an advisor finishes a trip and submits the commission to you for approval, it lands here. Each row shows advisor · supplier · gross · advisor share · advisor's notes.

You don't have to leave the Inbox to act:

  • Approve — one click. Most submissions are fine; this is the fast path.
  • Review — expands the row inline with the at-a-glance data plus a text box for your note back to the advisor. From there: Approve with note or Send back — needs attention.

Example flow — a quick approval pass

You sit down with coffee. Inbox opens to Bucket 2 because there are 6 pending submissions. Five of them are clean ($420 each, Sandals, all looked right) — you click Approve five times. The sixth is from Tyler: $880 commission on what looked like a $4K booking — that's 22%, way above the usual 10–14%. You click Review, see Tyler's note ("group rate, supplier confirmed bonus 10pt"), check the email confirmation he attached, type "verified — bonus tier" and click Approve with note.

Bucket 3: Variance flags

When you allocate a supplier deposit and the actual amount doesn't match what was expected, the commission auto-flags. Variance flags are grouped by payer with each row showing trip · expected · actual · variance ($+ or $−) · date.

Resolve in place: pick a reason from the dropdown (supplier underpaid, supplier overpaid, expected was wrong, client cancellation, write-off, other) → add an optional note → save.

Example flow — chasing $40

You expected $760 from Disney for the Torres family trip. The deposit was $720. The variance flag shows "−$40". Reason: supplier underpaid. Note: "emailed Disney commissions team to ask for the missing $40". Save. The row stays visible (so you can find it again) but is now marked Resolved and won't appear in the bucket count tomorrow. Two weeks later Disney sends a $40 supplemental — record that as a new payment, match it to the same commission, and the variance closes.

Bucket 4: Stale expecteds

Commissions whose expected pay date has come and gone with no money received. Each row shows trip · supplier · advisor · expected pay date · expected amount · days overdue.

Two ways to act:

  • Single chase — click the row's chase button to send a templated email to the supplier on record asking for status.
  • Bulk chase — check multiple rows → Chase N suppliers sends individually-formatted emails to each (one per supplier, listing all of that supplier's overdue commissions in a single email).

Auto-chase reminders are also configurable in Settings — you can let JourneyFuse send the first chase automatically (e.g. 3 days after overdue) so you only see this bucket for cases that have already been chased twice.

Example flow — closing the old book

End of quarter. Stale expecteds shows 12 commissions, oldest 67 days overdue. Eight are A&K (a known slow payer), three are Royal Caribbean, one is Belmond. Filter to A&K → Chase 8 → A&K gets one email with all 8 trips listed. RCCL and Belmond get separate single chases. The bucket count drops to zero (rows stay tracked but aren't "stale-and-unchased" anymore — they only re-surface if 14 more days pass with no payment).

Bucket 5: Needs filing 🎯

Some suppliers don't pay automatically — airlines, certain hotel groups, some tour operators only pay after you file a claim with their commission portal, send their submission email, or fill out their form. This bucket is the unique-to-JourneyFuse view that catches those.

Each row appears here only when:

  1. The trip has ended (you've earned the commission), AND
  2. The supplier is configured as claim required in Settings, AND
  3. No claim has been filed yet.

Click File claim → a dialog opens with the supplier's specific filing instructions (portal URL, email address, form link), a reference-number field, and a one-click "Mark as filed" button.

This is unique to JourneyFuse — competitors (Tern, TravelJoy, ClientBase, Sion) treat every supplier as auto-pay and don't surface this distinction. See Supplier Payment Behavior & Claim Filing for the full workflow.

Inbox Needs Filing bucket — claims grouped by supplier (Abercrombie & Kent portal, Trafalgar Tours email) each showing trip, confirmation #, trip end date, advisor, expected amount, and a File claim button per row.

Bringing payments into the Inbox

Top of the page: Import statement (AI) and Record payment buttons.

Import statement (AI) — open a modal that accepts:

  • A pasted email/PDF body, or
  • A dropped or uploaded file: PDF, XLSX, CSV, or an image (PNG/JPG screenshot). AI parses the file and extracts every line item — payer, amount, reference, guest name. Review the extracted rows, uncheck any that look wrong, click Import → each lands as Unmatched.

The file path is the right move when a supplier sends you a PDF statement (Disney, Sandals), exports an XLSX from their portal (RCCL), or you have a scanned image. The vision OCR fallback runs automatically when a PDF is image-only / scanned.

Record payment — for one-off entries: ACH deposits, checks, wires that didn't arrive by email, or backfilling an old payment. Pick payer + amount + date + method + ref → save → it appears in Unmatched payments.

The match wizard supports three flows for both routes:

  • Existing payment, allocate now — header shows the deposit, table below lists pending commissions for that payer with checkbox + actual-amount per row. Variance column shows ✓ Match or ⚐ +$X / −$X. Sticky bottom bar shows running totals (Selected, Allocated, Remaining, Variance) and the Save button.
  • New payment, save without allocating — useful when a deposit lands but you want to do the line-item work later. Pick payer + amount + date + method + ref → save → return to Inbox.
  • New payment, allocate immediately — pick payer; if any pending commissions exist for that payer, the table appears below the form, and the same Save button creates the payment + allocation in one transaction.

Quick CSV drop: drag a .csv file anywhere on the Inbox page. We parse it, show a preview table of all rows (payer/amount/date/method/ref), and let you import them all in one click — each lands as Unmatched. The format we accept:

payer_name,amount,payment_date,reference_number,payment_method,notes
Sandals,4287.16,2026-04-12,ACH-001,ACH,April monthly
Avoya,1240.00,2026-04-12,CHK-998,Check,Group booking #44

Tip: for unstructured supplier statements where the columns don't fit our CSV format, use Import statement (AI) instead — it handles arbitrary PDF/XLSX/CSV layouts via AI extraction.

Editing a previous allocation

If you allocated a commission and need to undo it (e.g., supplier corrected an amount), open the payment in Match. Already-allocated rows show muted with an Unallocate button. Click it → the allocation reverses, the commission moves back to pending, and the payment's unmatched amount goes back up. Then re-allocate with the corrected number. Won't work if the commission has already been paid out to the advisor — reverse the payout first.


Payouts

Two tabs: Ready to pay and History.

Ready to pay

Every advisor who has reconciled commissions waiting to be paid. Each advisor row is collapsible → expands to show every line included in their next payout. Pay one at a time with the per-row Pay button, OR check multiple advisors and use the master Pay N advisors bar at the top.

The pay dialog asks for method (ACH / Check / Zelle / Venmo / Other), reference number, optional notes, and a "Email statement to " toggle. Bulk pay applies the same method to everyone but sends each their own statement individually.

History

Every payout batch you've ever created. Each row: advisor · paid date · method · reference · # of lines · total · acknowledgment status (whether the advisor confirmed receipt).

Per-row actions:

  • Download statement dropdown → PDF (formatted, brand-able) or CSV (raw data)
  • Email icon → re-send the statement to the advisor

1099 export

Top-right of the page. Pick a tax year + advisor (or All) → download a CSV of every commission paid to that advisor that year. Use for 1099-NEC filing. The IRS threshold is $600 — advisors below it are still included so you can decide whether to file.


Suppliers

Per-payer scorecard. Three summary tiles: YTD revenue · Open pipeline · All-time gross.

The table ranks every commission payer by YTD revenue (sortable by YTD, Open value, Most overdue, Slowest pay-lag, Most variances, or Name). Each row shows:

  • YTD — gross commissions paid this year
  • Open — outstanding value + count
  • Bookings — total commissions logged
  • Avg pay-lag — color-coded: green <30d, amber 30–60d, red >60d (slow payer). Hover the column header for the tooltip definition.
  • Historic on-time — % of already-paid commissions where the supplier paid on or before the expected date
  • Behavior — Auto-pay or Claim-required (set in Settings)
  • Open status — current state of the open pipeline: "Caught up" (emerald), "Tracking" (gray), or "d overdue" (rose). This is about open commissions right now — it's not the same as Historic on-time, which is about past payment history.
  • Last paid date

Unlinked rows

Sometimes you'll see an amber "Unlinked" badge next to a payer name. That means commission entries were saved with that text label but no canonical commission_payer record is linked. Common causes:

  • AI extraction pulled a slightly-different name (e.g. "Hyatt Hotels Corporation" vs your canonical "Hyatt Hotels")
  • A CSV import created entries before the canonical payer existed
  • A teammate typed the name manually without picking from the dropdown

Unlinked rows still count and still display correctly — but they appear as separate scorecard rows instead of rolling up into the canonical payer. You'll lose accurate YTD totals until they're merged.

Merge into… (consolidating duplicates)

Open the 3-dot menu on an unlinked row → Merge into… → pick the canonical payer from the submenu. JourneyFuse re-points every commission entry from the orphan label to the chosen canonical payer (updating both the FK and the cached display name). The orphan row disappears on the next render and the canonical row now shows the combined totals.

Safe to run repeatedly — no data is lost, the merge only reassigns labels. If you merge in error, undo isn't one-click but the history is preserved in the audit log.

3-dot menu actions per row:

  • View commission history → jumps to Ledger filtered to that supplier (Everything view)
  • Chase open → jumps to Inbox stale bucket pre-filtered to this supplier
  • Merge into… (only on unlinked rows) → pick a canonical payer; commissions re-link
  • Manage in supplier directory/suppliers to edit contacts, default rates, etc.

Imports

The hub for getting supplier statements into JourneyFuse. Three options surface as cards at the top of the page — pick the one that fits how the supplier sent you the data:

OptionWhen to use it
Forward by emailSuppliers that email you statements (Disney, RCCL, Sandals, most). Forward to commissions+<your-slug>@mail.journeyfuse.com and we parse + extract automatically. The forwarding address is shown on the card with a Copy button.
Paste a statementPlain-text email bodies, copied PDF text, or arbitrary supplier formats. Opens the AI Import modal in paste mode.
Record a payment manuallyOne-off ACH deposits, checks, wires, backfill from before you started using JourneyFuse. Goes straight to the new-payment wizard.

Below the cards: every auto-imported statement that's been parsed appears as a row with From · Subject · Received · Supplier · Amount · Status (Pending / Confirmed / Dismissed). Pending rows have Create N payments to commit them and Dismiss to discard.

Click any pending row to expand the AI-extracted line items — checkboxes per row let you cherry-pick which ones to import. Useful when a single email contains 12 commissions but 2 are for a different agency that got CC'd by mistake.

Where the AI Import modal lives: technically in the Inbox tab (top-right "Import statement (AI)" button), but the Imports tab links to it via the Paste a statement card so it's reachable from both places.

File upload (PDF, XLSX, CSV, screenshot)

The AI Import modal accepts more than just pasted text. Open the modal (from Imports → Paste a statement, or Inbox → Import statement (AI)), and you'll see a drop zone at the top labeled "Drop a file here, or click to browse — PDF · XLSX · CSV · screenshot (PNG/JPG) — up to 15 MB".

Drop a file or click to browse. JourneyFuse routes it through the right parser:

  • PDF → text extraction; if pdf-parse returns less than 100 chars (scanned / image-only PDFs) we automatically fall back to vision OCR. The modal shows "Scanned PDF — used vision OCR" so you know it took the slower path.
  • XLSX / XLS / XLSM → SheetJS converts each sheet to CSV-formatted text; AI extracts line items.
  • CSV / TSV / TXT → read as UTF-8; passes straight to the AI extractor.
  • PNG / JPG / WebP / HEIC → vision OCR transcribes the image, then AI extracts.

Result is the same in every case: a preview table of extracted rows, you uncheck any that look wrong, click Import N payments → each lands as Unmatched in the Inbox for you to allocate.

When to use file upload vs forward-by-email:

  • Forward-by-email is the steady-state — set it up once, supplier statements ingest automatically forever.
  • File upload shines for backfill (the pile of past statements you have on disk from before JourneyFuse), supplier portal exports (XLSX you download manually), and one-off cases (a screenshot a colleague sent you on Slack).

Ledger

The book of record. Read-only. Use this when you need to look something up.

Saved views (with live counts)

Pill bar at the top: All open · Expected · Submitted · Received · Flagged · Disputed · Written off · Paid YTD · Everything. Each pill shows the count for the current workspace.

Filters

  • Search (trip, client, supplier, confirmation)
  • Advisor dropdown
  • Supplier dropdown
  • Group toggle: By trip (default — collapses commissions under their parent trip with subtotals) or Flat list

Row drawer

Click any row → side drawer slides in showing:

  • Big stats grid (Gross, Advisor share, Submitted, Received, Expected, Paid)
  • Status + variance flags + dispute / write-off reasons
  • Notes field
  • History — full audit log of every event on this commission (who did what, when), with reason/response context for flag events

Pagination

50 trips (or 50 flat rows) per page. Counter at the bottom: "Showing 1–50 of 234 trips."

CSV export

Header button: exports the current filtered view as CSV.


Settings

Defaults that apply to every new commission.

Default advisor split

The agency keeps the inverse — e.g. an 80% split means advisors take 80%, agency keeps 20%. Per-trip overrides on the trip page beat this.

Lock split for advisors toggle — when on, advisors can't see or change their split on individual trips. Owners and admins can always override.

Default supplier commission rate (optional)

Auto-fills new bookings when no per-supplier rate is set.

Per-supplier rate overrides

Lists every supplier with a custom commission rate. Click a name → jumps to the supplier directory to edit. Rate set here overrides the default for any booking with that supplier.

Auto-chase reminders

Toggle to enable background reminders for overdue commissions, with editable cadences:

  • Before expected pay — comma-separated days (e.g., 7, 1 sends 7d and 1d before)
  • After (overdue) — same format (e.g., 3, 14, 30)

Manual chases from the Inbox always work regardless of this setting.

Quick links

Cards link out to:

  • Manage advisors (/settings/team) — roles, splits, payouts
  • Manage suppliers (/suppliers) — contacts, default rates, commission payer aliases

Cross-tab Hand-offs

Each daily-action tab shows what's waiting for you on the next one:

  • After reconciling in Inbox: footer says "✓ N advisors now ready to pay · $X — Go to Payouts →"
  • On Payouts: footer says "⚠ N supplier payments waiting in Inbox · $X unallocated — Go to Inbox →"
  • Today's tiles also link to the right tab

So the workflow loops naturally: morning Today → Inbox → Payouts → done.


Persona Differences

The Agency dashboard is owner/admin only on team workspaces. Other personas see different surfaces:

PersonaWhat they see at /commissions
Solo advisor (with external host like Avoya, Travel Edge)MyView with their personal commissions, host submission flow, payout tracking from the host
Agency advisor (agent role on a team workspace)MyView showing only their assigned commissions, agency-managed payouts
Agency owner / adminToggle between MyView (their personal commissions, if any) and Agency view (the dashboard above)

Advisors and solo workspaces don't see Inbox / Payouts / Suppliers / Ledger / Settings tabs — they're admin-only and redirect home if accessed directly.


Tips for Agency Owners

  • Drop CSVs anywhere on Inbox. Not just the Record Payment button — anywhere on the page triggers the bulk import overlay.
  • Use the bulk pay on payday. Check every advisor in the Ready tab → one dialog → done. Each advisor gets their own statement email.
  • Sort Suppliers by "Most overdue" monthly to spot pay-lag trends — flag chronic slow payers in your supplier notes.
  • Link Suppliers → Ledger via the 3-dot menu for negotiating new rates: see your full history with that payer in one click.
  • Lock advisor splits in Settings if your advisors shouldn't see their split — they can still see their dollar share.
  • Save reconciliation notes in batch. Each Match save can include a batch note that lands on every commission in the audit log.
  • The Ledger is read-only. All actions live on the action tabs. If you can't edit something in Ledger, that's by design — the action lives elsewhere.

Related Articles

Ready To Launch

Bring every trip, payment, and client touchpoint into one fused brand experience.

JourneyFuse is ready to sell, service, and scale with you now. No waitlist. No stitched-together stack. Just one sharp platform your team can actually run on.

JourneyFuse branding artboard
JourneyFuse
JourneyFuse

Bold branding outside. Serious operating system inside.