Before You Start
Your app needs to be registered, provisioned, and tested, and you need to Become a Seller to list it. Deploy your app to a public URL with HTTPS and update its URLs to production in the app manifest before you submit.The Listing Manifest
You define your listing in a manifest. SetdistributionType to PUBLIC to list it in the App Store.
Filling in your Listing
Before you submit, replace any development placeholders with production content:- Icons and screenshots: Replace placeholder URLs with your production assets hosted at stable, publicly accessible URLs. Provide both light and dark icon variants.
- Names and descriptions: Finalize the copy for every locale you support (
name.{locale}.short,name.{locale}.full,description.{locale}.short,description.{locale}.full). - Benefits: Provide three to five localized benefits describing the value your app offers merchants.
- Compatibility: List the supported JTL products and specify a valid minVersions entry for each.
- Support URLs: Set
support.url.{locale}andsupport.documentation.{locale}to publicly accessible support and documentation pages. - Legal URLs: Ensure
legal.privacyPolicy,legal.termsOfUse,legal.gdpr.request, andlegal.gdpr.deleteall point to published pages. These are required for JTL compliance.
Pricing
Public listings must define at least one subscription tier underpricing.subscriptionTiers, up to a maximum of four.
You can configure your pricing tiers now, but merchant billing through them is not yet available. Defining your tiers now ensures your listing is ready when billing becomes available.
- an
id - locale-keyed
content(its name, description, and up to ten features) - pricing information
isFree to true. For paid tiers, set isFree to false and specify monthlyPriceEur. Use isMostPopular to highlight a single recommended tier.
A listing can contain only one free tier and only one tier marked as most popular. Subscription tiers are displayed in ascending price order, with the free tier appearing first.
Create the Listing
Create your listing as a draft. All three paths produce the same listing.- CLI
- Listing Wizard
If you’re using one of the JTL Cloud App starter templates, update the If you’re building your app from scratch:The CLI reads your
listing.json file in your project root, then create the listing draft:- Create a
listing.jsonfile in your project root - Generate the listing draft:
listing.json and creates a listing in the DRAFT state in the Partner Portal.Once the listing is created, use the returned URL to open the listing in the Partner Portal to review and submit it.Submit for Review
Submit your listing when it’s complete. JTL validates it, and if anything required is missing, you’re pointed at the fields that need attention. Your listing stays inDRAFT until you submit it. After you submit, it moves to SUBMITTED and enters review.
Review and Publication
Your listing moves through these states:
While your listing is
SUBMITTED, IN_REVIEW, or APPROVED, it’s locked for editing. If it’s rejected, edit it to address the feedback and submit again.
Pre-submission Checklist
Confirm everything is in order before you submit:What’s Next?
Share a Private App
Prefer to limit access? Share your app with selected merchants using activation codes.
App Shell & UI
Add panel views, custom tabs, and deeper ERP integration to your app.





