Marketplace Developer FAQ

What is an Instance Unit?
An Instance Unit is a unit of measure used to define pricing for certain Liferay Marketplace apps. An Instance Unit refers to a single installation of the Liferay Portal, which corresponds to one (1) Liferay Portal .WAR file.
Why is app licensing only on an Instance Unit basis?
For our initial launch, we wanted to keep the licensing process simple for users, while providing a model that fit the needs of many developers. We understand that a "per Instance Unit" licensing model (an Instance Unit refers to a single installation of the Liferay Portal, which corresponds to one (1) Liferay Portal .WAR file.) may not work perfectly for all developers. In these cases, we ask that developers try to adapt or convert pricing to a "per Instance Unit" model or let us know what other licensing models you'd like to see. If it makes sense and there is enough developer demand, we're certainly open to adding new licensing models. As we mentioned before, we will always try to strike a balance between simplicity/ease-of-use and flexibility. The initial launch is just that - a good starting point. We aim to continuously update and improve the Liferay Marketplace based on your feedback.
Why can I no longer access my App Manager?
Our new "User Manager" interface allows Developing Companies to specify roles for its members (you can check out the "Can You Explain the Different User Roles Available Within Projects and Companies?" FAQ here.). After selecting from the user dropdown, click on "User Manager" to see the screenshot below. Here, check the role "Developer" for all users that should have the ability to upload apps for review into the Marketplace.
Why is my Paypal account info required if I want to submit paid apps?
Money transfer via Paypal will be our primary means of paying developers for their app sales. Therefore, a valid Business or Premier Paypal account is required to receive payment. These accounts are free and easy to setup. You will be asked to provide this info when converting to a Paid App Developer Account (when you first attempt to submit a paid app to the Marketplace). Payments will be issued no later than 90 days after the transaction. Although we expect Paypal to be the primary payment processing method, Liferay reserves the right to use other services/methods to pay developers if necessary.
Do I need to specify taxes or VAT for my app?
Marketplace automatically calculates U.S. taxes and VAT for international sales for the currently supported countries, with the exception of S. Korea. If you are a developer from S. Korea, when a S. Korean buyer purchases your app, you must remit VAT manually to the S. Korean government. You can view your transaction history from your developer profile to calculate the amount you must remit.

What is the Marketplace refund policy?

Generally, all app sales are considered to be final. That being said, we firmly believe that develpers should stand by their products. If an app fails to do what it says it will do, we expect that developers will work with their customers to resolve the issue quickly and fairly. If a customer of a third-party app contacts Liferay about a technical issue or refund, Liferay will initially direct that customer to the third-party developer. This is why we require Support Contact Information during the app submission process. If the customer is unable to reach the developer after reasonable attempts and/or the app clearly does not perform as advertised, Liferay may issue a full refund to the customer and withhold associated payment to the developer. Liferay reserves the right to issue a refund for Marketplace apps for any reason. Whenever possible, we encourage developers to offer a trial period so that potential buyers can evaluate the app prior to buying. This can generate more interest in your app, while reducing the potential for refund requests.
Why are only certain currencies supported by Marketplace?
Although we want to support as many currencies as possible for the initial launch of e-commerce, we had a weigh/consider several factors when deciding to support a given currency: 1. Commonly traded in the global market. We choose the support the most active currencies in the world. 2. Largest customer base with Liferay. We had to factor in which currencies from our customers are most common. While we only have a few now, we plan to continue to look for ways to expand the list of currencies that the Marketplace supports. Stay tuned!
What is the difference between perpetual and non-perpetual licenses?
Perpetual and non-perpetual refer to the term of an app license. A perpetual license runs without expiration. A non-perpetual license requires users to renew the license every year.
Why are certain countries not supported by the Marketplace?
Although we tried to support as many countries as possible for the initial launch of e-commerce, we had a weigh/consider several factors when deciding to support a given country: 1. Local legal/regulatory requirements (sometimes the local requirements were far too complex to justify supporting for the initial launch). 2. Third-party vendor support (we use - and pay for on behalf of our developers - third-party vendors to process payment and calculate certain taxes; certain countries were not supported by the vendors that we currently use). 3. Compliance with U.S. Export Control and Sanction Laws That said, we plan to continue to look for ways to expand the list of countries that the Marketplace supports. Stay tuned!

Supported Countries:
  • Albania
  • Andorra
  • Argentina
  • Australia
  • Austria
  • Bahamas
  • Bahrain
  • Belgium
  • Belize
  • Bermuda
  • Bosnia-Herzegovina
  • Bulgaria
  • Canada
  • Chile
  • Colombia
  • Costa Rica
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Dominican Republic
  • Ecuador
  • El Salvador
  • Estonia
  • Finland
  • France
  • French Guiana
  • Germany
  • Greece
  • Greenland
  • Guatemala
  • Honduras
  • Hong Kong
  • Hungary
  • Iceland
  • India
  • Indonesia
  • Ireland
  • Israel
  • Italy
  • Jamaica
  • Japan
  • Jordan
  • Kuwait
  • Latvia
  • Liechtenstein
  • Lithuania
  • Luxembourg
  • Malaysia
  • Malta
  • Mexico
  • Netherlands
  • New Zealand
  • Norway
  • Panama
  • Peru
  • Philippines
  • Poland
  • Portugal
  • Romania
  • Russia
  • San Marino
  • Saudi Arabia
  • Singapore
  • Slovakia
  • Slovenia
  • South Africa
  • South Korea
  • Spain
  • Sweden
  • Switzerland
  • Taiwan
  • Thailand
  • Turkey
  • United Arab Emirates
  • United Kingdom
  • United States
  • Uruguay
  • Venezuela
  • Vietnam
How long does the app review process take?
Generally, the app review process takes about 1-3 weeks. But a number of factors can influence that timeline: app complexity (more complex apps will take longer to review), Marketplace volume (the process may take longer if we see an increase in app submissions), and issues encountered (the more potential issues we encounter with your app, the longer the process can take). We want to ensure you that our intention is not to be an obstacle in the process. We just want to ensure that a high level of quality is maintained in the Marketplace, which in turn will drive more interest in Marketplace apps. We love having new apps in the Marketplace, and our job is to help you get your app approved!
How do I handle plugin dependencies?
If your app requires installation of other plugins or apps in order to run, please specify this clearly in your app description and documentation. You should not package the required plugin(s)/app(s) with your app since this could inadvertently override an existing version. For Themes/Site Templates, the Marketplace will automatically package the latest version of Resources Importer with your Theme during the submission process.
Why am I required to submit a W-9, W-8BEN, or W-8BEN-E if I want to submit paid apps?
We require certain tax forms so that we can classify developers appropriately from a tax perspective and ascertain our tax reporting obligations.

1. For Individual developers residing in the U.S., please provide us with Form W-9.

2. Foreign developers (individuals) should provide us with Form W-8BEN to document their foreign status.

3. Foreign developers (corporates) should provide us with Form W-8BEN-E to document their foreign status.

4. No additional tax forms are necessary for U.S.-based corporate developers to submit paid apps (outside of the legal/incorporation document requested during the initial registration process).

Please refer to the IRS website for details.

Why is PACL required for paid apps?
Marketplace requires that paid apps enable PACL to specify ahead of time the portal resources they intend to access in the liferay-plugin-package.properties file. By enabling PACL and leveraging the Java SE Security Architecture, Liferay Security Manager helps maintain a safe and protected portal for your users.

Note: To ensure full compatibility with PACL, paid apps should be developed to run on Liferay Portal 6.1 GA3 or later (6.1.2+ and/or 6.1.30+).

What is FATCA and what are my tax implications?
FATCA stands for Foreign Account Tax Compliance Act. While FATCA targets tax non-compliance by U.S. taxpayers with foreign accounts, it also impacts any entity making a payment of U.S. source income to non-U.S. persons. In particular, U.S. sourced non-perpetual license income (considered to be royalty income) paid to foreign developers may now be subject to a 30% withholding tax under FATCA. This will require Liferay to maintain documentation on foreign developers (W-8BEN/W-8BEN-E) and also track how those persons are classified under FATCA. In summary, the withholding tax will impact 1) foreign developers 2) selling non-perpetal licenses 3) to be used in the U.S. As of now, perpetual license sales won't be impacted.

Although each foreign developer's situation is unique (and we recommend that you consult with your lawyer and/or accountant for specific advice), we anticipate that most Marketplace developers will fall into the "Active NFFE" classification in the W-8BEN-E.

For more information, please refer to the IRS Website.

Why do I get the "Eligible Liferay versions were not found in liferay-plugin-package.properties" error when trying to upload my app to the Marketplace?

You may see this error for 2 possible reasons:

  1. You've specified an invalid portal version in your liferay-plugin-package.properties file (eg., "6.9.10" - portal version doesn't exist, "6.1.X.Y" - unrecognized version format, etc.).
  2. Your app has PACL turned on and you've specified compatibility with a portal version of 6.1 GA2 or earlier. PACL is currently supported only for apps running under 6.1 GA3 (6.1.2+, 6.1.30+) and later. Please update the liferay-plugin-package.properties file to reflect these later versions.