Skip to main content
Air navigation charges & statistics

Air Navigation Charges & Flight Statistics Systems

Charging for a movement means knowing the aircraft's weight, the route it flew, how long it sat on the ground, and which tariff line applies, then being able to show your working when an operator queries the invoice six months later. Firelinkx scopes systems where the calculation is explainable and the record behind it has been validated by two people.

Custom software development
Who this serves

Air navigation service providers billing operators for movements

The officers entering movements from flight strips, the supervisors validating them, and the finance and management users who need the totals to reconcile and the reports to be defensible.

The billing basis is a spreadsheet

Movements are typed into a workbook that grew organically, formulas differ between tabs, and the person who understands the sheet is the constraint on the whole month. Nothing in it records who entered a figure or what it was before.

The charge cannot be explained

An operator queries an amount and the answer requires reconstructing which weight, which duration, and which rate were used at the time. If rates have changed since, the reconstruction is guesswork.

One person enters and the same person approves

Without a separation between entry and validation there is no point at which a record becomes official, which means every figure downstream is provisional and every dispute is open.

Arrival and departure drift apart

A turnaround is two legs of one visit. When they are recorded independently, parking duration is guessed, movements are double-counted, and the statistics disagree with the charges built from them.

Operational workflow

From a flight strip to an invoice line somebody can defend

Every charge traces back to a validated movement and a rate that was in force on the day. The chain is the point: change any link and the system can still tell you what the figure was and why.

1

Keep the reference registers current

Aircraft types with their weight and dimensions, registrations mapped to types, operators and their billing accounts, and locations with their codes and aliases. The charge is only as good as these.

2

Enter the movement

Category, direction, and outcome recorded separately, with the fields each category actually requires. Officers work close enough to the flight-strip layout that the change is learnable in a shift.

3

Pair the legs of a turnaround

Arrival and departure are joined into one visit, so parking duration is derived from the aircraft's last known state at that aerodrome instead of being estimated.

4

Catch the duplicates and the gaps

Repeated entries are flagged at the point of entry, and a combined flight number that will not split cleanly is raised for an officer to confirm, never silently accepted.

5

Validate as a second person

A movement becomes official only when someone other than the person who entered it approves it. That transition is the boundary between a draft and a figure the department will stand behind.

6

Calculate against the tariff in force

The charge is composed from the published tariff, with the parameters that produced it recorded alongside the result. A rate change tomorrow does not alter what was charged today.

7

Export the invoice support

Structured output that Accounts can raise invoices from, without the system pretending to be the accounting package or holding the receivable.

8

Report and reconcile

Movements by aircraft, operator, route, category, and period, from a daily count to an annual return, built from the validated records, not assembled by hand.

Records and controls

The records the charge rests on

What the charge rests on

Each of these is a record with a history, because a charge queried later is a question about what these held at the time.

  • Aircraft types with weight and dimensions
  • Registrations, and the type each is mapped to
  • Operators and the accounts they are billed under
  • Movements, their category, direction, and outcome
  • The tariff, and the period each rate was in force
  • Calculated charge lines with the inputs that produced them

Who enters, who approves, who may see the money

Separation of duties is the control that makes the output defensible, so it is built into the system and not left to procedure.

  • Enter and amend a draft movement
  • Validate a movement, which cannot be the person who entered it
  • Reopen a validated record, with a recorded reason
  • Maintain aircraft, operator, and location registers
  • Change a tariff rate, and set the date it takes effect
  • Waive or adjust a charge line

What has to be resolved before a period closes

These sit on a queue with a name against them. A period that closes over them is a period that will be reopened.

  • Movements entered but never validated
  • An arrival with no matching departure
  • A registration with no aircraft type behind it
  • A duplicate flagged and not yet dispositioned
  • A route or location the system does not recognise
  • A waived charge line without an authorising reason

What management and finance can pull

Built from validated records, so a report and an invoice cannot disagree.

  • Movement counts by period, aerodrome, and category
  • Traffic by operator, aircraft type, and route
  • Charges raised, waived, and adjusted
  • Invoice-support extracts for a billing period
  • Entry and validation throughput by officer
  • The full audit history behind any single figure
Project scope

Replace the workbook without losing the workflow inside it

The spreadsheet survives because it fits how officers work. A replacement that ignores that gets filled in twice, once properly and once in the old sheet, and the old sheet wins. The first release should feel like the strip layout and take less time than the workbook did.

  • Movement entry, the reference registers, validation, and the charge calculation are one coherent first release, because none of them is useful without the others.
  • Historical movements are imported with field mapping, validation, and a reconciliation against the source totals before anything is billed from them.
  • Accounting, invoicing, and payment connections are assessed against the systems already in use, and the boundary stays where the receivable does.
  • Reporting, dashboards, and statistical returns are scoped once the validated record is trusted, since a report over unvalidated data is worse than no report.
Investment

What a system like this costs

This is billing-adjacent work with published tariffs behind it, so it is scoped against a written specification rather than estimated, and priced from that document.

Specification

Fixed-scope engagement

The charge rules with their test cases, the movement categories and their fields, roles and separation of duties, the audit model, reporting, and acceptance criteria. Procurement-ready, and yours whether or not Firelinkx builds it.

Build

Quoted from the specification

Priced against the agreed document, in staged releases with acceptance at each stage, so the department is never asked to accept the whole system on one day.

Operations

Scoped to the system

Hosting, monitoring, backups with tested recovery, patching, and a defined support responsibility for a system a billing cycle depends on.

Every proposal separates the one-time build from the monthly operations that follow it. See full pricing for how both are structured.

Implementation

How this replaces a spreadsheet nobody wants to give up

Map the operation

Review representative records, current tools, staff responsibilities, handoffs, delays, and exceptions.

Define the system

Specify records, states, permissions, approvals, integrations, reports, and acceptance checks.

Build and review

Deliver working stages that staff can test against representative scenarios before the scope expands.

Prepare the change

Plan data migration, training, deployment, support responsibilities, and the operational cutover.

Questions

Questions air navigation departments ask

Where do the rates come from?

From your published tariff, entered as data with the period each rate was in force. That is what allows a charge from two years ago to be explained using the rate that applied then. Recalculating at today's figures would quietly disagree with the invoice that was issued.

Does it replace our accounting system?

No, and it should not. It produces the supporting detail that invoices are raised from and stops there. The receivable, the ledger, and the payment stay in the accounting package, because a charge calculation engine that also tries to be a general ledger does neither job properly.

How much retraining do officers need?

The entry screens follow the flight strip and the workbook the office already uses, deliberately. Where a system asks officers to abandon a layout they know while also learning new rules, they keep the spreadsheet running in parallel and the project fails quietly.

What happens when a validated movement turns out to be wrong?

It is reopened with a recorded reason, corrected, and revalidated. The original values, the change, and the person who made it stay in the audit history, because deleting the mistake removes the evidence that the correction was legitimate.

Can it import our existing records?

Yes, with field mapping, validation on the way in, and reconciliation against the source totals before the data is used for anything. Imports are repeatable, so a mapping correction is applied by rerunning the import.

How is parking duration determined?

From the aircraft's last known state at that aerodrome, which is why arrival and departure legs are paired into a single visit. Where the last known state is not an arrival at that aerodrome, no duration is prefilled, because reaching further back to find an older arrival produces a plausible number that is wrong.

How would a department start?

With a month of real movements, the published tariff, and three invoices that were queried. Those show the categories, the rules, and the places where the current process cannot defend itself.

Discuss the workflow your team manages

Bring a representative job, record, exception, or report. Firelinkx will help define the users, controls, integrations, and first useful release.

WhatsApp us