Built on WIX Headless

Passenger Revenue Accounting System Migration

When migrating financial data means preserving the economics behind every ticket. A passenger ticket changes throughout its life: coupons are flown, exchanged, refunded, or stay unused; fare, commission, discount, and tax are allocated at coupon level; every transaction touches interline accounting, memos, and balances. Replacing the airline’s passenger revenue accounting system therefore meant deciding which information should move, how legacy transactions would be represented in the new system, how financial continuity would hold at cutover, and how the result would be reconciled.

Context

  • Customera major airline
  • SourceLegacy passenger revenue accounting system holding years of ticket, coupon, tax, and settlement history
  • TargetNew passenger revenue accounting platform
  • ScopeOpen tickets and coupons, open balances, unmatched uplift, taxes, reference and airline master data; closed history retained in the legacy environment
  • RoleOfakim led the selection and implementation programme and ran the migration: population, mapping, controls, reconciliation, cutover

The migration was run as a controlled transition between two revenue-accounting environments rather than a one-time extract and load: a defined population, mapping at coupon level, explicit treatment of exceptions, an accounting switch-over, and reconciliation of amounts and counts before sign-off.

The Challenge

Airline revenue-accounting data has a lifecycle. A ticket is not a row in a database.

The migration had to decide the treatment of every population and transaction state, including:

  • passenger tickets and coupons
  • open ticket balances
  • sales and uplift
  • taxes, reported and calculated
  • interline transactions
  • refunds and exchanges
  • ACM and ADM memos
  • work-in-progress and unmatched transactions
  • the accounting switch-over itself
  • reference and airline-specific master data

That turns the migration question around. It is no longer "which source field maps to which target field?"

It becomes: "What is the business and accounting state of this document at cutover, and how must that state be represented in the new revenue-accounting system?"

A concrete example

One Ticket. Several Coupons. A Changing Financial State.

An itinerary holds several flight coupons. Some have been flown. One is then exchanged, another refunded, one is still unused at cutover. Fare, tax, commission, and the prorated share of each coupon must keep a correct representation at coupon level, and the open balance must be the one the ledger already knows.

  1. Sale
  2. Coupons
  3. Usage status
  4. Proration
  5. Ledger

Copying the legacy record would have moved the row and lost the state. The migration therefore carried the business state of each document, with the values that state implies, and left closed history where it could still be looked up.

You do not migrate a ticket. You migrate its financial state.

Our Approach on This Project

Understand the financial state before moving the data. Each step links to the same step in our migration lifecycle.

01 · Define the migration population

Not every historical transaction belongs in the new platform. The project decided, population by population, what migrates, what stays available in the legacy environment, and what needs a different treatment during the transition, such as an exchange chain carried as its latest sale with a reference to its history.

Analyze

02 · Understand airline-specific semantics

Revenue accounting combines industry concepts with the airline’s own data and rules. Tickets, coupons, taxes, sales, uplift, interline items, and master data were read in their business context before any transformation rule was written.

Principle: business first

03 · Map financial meaning

The mapping preserved meaning at ticket and coupon level: which monetary values, in which currency, at which state. The task was source transaction to accounting interpretation to target representation, not source column to target column.

Map

04 · Handle exceptions explicitly

Real airline data has transactions that fit no happy path: work in progress, uplift with no matching sale, items the legacy system could not settle. Each became a visible migration decision rather than a hidden rule in the transformation.

Resolve Gaps
  1. Source transaction
  2. Accounting state
  3. Target representation

Cutover Without Breaking the Accounting Chain

The system can change. The financial lifecycle cannot.

The cutover was an explicit accounting switch-over. The legacy system closed its last period and its open items were proven against the ledger. Those open items moved to the new platform, which became responsible for everything that happened to them from that point. Transactions that arrived late for the legacy period, and items the legacy system could not settle, were assigned to one environment or the other by rule, so that no document was processed twice and none fell between the two.

  1. Period close
  2. Open items
  3. Switch-over
  4. Catch-up
  5. Go-live

The real cutover question was not "when do we switch the database?"

It was "which system becomes responsible for each financial transaction, and how do we make sure nothing falls between them?"

Cutover between two accounting periods

Reconciliation and Proof

A migration is not proven because the data loaded. It is proven when the result reconciles.

Reconciliation was structured across business dimensions rather than as one total. Each migration population was compared between source and target in amounts and in counts, and the differences were presented in views the finance team already used: by ticket status, by accounting period, by agency, and by currency.

Project reconciliation workbook. The October 2016 open-ticket difference, quantity minus 212 and 999 dollars, is outlined.
The project reconciliation workbook. The outline marks the October 2016 open-ticket difference: it is flagged on the ticket row and again on the total, rather than absorbed. The same sheet continues by month and by agency, and the tabs continue across coupons, taxes, and currencies.

Every difference between source and target is a visible, assignable exception with a business meaning, instead of a data problem found later by someone else.

Migration success is not "the program ran successfully." It is "we can account for every difference between source and target."

Principle: prove the result

Testing Before Cutover

Proving the process, not only the load, before production.

Migrate

Run the extraction, transformation, and load on the agreed population, first on samples built to contain every status and value combination, then on complete data.

Verify

Check that the target population is the one intended: every item that should have moved is present once, and nothing moved that should have stayed.

Reconcile

Compare amounts and counts between source and target along business dimensions, and expose every difference for investigation and sign-off.

  1. Migrate
  2. Verify
  3. Reconcile
  4. Sign-off

Together these controls moved testing from "did the program run?" to "can we show what happened to the business data?"

Test, Rehearse & Migrate

Beyond the Core Accounting System

A core-system migration does not end at the application boundary.

Revenue-accounting information is consumed well beyond the revenue-accounting application: the general ledger, management reporting, settlement, and the systems that read ticket and coupon data for their own purposes. The migration therefore defined how migrated items would appear to those consumers, which of them should be reported and posted from the new platform and which must not be reported twice, and how reporting continuity would hold across the switch-over.

Replacing a core system is not complete when the new application works. Its data must continue to serve the enterprise around it.

What This Case Demonstrates

Complex airline migration is business transformation expressed through data.

Business meaning comes before mapping

Tickets, coupons, and accounting transactions have states and relationships. Understanding them came before defining the technical transformation.

Read more

Not everything should be copied

A controlled migration distinguishes what migrates, what is transformed, and what receives a different treatment during the transition, and records why.

Read more

Cutover is a business event

The switch between systems decides which environment is responsible for each financial transaction, not merely when an interface changes.

Read more

Reconciliation is part of migration

Financial and transaction reconciliation sat inside the migration approach from the first sample, not as an audit after the load.

Read more

Downstream consumers matter

A core-system replacement is complete when its data keeps serving the ledger, reporting, and the systems that depend on it.

Read more

The Outcome

From legacy complexity to a controlled revenue-accounting transition.

The new platform went live on the date set in the initial plan. The migration carried the open passenger revenue accounting population into it with its business state, balances proven to the ledger, exceptions decided and recorded, and reconciliation evidence by population, period, agency, and currency.

Transformation decisions were tied to the financial meaning of the airline’s data rather than treated as a database exercise. The source analysis, the mappings, the decision log, and the reconciliation workbooks remain as the record of why each balance is where it is.

The project demonstrates work at the intersection of complex legacy data, airline-domain semantics, financial controls, and enterprise-system replacement. That is the capability we bring to the next one.

Why This Matters to Other Airlines

Your platform will be different. The migration questions will be familiar.

Every airline has accumulated its own systems, interfaces, local processing rules, exceptions, and downstream dependencies. The systems and the mappings will differ. The questions do not: what financial population must migrate; what is the business state of each transaction; how should it be represented in the new system; what needs a different treatment during the transition; how will accounting responsibility switch at cutover; how will migrated balances and transactions be reconciled; and how will downstream consumers keep receiving what they need. These are migration questions, and technical mapping alone cannot answer them.

  1. Population
  2. State
  3. Representation
  4. Treatment
  5. Switch-over
  6. Reconcile
  7. Downstream

Aviation migrations
Our migration lifecycle

Replacing a Passenger Revenue Accounting Platform?

Let's examine the source environment, target objectives, and migration challenge.