Jmix

A Java platform that behaves like a framework, not like a trap.

Jmix is an open-source platform for enterprise applications on Spring Boot and Vaadin, developed by Haulmont. We sell its licences in Italy and we build on it — and this page is the description we would want if we were on your side of the table.

The platform

What it is, without the brochure

A Jmix application is a Spring Boot application. The user interface is Vaadin, written in Java or Kotlin like everything else, so there is no separate frontend project, no JavaScript build pipeline and no second team to hire. For internal enterprise systems — the kind with four hundred screens that nobody will ever see from the street — removing the frontend stack removes most of the cost.

The data model is the centre of gravity. You declare entities; the platform derives persistence, UI data binding and access control from them. The access rules are the part worth understanding properly: permissions are defined on entities, on individual attributes and on rows matching a condition, and they are enforced when data is loaded rather than when it is displayed. A field a user may not see does not arrive in the browser to be hidden by CSS. In a system with auditors, that distinction is the whole argument.

Around that sit the things every enterprise project rebuilds badly: a generic REST API, reporting, auditing of changes, scheduled jobs, soft deletion with restore, file storage, multitenancy, full-text search, and business process automation as a separate commercial edition. The vendor publishes these as add-ons, most of them free.

The tooling is Jmix Studio, a plug-in for IntelliJ IDEA. It scaffolds entities, views and database migration scripts into your project as ordinary source files. This matters more than it sounds: the generated code is code, not a model that a proprietary runtime interprets, which is why a Jmix application survives the end of the subscription that built it.

Commercials

Where the money goes, and when

The single most common misunderstanding about Jmix is that it is licensed like a low-code platform — per user, per application, per deployment. It is not. The subscription sits at development time; what you deploy carries no licence at all.

What you deploy versus what you licence In production you deploy your own application on the Jmix framework, which sits on Vaadin and Spring Boot, on the JVM, on your own database and servers. None of it carries a runtime or per-user licence. At development time, Jmix Studio — a plug-in for IntelliJ IDEA — is licensed per developer seat and generates code into your application. IN PRODUCTION — WHAT YOU DEPLOY AND OWN AT DEVELOPMENT TIME — WHAT YOU PAY FOR Your application Entities, views, business logic — in your repository Jmix framework Apache 2.0 — data model, access control, REST, add-ons Vaadin · Spring Boot Standard open-source Java, all the way down JVM · your database · your servers or your cloud No runtime licence. No fee per user, per screen or per deployment. Your costs here are the ones you would pay for any Java application. Jmix Studio Plug-in for IntelliJ IDEA. Generates entities, views and database migrations as ordinary source files — then gets out of the way. Licensed per developer seat, not per user. Community edition: free, no seat limit. Cost scales with your team, not with your success.
The subscription buys the tooling, not the right to run the software. A team of four developers pays for four seats whether the finished system serves forty users or forty thousand.

Buying in Italy

Far Rainbow S.r.l. is an authorised Jmix service provider for Italy and Switzerland, under an agreement with Haulmont Technology Limited — the company that makes Jmix — in force since September 2026, and the seller of record for Jmix licences in Italy. We are one of several partners, not the only route: Haulmont lists its partners at jmix.io/partners (opens in a new tab) and also sells directly.

What buying here changes is the paperwork: an Italian invoice in euro, Italian VAT, electronic invoicing through SDI, and a counterparty your finance department can onboard like any other Italian supplier. Current editions and prices are on jmix.it (opens in a new tab) — deliberately not duplicated here, because a price written into a page is a price that goes quietly out of date.

Fit

What it is good at

The shape Jmix was built for is an internal system with a large, complicated domain model and a small audience: insurance back-office, logistics, banking operations, utilities, public administration. Many entities, many screens, serious access control, a long life, and a team that will have to maintain it after the people who wrote it have moved on.

  • Back-office and operations systems — where the hundredth CRUD screen costs as much as the first in a conventional stack, and almost nothing here.
  • Replacing a system nobody can maintain — Oracle Forms, Delphi, PowerBuilder, an ageing Java EE monolith. The database usually survives; the application around it does not.
  • Extending an ERP you cannot modify — a separate application beside it, integrated over the API, instead of a customisation that blocks the next upgrade.
  • Getting off a per-user low-code platform — when the licence bill has started growing faster than the business the platform supports.

CUBA Platform

If you are still on CUBA, this is the part to read

CUBA Platform is the previous generation of the same lineage, and the vendor now states plainly that it has reached end of life: maintenance-only, no new features, no security updates. Jmix 1.x is in the same position. That changes the nature of the decision. A framework that no longer receives security patches, under an application that processes personal data, is a compliance exposure as much as a technical one — and it is the kind an auditor finds without looking hard.

Migration is not a rewrite. The data model, the business logic and the database carry over; what changes is the UI layer and the framework APIs around it. The vendor ships migration guides, an adviser tool that estimates the work, and AI-assisted templates that move a project wave by wave. How much of that applies to your codebase depends entirely on how much of CUBA you used — which is exactly what an assessment is for.

We have a particular reason to be useful here: our municipal system, Smart Comune, has been in production since 2020 on CUBA. We are not describing this migration from the documentation.

Our part

Four ways we work with it

Enterprise Java teams rarely struggle with the licence. They struggle to find engineers who have actually shipped with this platform. There are very few in Italy.

01 · Consulting

An architecture review before you commit. Is this the right platform for the system you are describing, and what will it cost you to find out the hard way? Two to five days, and the answer is sometimes no — the five situations where we say no

02 · Engineers into your team

Jmix developers working inside your process, your repository and your sprint, on your priorities. From two weeks' notice. Useful when you have the domain knowledge and are missing the hands — how many, how fast, and who directs what

03 · Custom development

The whole thing, delivered and handed over: analysis, build, deployment, documentation and a handover session with whoever maintains it afterwards — your team or another supplier. What you own at the end, and the test that says the handover is finished

04 · CUBA → Jmix migration

Assessment first, then the migration itself, usually in waves with the old and new systems running side by side. The work we do most often — what moves, what gets rewritten, and what has no replacement

Questions

What people ask before they commit

Is Jmix a low-code platform?

Partly, and the part that matters is where it stops. The visual tooling generates ordinary Java or Kotlin source into your project — entities, views, database migrations — and then leaves. What runs in production is a Spring Boot application that any Java developer can read, debug and change without the tool. There is no proprietary runtime interpreting a model, which is the thing that makes a classic low-code platform hard to leave.

What does it actually cost to run?

Nothing per user and nothing per deployment. The framework is Apache 2.0 and the application you build is yours. The subscription is for Jmix Studio, the IntelliJ IDEA plug-in, and it is priced per developer seat — so cost scales with the size of your development team, not with the success of your product. A Community edition is free with no seat limit. Current prices are on jmix.it.

We are on CUBA Platform. How urgent is this?

More urgent than it feels. The vendor states that CUBA Platform has reached end of life and that it is in maintenance-only mode, with no new features and no security updates. An unpatched framework under a system handling personal data is a GDPR problem before it is a technical one. That does not mean migrating this quarter — it means knowing the size of the job this quarter.

Who owns the code we end up with?

You do. The framework is Apache 2.0, the application code is written into your repository, and nothing in the licence constrains how you deploy or distribute what you build. If you later decide to drop the Studio subscription, the application keeps running and keeps being maintainable — you lose the tooling, not the software.

Why buy the licence from you rather than directly?

Because of the invoice. Far Rainbow S.r.l. is an Italian company: you get an Italian invoice in euro with Italian VAT, electronic invoicing through SDI, and a supplier your accounting department already knows how to pay. For a public administration or a company with a procurement process, that is usually the difference between a two-week purchase and a two-month one.

Can you prove you have actually built with it?

Yes, and it is published. Smart Comune — a municipal reporting system serving around 80,000 residents, in production since 2020 — was built on CUBA Platform, the framework that became Jmix. The case study names the workflow, the roles, the figures we are allowed to publish and the ones we are not.