Airfare cabin class above policy
Reads the fare basis and booking class on every airline receipt and flags business or premium economy tickets that the flight duration, traveler role or documented exception does not support.
- Employee
- Mariana Castillo, Product Marketing Director, Tidewater Analytics
- Merchant
- United Airlines, ticket 016-2384471902 (ORD to SFO round trip)
- Amount
- $1,412.87
The e-ticket shows booking class J on both segments of a round trip between Chicago and San Francisco, scheduled at 4 hours 35 minutes outbound and 4 hours 10 minutes on return. Tidewater's policy permits business class only on segments longer than eight hours. Mariana's grade carries no executive exemption, no pre-trip exception is on file, and the travel tool's lowest economy fare at booking time was $486.20, a difference of $926.67.
- Category
- Travel
- Default severity
- Medium
- Basis
- FAR 31.205-46
- Rule ID
- airfare-cabin-class
Why this rule exists
Airfare is usually the largest single line on a trip, and cabin class is where the policy gap is widest. A business class ticket on a transatlantic route can cost several times the economy fare, yet the receipt an approver sees often shows only an airline, a route and a total. The cabin is buried in a fare basis code most managers cannot read.
For government contractors this has a direct allowability consequence. FAR 31.205-46 treats airfare above the lowest customary standard, coach or equivalent fare as unallowable unless one of the listed exceptions applies and is documented, such as no reasonably available coach fare or a medical need. Without that documentation, the difference has to come out of billable costs.
For everyone else, cabin creep is a common route to out-of-policy spend. Mid-market analysis finds 6% to 10% of T&E spend falls outside policy, and premium cabins booked outside the travel tool contribute because nobody sees them until the card statement arrives, long after the seat was flown.
Detection logic
The steps the audit engine runs, in order, on every submitted line.
- 01
Extract the ticket number, carrier, route segments, booking class letter and fare basis code from the e-ticket receipt or the travel management company feed, and match it to a card charge under MCC 3000-3299 or 4511.
- 02
Map the booking class to a cabin using each carrier's published fare class chart, so J, C and D read as business, W as premium economy on many carriers, and Y, B or M as economy.
- 03
Compute scheduled flight time per segment from the itinerary, then compare it with the policy's cabin entitlement, for example business permitted only on segments longer than eight hours or on overnight long-haul flights.
- 04
Check the traveler's role and grade in the HRIS against any executive or medical exemption, and look for a pre-trip approval in the travel tool or an exception note attached to the booking.
- 05
When a premium cabin is not supported, estimate the economy fare difference using the lowest fare shown in the travel tool at booking time, or a stored comparison fare if the booking was made directly with the airline.
- 06
Detect paid upgrades bought after booking by matching smaller same-carrier charges whose receipts reference the original record locator within the travel window, since these often post days after the original fare.
The drafted message
Clause-cited, specific and easy to resolve in one click. AP edits or approves it before it reaches the employee in Slack, Teams or email.
Phyto Nex AI, on behalf of Finance
Draft, awaiting AP approval
Hi Mariana, thanks for submitting your San Francisco trip. I noticed the United ticket was booked in business class (fare class J) for flights of about four and a half hours. Section 2.1 of the Travel Policy covers economy on flights under eight hours unless an exception was approved before booking. If there was a reason, such as a schedule change, a medical need or a pre-approval I can't see, could you add that context? You can also upload the itemized fare receipt if the class shown is wrong, or mark the $926.67 difference as personal. Thanks so much.
Tuning tips
- Set the long-haul threshold per region. Many APAC and EMEA teams measure entitlement by total journey time including connections, while many US teams use the longest single segment.
- Grant role-based exemptions through HRIS grade rather than named individuals, so promotions and departures update entitlements automatically without anyone editing the rule.
- Allow premium economy as an intermediate tier for flights between six and eight hours if your policy permits it, and flag only business and first class in that band.
- Treat upgrades paid with personal miles or airline status as compliant when the card charge equals the economy fare, since the company paid nothing extra. The rule reads the fare paid, not the seat.
- For contracts subject to FAR 31.205-46, switch the rule to strict mode on government charge codes, which expects a documented exception before booking and segregates any excess fare as unallowable.
Related rules
Next: Per diem meal cap- TravelPreferred vendor not usedFlags hotel, airline and car rental bookings made outside negotiated preferred vendors when a contracted option was available, so negotiated rates and volume commitments are actually used.
- TravelPremium ride-share tierReads ride-share receipts to identify premium tiers like Uber Black or Lyft Lux, comparing them to the standard fare and checking for allowed reasons like late hours or group travel.
- LodgingHotel minibar and in-room incidentalsReads every line of a hotel folio and flags minibar, in-room movies, spa and other incidentals that sit outside the nightly room rate and taxes your policy covers.
- Meals & alcoholPer diem meal capCompares daily meal spend on travel days with the destination's per diem or meal cap, adjusting for partial travel days and meals already provided by hotels or conferences.
Turn on "Airfare cabin class above policy" for your own receipts.
Connect your expense tool read-only and Phyto Nex AI runs this rule, and 40 more, on every report. Your team approves every message.
14-day free production trial. Read-only connectors. No card required.