Commission reconciliation for travel agencies

Find every hotel, cruise and tour commission that paid you short.

Upload the booking export you already have. MarginShield compares the commission each booking should have earned against what the supplier actually paid, lists every shortfall to the cent by supplier, and tracks each claim to money back in the account.

No card required. The full Growth plan for 14 days, then $399 a month, or cancel and keep everything you reconciled.

SampleThe demo organization, which holds synthetic data. Illustrative figures, not customer data.
The MarginShield dashboard: margin leakage identified, recovered and outstanding per currency, the recovery pipeline, and recent imports.

The size of it

Commission is most of your revenue. A lot of it arrives short.

$45,000+

recovered by ASTA’s Hotel Watch List in eight months, from 162 member cases.

TravelPulse

A single hotel night averages $21.50 in commission. One missed group block, one cruise promotion that quietly paid at a lower rate, one tour operator that forgot the override: any of them is a month of this product. The guide explains where the money goes and how to get it back.

What you see

Three screens, and none of them needs a meeting.

01 · Discrepancies

Every booking the supplier paid short.

Expected commission against what actually arrived, per booking, per currency, to the cent. Filter by supplier or by booking date; see who owes the most and whether it is getting worse.

  • Grouped by hotel, cruise line, tour operator or DMC
  • Overpayments flagged for review, never netted against shortfalls
  • Exactly the rows you filtered, exported as CSV
How the method works
The discrepancies screen: bookings with expected, actual and leakage per currency, each with a recovery status.

02 · Recovery

Claim it, and track the money back.

Open a case on a shortfall with the figures a supplier’s accounts payable team needs, record what you claimed and when, and log partial and full recovery against it. The queue answers “what is still outstanding, and what has actually come back”.

  • Open, investigating, submitted, partially recovered, recovered
  • A recovery can never exceed its shortfall; the database refuses it
  • Every change on the record, with who made it
What a claim that gets paid contains
The recovery queue: cases by status with claimed and recovered amounts.

03 · Imports

Upload the export you already have.

From Trams, Tern, TravelJoy, TESS, TravelWorks or the spreadsheet your bookkeeper keeps. Map the header once; it is remembered. If the file carries a rate instead of an expected amount, the expectation is computed from the rate you confirm, and if it carries neither, the import is refused rather than guessed.

  • Amounts in any common format, including parentheses and thousands separators
  • Dates read unambiguously, or refused
  • Or POST the file to the API on a schedule
Export walkthroughs for each system
The imports screen: uploaded files with row counts and discrepancies found.

Who it is for

The back office, not the booking screen.

MarginShield is not a CRM and does not want to be where your advisors book. It is the audit that runs once a month, from an export, beside whatever the agency already uses.

Agencies with a finance function

A bookkeeper, controller or operations lead who reconciles supplier statements and would rather do it in an hour than a week.

Host agencies

Reconciling supplier payments against what each advisor expected, so a shortfall is found before it is split.

Bookkeeping practices

Serving several agencies. One client, one organization, one reconciliation a month. The partner arrangement.

Why the numbers hold

You are going to send these figures to a supplier.

Which is the whole reason the arithmetic is built the way it is. The security page has the rest, including what is not done yet.

Decimal, never floating point

Amounts are stored and computed as exact decimals from the file through to the export. A rounding error here is a wrong claim sent to a supplier.

Currencies are never combined

A shortfall in EUR and one in USD are never summed and never silently converted. Totals are per currency, because the alternative is a number that means nothing.

Isolation the database enforces

Every row carries its organization and Postgres row-level security decides what a query may see. Another agency’s bookings are not a bug away from yours.

Nothing is estimated

Findings are arithmetic over the file you supplied. No model guesses a rate, fills a gap or rounds a total. Everything traces back to a row you uploaded.

An audit trail and a second factor

Who imported what, who changed a case, who invited whom, kept as a record you can read. Two-factor authentication, scoped API keys and per-role permissions on every plan.

Your history stays yours

If you stop paying you stop importing. You never lose access to what you already reconciled: read and export are never withdrawn.

Pricing

Priced by volume, not by seat.

Every plan includes discrepancy detection, the recovery queue, exports, the audit trail and two-factor authentication. Outgrow a limit and we ask you to upgrade; you are never handed a surprise invoice.

Starter

$149/ month

One office reconciling its own supplier statements.

  • Up to 5,000 booking rows a month
  • 3 team members
  • Discrepancies and the recovery queue
  • CSV exports
Start free trial

Scale

$999/ month

Consolidated reconciliation across every brand you operate.

  • Unlimited booking rows
  • Unlimited team members and API keys
  • Priority support
Start free trial
What you getStarterGrowthScale
Booking rows a month5,00025,000Unlimited
Team members310Unlimited
API keys for scheduled imports15Unlimited
Discrepancies, per supplier and per currencyIncludedIncludedIncluded
Recovery cases with partial and full recoveryIncludedIncludedIncluded
CSV exports of findings and casesIncludedIncludedIncluded
Audit trail and two-factor authenticationIncludedIncludedIncluded
Read access kept after cancellingIncludedIncludedIncluded
Priority support——Included

Prices in US dollars, billed monthly through Stripe. Cancel from inside the product at any time; access runs to the end of the period you paid for. Compare with a spreadsheet, Tern or Sion.

Questions

The things people ask before uploading.

Which booking systems does it read?

Any system that exports a CSV or a spreadsheet: Trams Back Office, Tern, TravelJoy, TESS, TravelWorks, ClientBase reports, a GDS back office, or the sheet your bookkeeper keeps. Column names do not matter; you map the header once and it is remembered.

My export has a commission rate but no expected amount. Does that work?

Yes. Map the gross column and the rate column, or one rate for every row, and MarginShield computes the expectation from the rate you confirm. It never guesses a rate, and if an export carries neither, the import is refused rather than producing a number you might believe.

Is this a CRM?

No, and it does not want to be where your advisors book. It is the audit your bookkeeper, controller or operations lead runs once a month from an export, beside whatever the agency already uses.

What happens when the trial ends?

Nothing is deleted. You keep every import, every finding and both CSV exports, and you can read them for as long as you like. New imports stop until a plan is chosen, and you choose one from inside the product.

Do you see our booking data?

Your data lives in its own organization, isolated at the database level, on infrastructure we operate. Nobody at MarginShield opens a customer’s bookings without being asked to help with a specific file. The Data Processing Addendum sets out the rest.

Can you map our file for us?

Yes. Reply to the note you receive on day one of the trial with the header row of your export and you get the exact mapping the same day.

Start with one month of bookings.

If a month of your own export produces nothing worth chasing, you have your answer in an afternoon and it cost you nothing.