Most
books are barcoded. Publisher compliance to the EAN13 symbology
is almost total. Children's books and specialty products cause some
problems, but the overall standard of barcoding conformance is the
envy of other industries.
This
combination of industrywide agreement on item identification and
almost universal compliance to barcode standards makes book handling
an ideal candidate for automated warehouse systems.
However,
distributors are often dismayed to discover that they can't easily
scan a book jacket and extract the ISBN. This article explains why,
and what you can do about it.
About ISBNs
An
ISBN is a 10character string. The leftmost character is a 'Hemisphere'
number, and the rightmost is a checkdigit. The middle eight digits
are divided to identify the publisher and uniquely identify a title
from that publisher.
This
description could almost exactly be used to describe a 12digit
UPC or 13digit EAN code. However, there are two significant differences:

The
number of digits assigned to the publisher are not fixed. A
major publisher might be assigned a valuable twodigit number,
reserving six digits for his catalog of titles. A tiny publisher
might be assigned a sixdigit number, with only room for a few
titles. It is customary to separate these fields with a dash
in the humanreadable version.

The
checkdigit is calculated MOD11, which means that it may contain
the alpha character 'X' in addition to the numeric digits. An
ISBN cannot be stored as a number since it may be alphanumeric.
Bookland EAN
When
retail barcodes started to become ubiquitous, the publishers wisely
decided not to create their own symbology. They approached the EAN
organization, and cut a deal to map their ISBN numbers onto the
EAN13 barcode standards.
EAN
codes are administered on a national or territorial basis by 'Numbering
Organizations'. Since the publishers already had an international
organization, they were granted a fictitious country, 'Bookland',
and control over their numbers.
All
'Bookland EANs' start with 978 prefix. The usual nine digits that
represent the company and item numbers are mapped from the first
nine digits of the ISBN. The difficulty is that the checkdigit is
recalculated according to the EAN standards. The tenth ISBN digit
simply disappears.
The
significance is that the ISBN cannot be scanned out of the EAN barcode.
By discarding the EAN prefix, you may extract the first nine digits,
but then you must recalculate the ISBN checkdigit yourself.
Mass Market Books
If
you look at the back of a hardback or trade paperback, you will
see the humanreadable ISBN and, below it, an EAN13 barcode with
another humanreadable number.
However,
massmarket paperbacks often have a UPC on the back. Usually the
price is embedded in this UPC, either in the rightmost UPC digits
or in the supplemental barcode. Use of pricepoint barcodes mean
that the UPC cannot generally be used to identify the book.
Some
books have both UPC and Bookland EAN barcodes on the back. You may
have to check the inside front cover to find the Bookland EAN. If
you are automating your warehouse, you will have to train your staff
to only scan the barcode that starts with '978'.
Converting to ISBN
Some
highend retail scanning equipment will automatically convert a
Bookland EAN into an ISBN, but RF systems and simple wedge scanners
require you to implement the conversion in software.
The
algorithm is simple, and can be implemented in about four lines
of BASIC programming. Here's how to recalculate manually:
Start
with a 13digit EAN barcode, drop the 978 prefix, and save the next
nine digits. You can throw away the final digit  it's just the
EAN checkdigit.
With
your ninedigit number, multiply the first digit of the code by
10, the second digit by 9, the third digit by 8, and so on, adding
the results together (a 'sum of products').
Take
the modulus11 by dividing the resulting sumofproducts by 11 and
keeping only the remainder. For example, if the sumofproducts
is 174, then taking modulus11 leaves a remainder of 9 (hint: 15
times 11 is 165). The remainder will always be between 0 and 10.
Finally,
subtract your remainder from 11. If you end up with 11, use '0',
if you end up with 10, use 'X', otherwise use whatever you got,
glue it to the end of your nine digits, and voila: an ISBN!
As
well as being useful in the supply chain, this algorithm makes an
interesting math exercise for your child prodigy.
