Let’s say you finished reading a library (e-)book, but you have to return it to the library. How do you add it to your Finished list in Apple Books?
There are three ways, from easiest to hardest:
Method 1:
- Go to Apple Books > Search
- Find the title of the book in Apple’s ebook store. Download the book sample.
- Hit the ellipsis (…) next to the book sample and Add it to your Finished collection. Then remove the book from your Sample collection. (You could also try not even getting the sample, and instead just adding it to Finished directly from the store page, as shown in the screenshot below and on this Apple support page – but this method is a bit less durable from what I’ve seen.)

Method 2:
But what if the book you just read from the library doesn’t exist in Apple Books? Then it’s a little more involved, but you can still add it, in less than 5 minutes:
- Open Pages on your Mac. Pull down the File menu. Hit New. Select Book.
- Pick any Portrait book. You don’t have to type anything on any page.
- Pull down the File menu and hit Export to EPUB.
- Fill in the Author and Title fields.
- For Cover, select Choose an Image, and use the book cover from Amazon.

Then save the EPUB and import it into Apple Books. Open the book one time. (this seems to help with synchronization) Add it to your Finished collection and you’re done. You will now see it in the list of books you’ve read for the year:

Method 3:
What if you read a library book back in 2019, added it to your Finished Collection using Method 1, then it disappeared due to a bug in Apple Books?
You could add it back in, but then it says you completed the book in the current year.
How do you change the year that you completed the book in?
Now it gets more complicated.
And there’s a catch: The instructions below currently only work on the Mac. I haven’t figured out how to get it to sync date-finished changes to the iPhone or iPad yet.
- In Apple Books, add the book back into your Finished collection
- Close Apple Books
- Make a backup copy of all files in
/Users/your_username/Library/Containers/com.apple.iBooksX/Data/Documents/BKLibrary/
- Install the free open source DB Browser for SQLite with
brew install --cask db-browser-for-sqlite
- Open BKLibrary…sqlite in DB Browser for SQLite.
- Go to Browse Data.
- Pull down the Table dropdown on the top left and select
ZBKLIBRARYASSET
- In the Filter menu on the top right, type the name of the book with the wrong finished date.
- You should see
ZISFINISHED
is equal to 1 - You will see a
ZDATEFINISHED
entry in Epoch time relative to 1JAN2001. For example, 606188764.16045 = Mar 17, 2020. Let’s say you want to change this to December 27, 2019. - Convert December 27, 2019 to 599183734.16045 Cocoa Core Data / Mac Absolute Epoch time
- Save and exit DB Browser for SQLite. Open Apple Books again and you’ll see the book finished in the right year.

If you want to quickly see all finished books with their completed dates, you can run the following in the Execute SQL box:
SELECT ZTITLE, strftime(%m - %d - %Y', datetime(ZDATEFINISHED+978307200, 'unixepoch', 'localtime')) FROM ZBKLIBRARYASSET WHERE ZISFINISHED='1';

The current problem I have (even before I did any database editing) is getting the Finished list to sync between iPhone, iPad, and macOS. macOS has the most complete collection of finished books, followed by iPad (which is missing one I added on the Mac), followed by iPhone (which is almost void of any finished books, but then a day later had almost all my books in the right place). There are some serious bugs with synchronization of finished books. Everything else (reading time, etc.) syncs though.
I wish Apple would make editing your finished dates easier, and I’ve sent Apple feedback on this. If you feel the same way, let them know on their feedback form.
References:
- Use advanced book creation options in Pages (Apple Support Article)
- Create an EPUB book in Pages (Another Apple Support Article)
- iBooks Series Metadata (post on StackExchange)
- Timestamp Columns in SQLite DB
You must be logged in to post a comment.