Skip to content

Migrating catalog data: exporting MARC records

This guide is about the export side of a catalog migration: getting your titles and copies out of your current library system in a shape Lyra can read cleanly. Once you have a good file, Catalog import covers loading it; this page is what to ask your old system for, and how to tell a good export from a bad one.

There are two paths, and the choice is easy: use MARC if your system can produce it, and a prepared spreadsheet only if it can’t. Nearly every ILS — Follett Destiny, Alexandria, Atriuum, and the rest — can export MARC, so for most migrations that’s the path.

Ask your current system for a MARC 21 export of your full catalog with copy (holdings) data included. That last clause is the single most important detail of the whole migration. Four things to get right:

  • Include copy data. Many systems default to exporting bibliographic records only, which gives you titles with no barcodes, no call numbers, and no per-copy information. The whole point of migrating is the copy data. Make sure the export embeds holdings (the MARC 852 fields), not just bib records. Lyra creates one copy per 852 (it also reads Koha-style 952 and MARC 21 Holdings 876/852); a bib-only file imports as titles with no copies.
  • Export everything. Unless you have a specific reason to scope down, export all records. It’s easier to weed inside Lyra after import than to discover you left titles behind.
  • Use UTF-8, not MARC-8. Older systems default to the MARC-8 (“ALA”) character set, which can’t represent the full range of accented characters and non-Latin scripts. If your collection has any Spanish, French, or other non-English titles, insist on a UTF-8 export. The most common post-import complaint — “the accents look wrong” — is a MARC-8 export that should have been UTF-8.
  • Don’t use any “delete after export” option. Some systems offer to delete records as they export them. It’s destructive and there’s no good reason to use it during a migration.

The result should be a binary MARC 21 file (.mrc or .marc). On import, Lyra reads the 852 holdings fields directly to create copies — barcode, call number, and location each come from specific subfields. The exact subfield-to-field mapping (and the full list of bibliographic fields Lyra reads) lives in Catalog import formats → MARC fields and How Lyra reads holdings; you don’t need to memorize it to produce the export, but it’s worth a glance if your holdings are stored unusually.

The four recipes below are the click paths as each vendor’s own documentation gives them, linked at the end of each. Menus move between versions and your role changes what you can see, so treat the labels as what to look for rather than as a guarantee — but the option names are the ones the vendor uses.

  1. Select Catalog ▸ Export Titles.
  2. Under Select, choose All.
  3. Next to Include, choose All records.
  4. Check Include copy information. This is the option the whole migration turns on; without it you get titles and no barcodes.
  5. Leave Delete titles/copies after export unchecked.
  6. For the character set, choose UTF-8. Destiny offers ALA as the default and its help says ALA suffices for most records — it does not suffice for a collection with any accented titles, and this is the setting behind almost every “the accents look wrong” report.
  7. Click Export. Destiny runs it as a job and writes a Job Summary with a link to download the file.

If you navigate away before downloading, the file is still in Job Manager — under Back Office in current versions, Admin or Setup in others — where you click View beside the completed Export Titles job and take the link from the summary.

Two things Follett documents about the file itself: the owning site’s Short Site Name is written into 852 ‡a, and every copy field except Notes is exported, which is the concrete form of the copy-notes caution above.

Follett’s own instructions

  1. Go to Operations ▸ Export, or add /export to the end of your Alexandria URL.
  2. Unlock the window and click Add export.
  3. Under the Items category, choose Export Items, Copy Based — COMPanion describes it as exporting items (titles and copies) based on copy selections. Export Items, Title Based also carries copies; Export Items, Titles Only does not, so it is the one to avoid.
  4. Use the Selections tab to scope the export. For a migration, leave it covering everything.
  5. On the Options tab, set the format to MARC. Tab Delimited is the format that needs field mapping, and MicroLIF is a legacy vendor format; neither is what you want here.
  6. Click Run.
  7. The export goes into the Operations queue. Once its status reads Completed, download the file from there.

COMPanion’s documentation doesn’t describe a character-set option on export, so there’s nothing to set — check the accents on your staged records and re-export if they come through wrong.

COMPanion’s own instructions

  1. Click Catalog in Atriuum’s menu bar. Under Import/Export, click Export MARC.
  2. Stay on the page that opens, which is the holdings export. Put your records into the queue with Add, Lookup, or Filter; Filter with nothing narrowed queues the whole collection.
  3. Check Place copies together in same MARC record. Without it Atriuum writes one MARC record per holding, so three copies of a title leave as three separate records.
  4. Remove Custom 852 Data strips Atriuum-specific values from 852 ‡x. Lyra ignores that subfield either way, so it makes no difference to the import; leave it as you find it.
  5. Click Export Queued Records, then Download This File.

Book Systems’ documentation doesn’t describe a character-set option here either, so the same advice applies: check the accents on the staged records.

Book Systems’ own instructions

  1. Go to More ▸ Cataloging ▸ Export ▸ Export catalog data. The account needs the export_catalog permission.
  2. Stay on the Export bibliographic records tab.
  3. Leave the filters alone to export everything. One trap: With items owned by the following libraries is a filter, and while it is set, records with no items attached are left out — clear all libraries if you want those too.
  4. Leave Don’t export items unchecked. Koha exports items by default, and that checkbox is the one way to end up with bib records and no copies.
  5. Set File format to MARC, not MARCXML. Lyra reads binary MARC 21.
  6. Click Export bibliographic records.

Koha writes copy data into the 952 field, which is the convention Lyra reads first, so a Koha export carries barcodes, call numbers, shelving locations, acquisition dates and prices straight across.

The Koha manual

Every other ILS a K-12 library is likely to be on can do this too; only the wording moves. Ask for, or look for, a MARC 21 export including holdings (item) data, in UTF-8. If the menu offers a choice between MARC and MARCXML, take MARC. If you can’t find it, your current vendor’s support can produce the file for you — this is a routine request, and they are obliged to give you your own data.

If your system genuinely can’t produce MARC (or you’re starting from a vendor report rather than an existing catalog), Lyra’s importer also accepts a spreadsheet — an Excel file as it comes out of your old system’s reporting screen, .xlsx or the older .xls, or a .csv. There isn’t one catch-all format — there are three templates, and Lyra works out which one each file is from its column headings, so you drop your files in rather than sorting them first:

  • Books by ISBN (Books by ISBN) — you supply the ISBN plus your copy details (barcode, call number, location, price), and Lyra fills in title, authors, description, cover, topics, and edition data from its book-data provider. For a book collection this is far less work than typing out bibliographic data by hand.
  • Books by title (Books by title) — for the shelf list your old system actually gave you: title, author, call number and barcode, no ISBN. Lyra imports it as written, with no lookup, so you keep your catalog’s own titles and authors but get no covers or topics. This is the path for a Destiny shelf list or an Alexandria item report you can’t turn into MARC.
  • Non-book items (Non-book items) — for globes, kits, equipment, and the like, where there’s no ISBN to look up. You provide the title and copy details.

Your column headings don’t have to match ours. Lyra recognizes Holdings Barcode, Author's Name, Call Number, Date Added, Sublocation(s) and the other labels these systems write. When you import, a mapping step shows what Lyra read each column as, filled in from those labels, and you confirm or correct it there instead of rewriting the file.

A few things to know while you’re preparing the file: each row is one copy, not one item — rows that share an ISBN collapse into a single item with multiple copies — and you can upload files for several templates together as a single import — including alongside a MARC export, if part of your catalog came out one way and part the other. If your report opened in Excel, upload the workbook rather than converting it to CSV: the conversion is where accents and long ISBNs get mangled, and Lyra reads the workbook — every sheet of it, each against the template its own columns matched, so an export with a sheet per item type goes up in one piece. The column-by-column contract (what each column accepts, what a blank means), the downloadable starter templates, and the Excel gotchas (long ISBNs turning into scientific notation, stripped leading zeros) are all in Catalog import formats and Imports troubleshooting. Build your file against those, then come back to import it.

Import it staged, and spot-check before you commit

Section titled “Import it staged, and spot-check before you commit”

However you produce the file, import it with setting: Stage for review rather than adding straight to the catalog. Staging holds every record in a tab: Ready to add list and puts nothing live until you say so, which is exactly what you want on a migration: it lets you catch a bad export before it touches your catalog.

The thing staging buys you most is a free do-over on encoding. If diacritics and accented characters look wrong in the staged records, your export was MARC-8, not UTF-8 — and because nothing is live yet, you can set the staged records aside on each tab (check the header box, select all matching, and choose button: Ignore) and re-export with the correct character set without ever polluting your catalog. Check editions and locations too: Lyra groups copies by ISBN into editions, so a multi-edition title may group differently than your old system’s bib model did.

When the staged records look right, commit them. The full staging workflow (the tab: Ready to add / tab: Issues / tab: Ignored tabs, resolving exceptions, and adding to the library) is in Catalog import.

  • Catalog import — the importer itself: accepted formats, the staging workflow, and how to resolve exceptions.
  • Migrating patrons — the companion migration, for people instead of items.
  • Term mapping — how your old system’s catalog vocabulary lines up with Lyra’s.
  • Migrating to Lyra — back to the overview.