In-app purchase setup checker
Paste your list of planned in-app purchases (or open a .storekit file) and this page tells you what App Store Connect will refuse before you type it in: product IDs with characters Apple does not allow, names over 30 characters, descriptions over 45, missing languages, subscriptions without a group or with a duration Apple does not offer, and introductory offers Apple's table does not allow. Each finding links the Apple page it comes from. You also get a corrected list and a checklist in the order App Store Connect asks for things.
Your planned in-app purchases
Paste CSV (a header row, or columns in the order below), rows copied from a spreadsheet, or a .storekit file. Use one row per product and language. Nothing is uploaded.
Columns: product_id, type, reference_name, price, group, level, duration, intro_offer, locale, display_name, description, review_notes, review_screenshot
Paste a list or open a file to check it.
When products still come back empty
How it checks
- •What it does: reads CSV, rows pasted from a spreadsheet, or a .storekit file; groups rows by product ID; checks each product against the rules Apple writes on its App Store Connect help pages; lists findings with a link to the page; makes a corrected CSV; and writes a step-by-step checklist for App Store Connect.
- •Rules come only from Apple's pages: In-App Purchase information (ID characters and 100-character limit, reference name up to 64, display name 2 to 30, description up to 45, review notes up to 4,000, at least one language, IDs cannot be reused), Auto-renewable subscription information (durations, levels, no control characters, markup or emoji in subscription names), Set up introductory offers (the duration table), and Submit an In-App Purchase (first purchase of a type goes with an app version, groups go with a subscription, up to 200 items per submission).
- •Anything Apple does not write is marked "Our suggestion": reverse-DNS IDs, the same languages on every product, a level for every subscription, and length targets for subscription names.
- •The corrected list only makes safe changes: Apple's type names, durations written as P1M or P1Y, and characters Apple refuses in IDs replaced with an underscore. It never shortens your names; the findings say which ones to shorten.
- •For an introductory offer, write the type, price and length, for example "free P1W", "payUpFront 9.99 P3M" or "payAsYouGo 0.99 P1M x3". That is the same short form the StoreKit file viewer uses in its CSV.
What it does not do
- •It does not connect to App Store Connect, so it cannot see IDs you used before and deleted. Apple says those can never be used again in the same app; check your old list yourself.
- •It does not check prices against Apple's price points or currencies.
- •It does not look at review screenshots or judge whether App Review will accept the wording. If you add a review_screenshot column, it only reads yes or no.
- •It does not cover offer codes, promotional offers or win-back offers.
- •It does not save your list. Close the tab and it is gone.
Questions
- What columns does the CSV need?
- product_id, type, reference_name, price, group, level, duration, intro_offer, locale, display_name, description, review_notes, review_screenshot. With a header row the order can be anything and extra columns are ignored. Without a header, use that order. Add one row per language, repeating the product ID.
- Can I reuse a product ID after deleting the purchase?
- No. Apple's In-App Purchase information page says a product ID cannot be reused for another purchase in the same app, even after you delete the original. The ID also cannot be edited after you save it.
- Do my first in-app purchases need a new app version?
- Yes. Apple says the first purchase of each type goes in the same submission as a new app version, and the first subscription group goes with at least one subscription. After the first one of a type is approved, you can submit more of that type without a version.
- Which subscription durations can I choose?
- 1 week, 1 month, 2 months, 3 months, 6 months and 1 year. Apple says the duration cannot be changed after you submit.
- Which introductory offers are allowed?
- Free trials of 3 days, 1 or 2 weeks, 1, 2, 3 or 6 months, or 1 year; pay up front for 1, 2, 3 or 6 months or 1 year; and pay as you go for up to 12 months (12 weeks for a weekly plan) in periods of the subscription's own length. Each customer can use one introductory offer per subscription group.
- Is anything uploaded?
- No. The list and any file you open are read in this page only.