What SGHA is
The Standard Ground Handling Agreement is the IATA-published contract template that airlines and handlers use to define the commercial relationship between them. The IATA name says “ground handling” because the template historically covered every aviation service on the ground — passenger handling, ramp services, cargo handling, fuelling, catering coordination. In air cargo handling specifically, the relevant section is Annex B, sub-sections covering cargo services.
Almost every airline-handler relationship uses SGHA as the starting point. Some airlines layer carrier-specific amendments on top; some negotiate bespoke addenda for high-volume stations. But the bones of the contract — the service definitions, the rate-card structure, the dispute and indemnity language — come from the SGHA template.
If you’re doing air cargo handling and your invoicing logic doesn’t map cleanly to SGHA structure, your system is going to drift away from your contracts every time a rate amendment lands.
Anatomy of an SGHA
The template is structured into Main Agreement plus Annexes:
| Part | Purpose |
|---|---|
| Main Agreement | Indemnity, liability, governing law, termination, notices |
| Annex A | Services in general — the catalog of every service the SGHA covers |
| Annex B | Carrier-specific service selection — “we want services 1.1.1, 1.1.2, 2.1.3, …” |
| Annex C / SLA | Service-level agreements where applicable |
| Annex B sub-section (cargo) | Specifically the cargo handling section — acceptance, screening, build-up, breakdown, storage, documentation, messaging |
The crucial point: rates are not in Annex A. Annex A is a service catalog. Rates live in carrier-specific Annex B selections plus the rate schedules attached as appendices — usually with effective date ranges, weight breaks, and commodity-specific overrides.
Where the complexity lives
Two structural realities make SGHA-grounded billing harder than it looks:
1. Specificity matters
A rate card typically has many overlapping lines:
- A catch-all rate for “general cargo, any weight” — the fallback
- Weight-break lines (
0-100kg @ €0.50/kg,100-500kg @ €0.45/kg,500kg+ @ €0.40/kg) - Commodity overrides for PER, VAL, DGR, AVI, etc.
- Direction overrides for export versus import versus transit
- Special handling supplements for outsize, ULD-specific, cool-chain, etc.
When a charge fires for a real shipment, multiple rate lines could match. The correct one is the most specific. A handler that picks the catch-all when a more specific line existed is leaving revenue on the table; a handler that picks the wrong specific line is going to lose the dispute.
2. Versions are immutable; amendments create new ones
When you and the airline negotiate a rate change, you do not edit the old rate. You issue a new version of the rate card with a new effective date. The old version stays immutable, frozen with the rates that applied to shipments accepted before the amendment date. Auditing a months-old invoice means reading the rate card that was effective on the acceptance date — not the one that’s effective today.
A billing system that overwrites rates in place is a billing system that loses every dispute the moment a rate amendment lands.
Tolerance and approval workflows
Real handlers don’t auto-bill every charge to the airline without inspection. Standard practice:
- Charges within a configured tolerance (e.g. weight discrepancy within 2% of declared) auto-approve and batch into the next invoice run
- Charges outside tolerance route to a supervisor approval queue with full context attached — the matched rate line, the discrepancy, the operator who recorded it
- Approved charges flow into the invoice; rejected charges are dropped or re-classified
This isn’t bureaucracy — it’s the protection against billing the airline for things they’ll dispute.
How Skidd implements SGHA-grounded billing
Five concrete pieces:
-
Rate cards are versioned and immutable. Every amendment is a new version with effective date range. Disputes go to the version that was active on the acceptance date.
-
Specificity scoring. When multiple rate lines could match, Skidd scores each (commodity match, weight break match, direction match, etc.) and picks the highest score. The score is recorded with the charge so you can audit why a particular line fired.
-
Tolerance windows and approval queues. Configurable per airline; outliers route to supervisors with full context.
-
Manual charges captured against the shipment. Late-acceptance fees, special handling supplements, overstay overcharges — entered with operator id, attributed to the shipment, rolled into the next invoice.
-
Configurable invoice export. Approved charges roll into batches on the cycle you set — per airline, per station, per agreed run — and export as structured files for downstream finance. No manual re-keying.
What SGHA doesn’t cover
It’s worth being explicit about what is not in the standard SGHA template, because handlers sometimes assume it’s there:
- Per-airline operational SLAs — turn-around times, FSU emission promptness, etc. — usually live in Annex C if at all, and are often informal
- e-CSD compliance commitments — usually a separate compliance addendum or a regulatory obligation outside the contract
- System-of-record commitments — which platform handles the cargo isn’t in SGHA; that’s the handler’s choice and operational responsibility
If the airline is asking for any of those in writing, that’s an addendum to negotiate, not a clause in the standard template.
Where to read the source
The IATA SGHA is published as the Airport Handling Manual (AHM) chapter 810; it’s a paid publication. IATA also publishes a Standard Ground Handling Agreement Simplified (SGHA Simplified) for smaller relationships. Both are available through the IATA store. For commercial reading, work with someone who’s negotiated against the template before — the language is dense and the practical implications differ from the literal text in places that matter.