File Importer

The File Importer converts any material list file — XLSX, XLS or CSV — into the CSV templates required by the Procurement Cockpit (supply package) and by Evaluator › Lists (material list). It handles the messy realities of material list files: multiple sheets, non-zero header rows, inconsistent column names, free-text condition values, and missing part attributes.

The importer runs as a five-step wizard.

File Importer — five-step wizard overview

Access & authorisation

The File Importer is reached under Tools › File Importer in the top navigation. If the entry is not visible, request access from your company administrator.

Note

The material list file never leaves your browser. Parsing, header detection, column mapping, condition normalisation and preview rendering are all done client-side. Only the final CSV — which you can inspect and download before submitting — is posted to IATA MRO SmartHub.

Step 1 — Source file

Drop one or many material list files onto the drop zone (or use Choose files). Accepted formats:

  • .xlsx and .xls — every sheet in the workbook is read.

  • .csv — treated as a single sheet.

You can add more files at any point in Step 2. The first filename you drop becomes the default output filename prefix; the per-row mfr value is derived per sheet from filename + sheet name, so multiple sheets from the same workbook still carry distinguishable provenance through to the output.

File Importer — Step 1, drop zone

Step 2 — Sheets & header rows

Every sheet from every dropped file is listed here, grouped by source file. For each sheet you can:

  • Toggle inclusion with the checkbox on the left. Only ticked sheets flow into the mapping step.

  • Set the header row — by default row 0 is treated as the header. If a sheet has empty rows or a title block above the real header, either type the correct row index or click Auto-detect.

  • Preview the first rows in the on-screen table (up to 12 columns).

  • Open Extended settings to enable forward-fill blanks on individual columns — the last non-empty value is copied into the rows below (per sheet). Columns with a high blank rate carry a yellow % blank tag so you can spot merged-cell artefacts quickly.

KPIs at the top summarise the currently-active selection: total rows, number of active sheets, unique column names across all sheets, and number of source files. Use Add more files to append additional workbooks without leaving the step.

File Importer — Step 2, sheets and header rows

Step 3 — Column mapping

Map each target field (the columns IATA MRO SmartHub expects) to a source column from your file, or to a constant value, or leave it blank in the output. The wizard splits the mapping into two tables:

  • Mandatory fields — must be mapped for the output to be usable. part_number and qty are required. condition is technically optional; if not mapped, the default condition chosen in Step 4 is used for every row.

  • Optional fieldsdescription, price_usd (default 1 USD), serial_number, msn_tail_sign, location, tag_date, tag_from, tag_details, applicability, comment.

Note

The mfr column is not mapped here. It is derived per row from the source filename and sheet name so that provenance is always traceable in the output.

Auto-mapping via the catalogue

When the step opens, the importer tries to auto-map every target field using the synonym catalogue — a per-company dictionary of known source-column names (e.g. PN, P/N, Item Nopart_number). A message at the top of the step tells you how many fields were resolved and prompts you to fill in the rest.

Any manual mapping you choose is remembered on submit: the new synonyms are added to your company’s catalogue, so the next file that uses the same column names is auto-mapped without any input.

Live preview

Below the two mapping tables, a Live preview shows the first eight mapped rows with the resolved values for part_number, description, qty, condition and mfr. Any change in the mapping tables updates the preview instantly.

File Importer — Step 3, column mapping

Step 4 — Condition normalisation

Material list files rarely use the six canonical IATA MRO SmartHub condition codes. The importer collects every distinct raw value found in the condition source column and lets you map each one to a canonical code:

Code

Meaning

NE

New

NS

New Surplus

OH

Overhauled

SV

Serviceable

AR

As Removed

US

Unserviceable

The frequency column shows how many rows carry each raw value so you can prioritise the ones that matter. Values that were already known from the condition dictionary come pre-mapped; new mappings you make are saved back to the dictionary on submit and pre-applied next time.

Two global controls sit above the table:

  • Default condition — used when the raw value is empty or when a value is not mapped. Defaults to AR.

  • Stash original condition in mfr — appends …-conditionOld:XX to the mfr field so that the original material condition is not lost after normalisation. Recommended when you are consolidating a mixed-quality material feed.

The CUE domain rule

A checkbox at the bottom activates a domain-specific rule:

Rewrite CUE-domain parts to NE (keep original condition in mfr).

Consumables and expendables (CUE) are almost always sold as new; when enabled, any row whose resolved material domain is CUE has its condition rewritten to NE. The original condition is preserved in the mfr field regardless of the Stash original condition toggle above. Leave this on unless you have a specific reason to keep non-NE conditions on CUE parts.

File Importer — Step 4, condition normalisation

Step 5 — Final preview & export

The last step shows the fully-processed rows in two shapes on separate tabs:

  • Procurement — matches the /procurement-listings upload schema. Columns: partNumber, condition, quantityOffered, priceUsd, serialNumber, msnTailSign, location, tagDate, tagFrom, tagDetails, applicability, description, mfr, comment.

  • Material List — matches the /material-lists upload schema. Columns: partNumber, mfr, partCondition, partQuantity, partUnit, priceUsd. Rows with qty 0 are dropped automatically — a material list is a valuation input, not an availability list.

At this stage the importer has already applied the usual cleanup: part_number values stripped of \r\n and stray leading commas, rows with an empty part_number dropped, qty coerced to numeric.

KPIs at the top of the step show the resulting procurement row count and material row count. The Output filename prefix field controls the filename for downloads (default: derived from the first source file).

Each tab exposes two actions:

  • Download CSV — writes the file locally as <prefix>-<timestamp>.csv (semicolon-separated). Useful when you want to inspect or archive the CSV before uploading, or when the destination is not IATA MRO SmartHub.

  • Add to Procurement Cockpit / Create material list — posts the CSV directly to the corresponding endpoint. A dialog asks for the metadata the destination needs (package name + supplier, or list name + partner) and confirms the upload in one step.

File Importer — Step 5, final preview and export