WorkflowDistribution, Sales & NDC

GDS Invoice Audit

GDS invoice audit that checks every billed segment, not a sample, and follows every disputed dollar to its credit

Every billed segment checked against its booking and contract; every overcharge disputed.

See one case, screen by screen ↓
demo612,204segmentson one GDS invoice of $2,838,208.20, every one checked overnight, tied to the segment file to the cent
demo$64,754.80disputed15,097 segments, 2.28% of the invoice, in eight paragraphs by contract clause, with an evidence file of every line
demo318segmentscleared by the agent that argues the GDS's side, before anything was disputed — $1,749.00 kept payable
target1dayfrom the invoice to a signed dispute, inside the 60-day contract window
In short

What is GDS Invoice Audit?

A GDS invoice audit checks that every segment a GDS billed the airline was a real, billable booking at the contracted rate, and disputes what was not. GDS Invoice Audit does it for every segment, not a sample: eight agents tie the invoice to its segment file to the cent, check each billed segment against the airline's bookings and the agreement, argue the GDS's side, and draft the dispute for distribution finance to approve and sign.

How to choose AI for airlines: a buyer's guide to agentic AI solutions →

Updated

The problem

Why a GDS invoice audit stops at a sample

A GDS invoice audit is meant to check every segment a GDS billed. Every month each GDS bills the airline a booking fee for every net segment its subscriber agencies booked, and a network carrier receives invoices of hundreds of thousands of segments, each backed by a segment billing file (the BIDT) with one row per billed segment. Distribution finance downloads the file, attempts the GDS booking fee reconciliation in a spreadsheet that cannot open 600,000 rows, samples a few hundred locators, looks each one up in the reservations system's history and reads the fee schedule and billable-segment rules by hand.

What a sample misses gets paid in full: passive segments entered to print an itinerary, churned and duplicate bookings, cancellations never credited, the airline's own schedule changes billed a second time, and NDC orders billed at the EDIFACT rate. Disputes without per-line proof come back rejected, accepted credits are never matched to a later invoice, the dispute window lapses, and the contract is renewed without the year's facts.

typical$3–$15a segmentin GDS booking fees, at 2.5–3 segments a ticket
typical2%of a GDS bill, at most, that billing discrepancies can add, by a GDS audit vendor's own figure
typical$22–$30a ticketin EDIFACT surcharges carriers now add to push NDC — so NDC orders billed at the EDIFACT rate matter more
Where a month's GDS invoice work goes, in working daysestimated
By hand14 days
With the solution1.3 days
  • Downloading the invoice and segment file and tying them out2 → 0.1 d
  • Looking up sampled bookings in the reservations history4 → 0.2 d
  • Applying the fee schedule and billable-segment rules2 → 0.1 d
  • Writing the dispute letter and its spreadsheet of lines2 → 0.2 d
  • Chasing answers, rebuttals and matching credit notes3 → 0.5 d
  • Telling Accounts Payable what to withhold, and the accrual1 → 0.2 d

Estimated split for one GDS invoice a month at a network carrier, by hand and with the solution.

How it works

How a GDS invoice moves

Eight agents check every billed segment, argue the GDS's side and draft the dispute; distribution finance approves and signs.

What comes in
The invoice in612,204 segments · invoice, segment file, bookings, contract
Agents at work
Invoice readerties to the cent
Then
Booking matcher
Pattern finder
Contract checker
Then
Second-look checkerargues the GDS's side
Then
Dispute drafter
Credit tracker
A person decides
Distribution financeapproves and signs
What comes out
Dispute sent
AP withholds
Credits followed
One case, step by step

One GDS invoice audit, from arrival to a signed dispute

Kestrel GDS sends Corvane Airways its September invoice, KG-2609-0412: $2,838,208.20 for 612,204 segments, arriving Wednesday at 18:20 with its segment file. Here is the GDS invoice audit that follows, screen by screen, in the working solution.

  1. 01Thursday morning

    The agents tell her what they did overnight

    Dana Whitfield · Distribution Finance Analyst

    Dana's Today screen opens on the night's work: 2 of 3 September invoices checked, $96,156.95 caught in September (2.16% of $4,442,326.80 checked) and $125,888.10 still owed to Corvane. The lead item reads “Kestrel billed $2,838,208.20 for September; $64,754.80 should not have been billed.” Beside it, the audit agents report in their own words, and she can ask them anything.

    Second-look checker: “I argued Kestrel’s side on every catch. I cleared 318 I could not defend — two travelers with the same name, a group name list — and held 96 for you where I disagree with the pattern finder.”

  2. 02Open the sieve

    The whole invoice, through five checks

    Dana Whitfield · Distribution Finance Analyst

    The invoice ties to the segment file to the cent: 416,310 EDIFACT segments at $5.50 and 195,894 NDC segments at $2.80. Below it, the invoice falls through five layers — matched to a Corvane booking, passive and churned, duplicates, canceled and changed by us, at the contract's rate — each with what it caught in segments and dollars. Passive and churned alone is 3,412 segments, $18,766.00.

    The foot of the sieve always adds up: $2,772,925.40 payable + $64,754.80 disputed + $528.00 held for you = $2,838,208.20.

  3. 03Overnight, step by step

    How the agents checked it

    The audit agents

    One click replays the run. The invoice reader tied out the file at 18:24. The booking matcher matched 611,018 of 612,204 segments to Corvane's booking history; 1,186 had no Corvane booking — 774 partner-marketed codeshare, 412 from Kestrel's training office. The pattern finder found passive, churned and duplicate segments, the contract checker applied the rates and credits, and the second-look checker tried six innocent explanations before the dispute drafter wrote the letter.

    “Handed to Dana Whitfield: the dispute to approve and 96 held segments to decide.”

  4. 04She asks

    “Why is a passive segment not billable?”

    Pattern finder

    Dana asks the layer in plain words. The pattern finder answers with the booking itself: K7QX2M was ticketed through Corvane's NDC channel on Sep 2, and six minutes later Lakeshore Travel added a GK segment in Kestrel to print the itinerary. Schedule C-2 says passive segments are not billable. Above the question, what the second look cleared in this layer: 114 segments, $627.00, a group name list under contract GRP-2611.

    Every sentence the agents write carries a numbered citation that opens its source.

  5. 05One sample

    One segment's proof, side by side

    Booking matcher · Pattern finder

    Segment S-20417 — HALVORSEN/E MS on CV 1182 ORD–DEN, Fri Sep 18, Lakeshore Travel Group office 7KQ2, status GK, billed $5.50. Beside the billed line, what Corvane's booking history shows and what the contract says: billed $5.50, should be $0.00. The churn sample reads the same way: SMITH/J MR on CV 220 ORD–SEA, seven cancel-and-rebook cycles in 41 hours from Harborview Tours, cycles 4 to 7 not billable under Schedule C-5, 8 segments, $44.00.

    Second-look checker: “I tried the innocent explanations — a ticket issued in Kestrel, an active segment re-entered as passive. None applies. I agree.”

  6. 06Where the agents disagree

    96 segments only a person can decide

    Dana Whitfield · Distribution Finance Analyst

    Corvane Vacations, office 4CVA, rebooks while it builds packages: the pattern finder says churn, the second look says the office is Corvane's own, so the cause is Corvane's to fix. $528.00 is at stake. Dana keeps them payable with the reason “Our own office — fix the booking practice instead” and signs; the pattern goes to Corvane Vacations to fix.

    Second-look checker: “I say the contract counts any office, but disputing our own booking practice may cost goodwill before the renewal. $528.00 is at stake. You decide.”

  7. 07The letter

    A GDS billing dispute, clause by clause

    Dispute drafter

    Under Section 9.2 of the Participating Carrier Agreement of April 1, 2024, the letter disputes $64,754.80 in eight paragraphs, each with its count, clause and dollars. The largest is the booking fee: 6,420 segments held as NDC orders and billed on the EDIFACT line at $5.50, where Schedule B-2 as amended on March 1, 2026 says $2.80 — $17,334.00. The evidence file lists all 15,097 lines with their booking history.

    Dana can ask the drafter back: “Make the passive paragraph firmer”, “Add the August rejection to this letter”, “What will Kestrel push back on?”

  8. 08Signed at 08:45

    She approves and signs; Accounts Payable withholds

    Dana Whitfield · Distribution Finance Analyst

    The dispute is inside Dana's $100,000 limit, so she approves it with the reason “Contract applied as written” and her e-signature. Accounts Payable is told to pay $2,773,453.40 by Wed Nov 11 and withhold $64,754.80, as Section 9.4 allows. The dispute goes out the morning after the invoice, with the window open to Fri Dec 11.

    Nothing leaves unseen: the dispute drafter never sends — a person approves and signs.

  9. 09The answer clock

    Every disputed dollar followed to its credit

    Credit tracker

    For August, Kestrel accepted $40,118.25 — credit note CN-KG-0926-131, expected on the October invoice — and rejected $21,362.00 for 3,884 passive segments as “later ticketed”. The credit tracker found no such exception in Schedule C-2 and drafted the rebuttal for Dana to approve. Strata's answer on $33,005.70 is 5 days overdue. Across the last 12 months $722,890.15 was credited, 92.5% of what was disputed, and Kestrel credits in 41 days on average.

    “Schedule C-2 reads: passive segments ‘are not billable’. It makes no exception for ticketing.”

  10. 10Month end

    The pay and withhold instruction, and the accrual

    Joanne Park · Accounts Payable Lead

    The September close lists every invoice with what to pay, what to withhold and when it is due, for Joanne to approve. The accrual is drafted from the same numbers: $5,054,774.70 billed by three GDSs, $96,156.95 disputed and held, a credit expected at Kestrel's 92.5% acceptance rate, and $4,965,829.52 of GDS distribution expense to accrue. Marcus Ellery signs the close.

    “Finance posts it; the agents never post to the ledger.”

Who it’s for

Built for everyone who pays a GDS.

The same GDS invoice, seen by the five people who carry it — what their month looked like, and what it looks like now.

DW
Dana WhitfieldDistribution Finance Analyst · signs disputes to $100,000
Distribution Finance Analyst
Before
“I can check two hundred segments by hand. Kestrel billed us six hundred twelve thousand.” She ties out, samples, writes the disputes and chases the credits.
Now
Opens an invoice already checked segment by segment, asks the agents why, decides what they disagree on and signs a letter written by clause.
ME
Marcus ElleryDistribution Cost Manager · owns the GDS agreements
Distribution Cost Manager
Before
“Give me twelve months of facts before I sit down with Kestrel.” Signs disputes over $100,000 and reports cost of sale to the CCO.
Now
Sees what each GDS owes, how fast it credits, and approves a billing rule only after it has been replayed on last month.
JP
Joanne ParkAccounts Payable Lead · pays on net 30
Accounts Payable Lead
Before
“Tell me the number to pay and the number to hold, and show me why.”
Now
Approves one pay and withhold instruction per month, with the clause that allows the withholding, and posts each credit when it lands.
RC
Renee CalderVP Distribution · signs the negotiating position
VP Distribution
Before
“What does each ask in the renewal save us, in dollars?”
Now
Reads a renewal brief of five asks, each priced and cited to the year's audited invoices, and signs the position.
ES
Elliot ShawDistribution Systems Administrator · keeps the connections
Distribution Systems Administrator
Before
“When a GDS changes its file layout, I want to know before the audit runs.”
Now
Sees a changed segment file stop the run rather than be read wrongly, approves the new column's mapping, and keeps the limits and clocks.
Built on the engine

8 agents. Each with one job, and hard limits.

Eight agents check every billed segment, argue the GDS's side and draft the dispute; distribution finance approves and signs.

Invoice reader

Reads each GDS invoice and its segment file, ties them to the cent, and stops on a layout change or a duplicate invoice.

  • Never pays or approves
  • Stops the run if the file does not tie out
Booking matcher

Matches every billed segment to Corvane's booking history by locator, name, flight, date and office, against the codeshare schedule.

  • Never edits a booking
  • Reads the booking history read-only
Pattern finder

Finds passive segments, cancel-and-rebook chains and duplicates across bookings.

  • Never contacts an agency
Contract checker

Applies each GDS agreement: tiers, the NDC rate, cancellation credits and the schedule changes Corvane made.

  • Applies only rules a manager switched on
  • Cites a clause for every line
Second-look checker

Argues the GDS's side on every catch — two travelers with the same name, a group name list, cycles more than 72 hours apart — and clears what it cannot defend.

  • Disagreements always go to a person
Dispute drafter

Drafts the dispute letter by clause, the evidence file and the pay and withhold instruction.

  • Never sends — a person approves and signs
Credit tracker

Watches answer clocks, matches credit notes on later invoices, drafts rebuttals and reminders, and hands agency causes to the agency debit memo team.

  • Never posts a credit — Accounts Payable does
Renewal analyst

Turns twelve months of audited invoices into priced, cited negotiating asks for the renewal.

  • Internal only; the VP signs the position
Distribution finance

Approves, edits or rejects every dispute. The agents propose; a named person decides.

Ask in plain words

Ask the audit agents, in plain words

Ask about any invoice, segment, clause or credit — or tell the agents what to do. Every answer cites its source and opens the screen it came from.

Why did Kestrel bill us for passive segments?

Agencies entered 2,206 passive segments in September — GK or BK, recording tickets issued elsewhere, like K7QX2M from Lakeshore Travel. Kestrel billed each at $5.50. Schedule C-2 says passive segments are not billable: $12,133.00, in the dispute.

Why are 96 segments held for me?

They are cancel-and-rebook cycles from Corvane Vacations, office 4CVA — our own company. The pattern finder says churn under Schedule C-5; the second look says the contract counts any office, but disputing our own booking practice may cost goodwill before the renewal. $528.00 is at stake. You decide.

What do the GDSs still owe us?

$125,888.10 across 3 open disputes: Kestrel's accepted $40,118.25 for August lands on the October invoice; $21,362.00 is under rebuttal; Strata owes an answer on $33,005.70 for August, 5 days late, and on $31,402.15 for September, due Nov 12.

What should we ask for in the Kestrel renewal?

Five asks from twelve months of facts: passive segments never billed, no fee from the third churn cycle, the NDC rate by order reference, answers in 21 days, and Tier 3 from 7.0 million segments — an estimated $1,391,320 a year. Notice is due Tue Dec 1.

Every screen

The working solution, as it ships.

13 screens from the working solution, on its sample data. Pick one to see it large.

TodayThe GDS invoice audit home: invoices checked, caught this month, what the GDSs owe, what needs the analyst, and the audit agents' overnight report.
The sieveOne GDS invoice tied to its segment file to the cent and checked in five layers, each with segments and dollars caught, and the passive and churned layer open with its samples.
How the agents checked itThe overnight run replayed step by step: tie-out, booking match, passive, churn and duplicate segments, contract rates and credits, the second look and the drafted dispute.
Asking the agentsWhy a passive segment is not billable, answered with the booking and the clause, and the 96 segments where the agents disagree.
A person decidesThe held segments kept payable with a reason, a note for the record and the analyst's signature.
One segment's proofA passive segment billed by the GDS beside the booking history and the contract clause, with both agents' verdicts and the amount disputed.
The GDS billing disputeThe dispute letter by clause — codeshare, training bookings, passive segments, churn, duplicates, cancellations, schedule changes, NDC at the EDIFACT rate — with the evidence file.
Approve and sendThe analyst approves the GDS invoice dispute with a reason and an e-signature; Accounts Payable is told what to pay and withhold.
CreditsEvery dispute followed to its credit note, with answer clocks, an overdue GDS and a rebuttal drafted against a partial rejection.
The month's closeThe close checklist, the pay and withhold instruction for Accounts Payable and the accrual of GDS distribution expense.
The renewal briefTwelve months of audited GDS invoices turned into five negotiating asks, each priced a year and cited.
Audit trailEvery agent step and every signed decision on the GDS invoices, chained, filterable and exportable.
Limits and rulesThe analyst dispute limit, the confidence to dispute automatically, the always-on second look, the dispute window warning and the answer reminder.
Governance

Built for a GDS billing dispute that holds: cited, signed, on the record.

Every line cites its clause and bookingEach caught segment carries the invoice line, the segment file row, the booking history and the contract clause behind it, and every sentence an agent writes opens its source.
A person approves and signsThe agents draft; a person approves, edits or rejects every dispute, rebuttal, payment hold, rule and renewal position with a reason and an e-signature. Above the analyst's $100,000 limit, the distribution cost manager signs.
A second look on every catchBefore anything is disputed, an agent argues the GDS's side and clears what it cannot defend. The second look is always on, and where the agents disagree, a person decides.
Nothing undecided is paid by accidentThe pay and withhold instruction withholds the dispute plus anything still held for a person, under the agreement's withholding clause, and Accounts Payable approves it. The agents never post to the ledger or post a credit.
Rules change only after a replayEach billable rule maps to a clause. A proposed change is replayed on last month and switched on only with the cost manager's approval.
A chained audit trailEvery agent step and every signed decision is on the audit trail, newest first, each entry chained to the one before it so nothing can be changed or removed unseen. The evidence for any dispute exports in one click.
Configuration

Your agreements and your limits, not ours

The limits and clocks every GDS invoice audit runs on are settings, and every change is logged. The administrator and the cost manager change them.

SettingDefaultChoose from
Analyst dispute limit$100,000$50,000 · $100,000 · $250,000; above it the Distribution Cost Manager signs
Put in the dispute automatically from95% confidence90% · 95% · 98%; below it a segment is held for a person
Second look on every catchAlways onLocked on
Warn when a dispute window has less than15 days10 · 15 · 30 days
Remind a GDS that has not answered after30 days30 · 35 days
Send agency causes to debit memos without askingOffOn · Off; when off, a person sends them from the caught segments
Billable rules per GDS8 rules on the Kestrel agreement, each mapped to a clauseSwitched on after a replay on last month and the cost manager's approval
Connections

Works with the systems a GDS invoice already touches

GDS billing portalseach GDS's invoice and its segment billing file (BIDT), arriving on their own
Reservations systembooking history by locator, read-only
NDC order system and schedulesNDC order references, the codeshare schedule and the schedule-change log
Loyalty profiles and group contractsfor the second look: two travelers with one name, a group name list
GDS agreementsagreements, fee schedules and amendments
Accounts payablethe pay and withhold instruction, credit notes on later invoices, the agency debit memo team's queue
What it changes

The difference, in numbers.

Every figure is labelled: a target the solution is built to, an estimate, a typical published result, or a proven one.

estimated
$1.2M
a year of GDS overcharges recovered at a 300-aircraft carrier
target
612,204
billed segments checked every month, every one, not a sample
612,204 of 612,204
September segments checked
target
1day
from invoice to a signed dispute, inside the 60-day contract window

“demo” = seen in the working solution, on its sample data · “target” = the design goal, measured in the live solution · “estimated” = our estimate ($60.6M a year of GDS billing × 2.1% caught × 92.5% credited, for a carrier of about 300 aircraft) · “typical” = published figures (AltexSoft on airline distribution costs — GDS fees of $3–$15 a segment, 2.5–3 segments a ticket; a GDS audit vendor's product page — billing discrepancies can add up to 2% to a GDS bill; DWU Consulting, 2026 — EDIFACT surcharges of $22–$30 a ticket). Corvane Airways, Kestrel GDS, Strata GDS, Lumen Travel Network, the agencies and the people named on this page are fictional — characters and sample data in the working solution.

Questions

What airline distribution finance teams ask us.

What is a GDS invoice audit?

A GDS invoice audit checks that every segment a GDS billed the airline was a real, billable booking at the contracted rate, and disputes what was not. GDS Invoice Audit does it for every segment, not a sample: eight agents tie the invoice to its segment file to the cent, check each billed segment against the airline's bookings and the agreement, argue the GDS's side, and draft the dispute for distribution finance to approve and sign.

How do airlines audit GDS booking fees?

A segment fee audit starts by tying each invoice to its segment billing file, matching billed segments to the airline's own booking history and applying the agreement's fee schedule and billable-segment rules. In GDS Invoice Audit the agents do this overnight in five layers — no Corvane booking, passive and churned, duplicates, cancellations and the airline's own changes, and the contract's rate — and each catch carries its clause and booking history.

Are passive segments billable by a GDS?

Passive segment billing depends on your agreement. In the sample Kestrel agreement, Schedule C-2 says passive segments (status GK, BK or GL) are not billable, so the 2,206 passive segments on the September invoice — $12,133.00 — went into the dispute. The contract checker applies only the rules in your own agreements, each mapped to its clause.

What is a BIDT file?

The segment billing file a GDS sends with its invoice: one row per billed segment, with the booking locator, the agency office, the flight, the date, the status and the action. GDS Invoice Audit maps each GDS's file layout once, ties the file to the invoice to the cent before anything else, and stops the run if a GDS changes the layout. That makes the BIDT audit the first check on every invoice, not a spot check at the end.

How do you dispute a GDS invoice and get the credit?

The dispute drafter writes the letter clause by clause with an evidence file of every line; a person asks back, edits and approves it with a reason and an e-signature, inside the contract's dispute window. The credit tracker then watches the GDS's answer clock, handles GDS credit note matching — each accepted line to a credit note on a later invoice — and drafts a rebuttal when lines are rejected, citing the clause.

Does it catch NDC orders billed at the EDIFACT rate?

Yes. The contract checker prices each segment at the agreement's rate, so the gap between the NDC and EDIFACT booking fee is checked segment by segment. On the sample invoice it found 6,420 segments held as NDC orders but billed on the EDIFACT line at $5.50 instead of the amended $2.80 — $17,334.00, the largest paragraph of the dispute.

How much can a GDS billing audit recover?

On the sample month, $64,754.80 of a $2,838,208.20 invoice was disputed — 2.28%. We estimate about $1.2 million a year for a carrier of about 300 aircraft with roughly $60.6 million a year of GDS billing, assuming about 2.1% caught and the 92.5% credit rate seen in the working solution. That is an estimate, not a result. The same audited months also feed GDS cost control at renewal: on the sample Kestrel agreement, five priced asks worth an estimated $1,391,320 a year.

Do people stay in control?

Yes. The agents never send a dispute, post a credit or contact an agency or a GDS. A person approves, edits or rejects every dispute, rebuttal, payment hold, rule change and renewal position with a reason and an e-signature, and where the agents disagree, a person decides.

How long does it take to go live?

The Agentic Solution Engine builds and deploys it from your requirements and documents — your GDS agreements, fee schedules, segment file layouts and a past month of invoices — and it goes live once every quality gate has passed. Setup replays one month first, so you see what the agents would have caught against what you disputed.

See it on
your GDS invoices.

We'll run GDS Invoice Audit on a past month of your own GDS invoices and segment files.