π₯οΈ Online Demo
π Languages: English | Π ΡΡΡΠΊΠΈΠΉ | Deutsch | Italiano | EspaΓ±ol | TiαΊΏng Viα»t | Srpski
B2B CRM is an enterprise demo application based on Jmix framework with built-in AI that showcases how to develop
production-ready business systems including customers, orders, invoicing, finance and analytics.
- Technical Stack
- Overview
- AI Assistant
- Add-ons
- Build & Run
- Demo Data
- Accounts
- Domain Model
- Role Model
- More About Jmix
- FAQ
- Java 21
- Jmix (Spring Boot & Vaadin Flow)
- HSQLDB
This project models a typical B2B sales workflow:
- Manage the catalog of products and categories
- Maintain clients, contacts, and addresses
- Track orders through the sales funnel
- Issue invoices and record payments
- Plan and monitor user tasks
- Ask the built-in AI assistant for business insights
- See sales analytics on the dashboard and in built-in reports
B2B CRM helps sales managers automate the sales process: the system keeps track of deals, invoices, payments
and user tasks, and provides quick analytics on clients. For example, it can quickly answer typical questions such as:
- How many deals are at the presale stage or awaiting payment, and for what total amount
- Which clients are the revenue leaders and which are the outsiders β and in which product categories
- How often the selected clients make purchases
- How proposals for a client compare to each other, and what were the maximum discounts for a particular product category
Normally, such requests require configuring specialized reports and analyst expertise. In B2B CRM it is enough to
write the request in natural language: the built-in AI Assistant
helps analyze sales by aggregating data on deals, invoices, and payments while respecting the user's data access
permissions.
The Orders screen features an interactive sales funnel based on order statuses:
New β Accepted β In Progress βDone.
Each stage shows the number of orders at that stage, and a single click takes the manager to the orders of the
selected stage β with the total, invoiced, paid, and remaining amounts for each order.
The application includes a built-in CRM AI workspace for natural-language analysis of CRM data.
- Ask business questions about clients, orders, invoices, payments, and sales performance
- Upload entities and files to the conversation context
- Respect the current user's data access permissions and keep conversations private to their author
- Use built-in business reports such as
Client 360 ReportandCategory Cashflow Risk Allocation Report - Keep the conversation history with automatically generated chat titles
- Generate interactive links to CRM records directly in responses
Set spring.ai.openai.api-key in application.properties
or provide the SPRING_AI_OPENAI_APIKEY environment variable.
When enabled, open the CRM AI item in the main menu to start a new conversation.
- AI Tools
- Audit
- Application Settings
- Charts
- Data tools
- Dynamic attributes
- Grid export
- Reports
- Local File Storage, Localizations
-
Run B2B CRM Jmix run configuration or execute
./gradlew bootRun
./gradlew bootJar -Pvaadin.productionModejava -jar build/libs/crm.jardocker build -t jmix-crm .docker run --rm -p 8080:8080 jmix-crmdocker-compose upThe local profile generates demo data on the application start:
- You can disable demo data generation with
crm.generateDemoDataproperty in application.properties - Catalog imported from catalog.xlsx
| Position | Username | Password | Access |
|---|---|---|---|
| Administrator | admin |
admin | Full access to all data and settings |
| Supervisor | james |
james | Manager + catalog management + assign accounts |
| Manager | manager |
manager | Full access to all clients and orders |
| Account Manager | alice |
alice | Only sees clients assigned to Alice Brown |
| Account Manager | robert |
robert | Only sees clients assigned to Robert Taylor |
classDiagram
Client o-- Contact
Client o-- Order
Client o-- Invoice
Client o-- Payment
Client o-- Address
Order *-- OrderItem
OrderItem --> CategoryItem
Category o-- CategoryItem
Invoice o-- Payment
The application uses a hierarchical role model:
| Role | Description |
|---|---|
Administrator |
Full access to all application features, entities, and settings. |
Supervisor |
Extends the Manager role with additional administrative capabilities: manage product catalog and assign account managers to clients. |
Manager |
Primary role for sales operations. Full access to Clients, Contacts, Orders, Invoices, and Payments. Read-only access to the product catalog. Manage own Tasks. |
UI Minimal |
Minimal access, allowing login and basic navigation. |
| Source | Link |
|---|---|
| π Website | https://www.jmix.io |
| π Documentation | https://docs.jmix.io |
| π¬ Forum | https://forum.jmix.io |
| π» GitHub | https://github.com/jmix-framework/jmix |
| π₯ YouTube | https://www.youtube.com/@jmixframework |
| πΌ LinkedIn | https://www.linkedin.com/company/jmix-framework |
What is Jmix?
Jmix is a full-stack open-source Java platform for enterprise software development with local and public models. It helps development teams build internal business applications faster while keeping full control over the source code, architecture, and deployment. Jmix combines Java, Spring Boot, enterprise UI, security, data access, visual development tools, and AI-assisted development in a single platform.
Learn more:
| Source | Link |
|---|---|
| Site | https://www.jmix.io/ |
| Docs | https://docs.jmix.io/ |
| GitHub | https://github.com/jmix-framework/jmix |
Why is Jmix good for building CRM systems?
CRM systems have become the backbone of modern enterprise automation, moving far beyond a simple system of records. As business requirements in sales change rapidly, CRM systems must also provide capabilities to implement quick changes in workflows, data model, and UX while preserving high security and compliance standards. Jmix provides these capabilities out of the box, allowing developers to focus on business logic instead of infrastructure. This demo demonstrates how production-ready enterprise applications can be developed using Jmix and AI.
Is this a real application or just a demo?
B2B CRM is a demo application designed to demonstrate production-ready architecture and enterprise development practices. It includes real business scenarios, modern UI, AI capabilities, security, reporting, and integration patterns that can be reused in your own enterprise projects.





