In mid-July, Apple released the 2.7.1 update for iTunes Producer, the required software for uploading ebooks (and other media) and metadata to the iTunes Store. While I don’t like the fact that they require “a Macintosh with an Intel Core processor, at least 512 MB RAM, and Mac OS X v10.6 or later installed,” as I do most of my development on a relatively less expensive, but comparably powerful Windows machine – and my old MacBook was running an outdated version of OS X – I have grown to enjoy working with iTP and discovering all of its powers and quirks.
The first time I used iTP after updating to version 2.7.1 I was in the process of uploading a valid EPUB file and I encountered the following error:
ERROR ITMS-5077: “The currency attribute is required for suggested retail/physical list price.” at Book/Offer (MZItmspOfferPackage)
So, there is evidently something wrong with the way I’ve entered my pricing data. Or is there?
As you can see, everything appears to be in order for UK pricing (which I’m showing here because it eventually turned out to be the region that was the source of the problem). For this client, the title is to be sold with Tier 5 pricing in the UK, and this price is well below Apple’s allowed maximum price for the corresponding Physical List Price. All of my other territories were in order as well, so I assumed I was either not seeing something obvious, or there was an error in the way the data was uploaded to Apple.
I sent the error message to Apple, but I guess I didn’t word my question very well as they replied with the impression that I had already solved the problem. Unfortunately I do not have a record of my request, which was sent with the error reporting function in iTunes Producer. I assume the data of the error was sent along with my comments, but I can certainly understand if the support staff do not want to sift through code.
After a look at the iTP help files and a Google search for the specific error message both failed to turn up any solutions, I figured I should go through the raw data myself. Based on the error message, I deduced the problem must lie with the currency information in the <products> section of the title’s metadata. Compare the product entry for Canada below to the one for the UK.
Canada product entry:
<product> <territory>CA</territory> <cleared_for_sale>true</cleared_for_sale> <price_tier>5</price_tier> <release_type>other</release_type> <preorder_sales_start_date>2012-09-01</preorder_sales_start_date> <sales_start_date>2012-09-15</sales_start_date> <physical_list_price currency="CAD">19.99</physical_list_price> <drm_free>false</drm_free> </product>
United Kingdom product entry:
<product> <territory>GB</territory> <cleared_for_sale>true</cleared_for_sale> <price_tier>5</price_tier> <release_type>other</release_type> <preorder_sales_start_date>2012-09-01</preorder_sales_start_date> <sales_start_date>2012-09-15</sales_start_date> <physical_list_price>10.99</physical_list_price> <drm_free>false</drm_free> </product>
The problem is with the <physical_list_price> tag – normally, iTunes Producer will add the currency symbol to whatever number in entered into the Physical List Price field in the Rights & Pricing section, and one can usually assume that this currency code will be included in the metadata that is uploaded to Apple. In spite of the fact that this appeared correctly on the Rights & Pricing screen, it was not correctly read by iTunes Producer, which means this is a bug. I should also note that I originally had some problems accessing the Price Tier dropdown menu as well.
I solved the problem by first deleting that territory from the list using the Remove Territory button:
Then I re-added it using the Add Territory button, making sure the currency was registered in that field (again).
Finally, I saved my file and attempted re-delivery.
Success!
UPDATE: All was not well. See my next blog post to find out what happened next…