DEV Community

Cover image for What are JTL Cloud Apps?
Demola Malomo for JTL-Software Engineering

Posted on Originally published at developer.jtl-software.com

What are JTL Cloud Apps?

If you've built anything for the ERP system, you know the usual routine. A merchant needs something the ERP doesn't do out of the box, so you build it. Then you install it on their server, configure it for their setup, and keep it running. Then the next merchant asks for something similar, and you do it all again.

That model has kept a lot of agencies busy for a long time. It also has a ceiling. Every client is its own deployment and its own maintenance window, and every update has to be rolled out one install at a time.

Cloud Apps change that. In this guide, I'll cover what Cloud Apps are, what you can build with them, and why they're worth a serious look whether you run an agency, own a product, or write the code.

What are JTL Cloud Apps?

A Cloud App is a web application that you host and connect to JTL. It can appear directly inside the Cloud ERP, work with a merchant's JTL data through the platform APIs, and react to changes through webhooks. Merchants can get your app through the JTL App Store or, for customer-specific solutions, through private distribution with an activation code.

That means you can build a product around JTL without building a desktop extension, maintaining software on a merchant's machine, or asking users to leave their ERP every time they need your functionality.

How Cloud Apps Work

The architecture follows four moving parts:

  • Your app's frontend, which runs inside the JTL platform in an iframe and looks and feels like part of the product.
  • AppBridge, the channel between your frontend and the JTL platform. Your app uses it to ask for things like the current user's token or the record they're looking at.
  • Your backend, which talks to the JTL Cloud API and ERP to read and write merchant data.
  • Webhooks, which tell your backend when something happens in ERP, such as a new order or a stock change.

Diagram of how a Cloud App works: frontend, AppBridge, backend and webhooks

You host the frontend and backend wherever you like, on any cloud provider in any language. JTL handles the parts you'd rather not build yourself: identity, installation, permissions, and getting your app in front of merchants.

Where your App Shows Up

A Cloud App can meet the merchant in a few different places, and most apps combine two or three of them.

Menu items.

Your app gets its own entry in the Cloud ERP navigation and opens as a full page. This suits dashboards, configuration screens, and anything the merchant visits on purpose.

Context-aware Panels.

Panels are useful when the right information depends on what the merchant is currently looking at. For example, imagine a merchant opens a customer record; your app could show:

  • Recent support conversations
  • Outstanding balances from another system
  • Customer-specific recommendations

Backend automation.

Not every Cloud App needs a visible screen. You can also build services that work in the background using the JTL APIs and webhooks.

For example, a stock monitoring service could listen for inventory changes and notify a merchant when an item falls below a threshold. An integration could react to a new order and send the data to an external fulfillment or accounting system.

What can you Build with JTL Cloud Apps?

The better question isn't what kind of app you can build. It's what part of a merchant's workflow you can make better.

Here are a few examples:

A Reporting Dashboard

A retailer wants better visibility into sales performance than the standard reports provide.
You could build a menu item app that pulls data from ERP, combines it with data from other systems, and presents a dashboard for things like sales by channel, product performance, and inventory value.

The merchant gets a purpose-built view without having to export data and build spreadsheets every week. You build it once, and every merchant with the same question can install it.

A Customer Context Panel

You run a customer support tool. Your users keep switching between your helpdesk and the ERP to answer questions like "where's my order?" or "has this customer returned things before?"

You build a Panel that opens beside the customer record in the ERP and shows their open tickets and recent conversations. Now the support history sits next to the order history. Nobody copies customer numbers between tabs, and your product becomes part of the merchant's daily routine instead of another tool they have to remember to open.

Stock Alerts

A merchant's purchasing team keeps finding out about low stock after a product has already sold out. You build an app that subscribes to stock change webhooks, compares levels against thresholds the merchant sets, and posts an alert to their team chat or sends an email.

It's a small app, but it solves a problem that costs real money every time it happens. Small, focused apps like this are often the easiest to sell.

An Integration with an External Service

You offer a shipping, payment, or accounting service, and your customers want it connected to their ERP. Instead of a sync you maintain per client, you build a Cloud App. The merchant installs it, connects their account on your configuration page, and your backend takes it from there.

This pattern is useful for products where the main value comes from connecting JTL to something else.

How JTL Cloud Apps Differ from Traditional Extensions

If you're used to on-premises integrations, the biggest shift is where the responsibility sits. The table below compares the two models on the points that affect your day-to-day work.

Cloud App Traditional extension
Where the code runs On your infrastructure On or near the merchant's server
How updates reach merchants Deploy once, every merchant has it Rolled out per installation
How access is granted Merchant grants scoped permissions at install Credentials and network access per client
How merchants find you App Store listing, plus private sharing Sales calls and referrals
What you maintain per client Their settings in your system The whole deployment
How the app accesses JTL Platform APIs, AppBridge and webhooks Extension-specific integration mechanisms
User experience Can appear inside the ERP Depends on the extension model

The access model is one of the bigger differences.

With a Cloud App, you don't need to store a merchant's ERP credentials. The merchant grants your app specific permissions, and those permissions determine what the app can access. When the app acts on behalf of a user, the user's permissions also apply.

That gives you a clearer security model to work with and makes the conversation with a merchant's IT team much simpler: here's what the app needs access to, here's why it needs it, and here's what it can do with that access.

The other big difference is that the application itself is yours to run and operate. You can choose the web technologies, infrastructure, database, and deployment process that fit your product. You build and deploy the app on your own infrastructure, while JTL provides the platform APIs and app integration points it needs to work with the ERP.

This also changes how you think about distribution. Instead of deploying software into each merchant's environment, you can publish your app to the JTL App Store or share it privately with selected merchants. One application can serve multiple merchants without you maintaining a separate deployment for each one.

That's the basic shift with Cloud Apps: JTL provides the platform, and you own the application.

What are the Benefits of JTL Cloud Apps?

The benefits of Cloud Apps look different depending on your role.

For Business Owners

Cloud Apps can add functionality to the ERP without requiring another desktop application to install and maintain. That can mean fewer manual steps, fewer copy-and-paste workflows, and a more connected setup across the tools your business already uses.

For example, instead of exporting orders into another system every morning, a Cloud App can handle that process automatically in the background.

For Product Managers

Cloud Apps give you a way to build and distribute a product without managing a separate deployment for every merchant. You can focus the product on a specific merchant problem while relying on JTL's platform for the connection to the ERP.

This also gives you a straightforward distribution model. You can publish your app through the JTL App Store or share it privately with selected merchants.

For Engineers

Cloud Apps let you build a web application using the technologies and infrastructure you already know. You can use your own frontend, backend, database, and supporting services, then connect them to JTL through platform capabilities such as APIs, AppBridge, and webhooks.

Your application remains under your control, so you don't have to deploy and maintain a separate application inside every merchant's environment. JTL provides the integration points, while you own the application and its infrastructure.

Public vs. Private Cloud Apps: Choosing How to Distribute Your App

Not every app is built for the same audience, so you don't always need to distribute it in the same way.

A public app is built for broader distribution. The JTL App Store gives merchants a place to discover and install partner apps, making it a natural fit when you want to offer your product to a wider audience.

A private app makes more sense when you're building for a specific customer or a limited group of customers.

For example, an agency might build a custom integration for one retailer. A software company might pilot a new product with a handful of existing customers. In these cases, activation-code based distribution lets you give specific merchants access without publishing the app as a public marketplace product.

You can therefore start with the audience you actually have. A customer-specific integration doesn't need to become a public product before it can be useful. If you later decide to make it available more broadly, you can move toward public distribution as your product grows.

Start Building

The quickest way to judge whether Cloud Apps fit your business is to build one. The quickstart takes you from nothing to a working app running inside the ERP and pulling real data. Start with the quickstart, and create your app in the Partner Portal when you're ready.

If you're coming to JTL Connect, come and find us. Bring the integration you're maintaining today, and we'll talk through what it looks like as a Cloud App.

Top comments (0)