Duplicate Records in Koha: Matching Rules, ISBNs, and Control Numbers

Learn how Koha matching rules work, why duplicate records occur during import, and how to prevent them using ISBNs, control numbers, and title matching.

Duplicate Records in Koha: Matching Rules, ISBNs, and Control Numbers

Duplicate bibliographic records are one of the most common problems in Koha migrations and batch imports. They happen when Koha cannot recognise that an incoming record matches an existing one.

This article explains how matching rules work, why duplicates occur, and how to reduce them.

What is a matching rule?

A matching rule tells Koha how to compare an incoming record against existing catalogue records.

If a match is found, Koha can:

  • ignore the incoming record;
  • replace the existing record;
  • add the incoming record as a new record.

If no matching rule is set, Koha typically adds every incoming record as new.

Why duplicates happen

1. No matching rule selected

If no matching rule is active, every imported record creates a new bibliographic record, even if the same title is already in the catalogue.

2. Matching field is missing or inconsistent

If the matching rule uses ISBN but some records have no ISBN or have inconsistent ISBNs, those records may not match correctly.

3. ISBNs are formatted differently

Matching on ISBN can fail if one record stores 9780060723804 and another stores 9780060723804 (hardcover). The qualifier makes them look different even though they share the same ISBN.

Cleaning ISBNs before import helps matching rules work reliably.

4. Control numbers are missing or inconsistent

Control number matching can be powerful, but it requires the incoming records and existing records to use the same control number format.

5. Records represent different editions

Two records may have the same ISBN if the same ISBN was reused or printed incorrectly. Human review may still be needed to confirm whether records are truly duplicates.

Common matching points

Match point Notes
ISBN (020 $a) Reliable when ISBNs are clean and consistent
ISSN (022 $a) Useful for serials
LCCN (010 $a) Good for LC-sourced records
System control number (035 $a) Good for same-system batches
Title and author Less precise; may produce false matches
Local identifier Reliable within one system

How to test matching rules

Test matching rules before full import.

  1. Create a small test file with a mix of records.
  2. Include records already in your catalogue.
  3. Include records not yet in your catalogue.
  4. Stage the file with the matching rule active.
  5. Review the match counts in the staging results.
  6. Check whether matches are correct.
  7. Adjust the rule before full import.

How MARCReady helps

MARCReady can detect potential duplicate records within an uploaded file by comparing ISBN-13 values and title similarity across records. Records that appear to be duplicates within the batch are flagged for review before export.

MARCReady also cleans ISBNs before export, which improves the reliability of ISBN-based matching rules in Koha:

  • qualifiers are moved from $a to $q;
  • ISBN-10 values are converted to ISBN-13;
  • invalid ISBNs are flagged.

Next Steps

More in Resources & Guides

Was this article helpful?

Thanks for your feedback!