Lubb Framework

Lubb One runs on our own high-speed ERP core

Lubb Framework is the in-house ERP core we build every Lubb product on. Lubb One is that core with your apps on top — starting with Lubb Core and Lubb CRM, free.
An in-house ERP core

An in-house ERP core

Lubb Framework is our own ERP core, written and run by our engineers — there is no licensed third-party suite underneath Lubb One.
Built for speed

Built for speed

A high-speed core under every grid, report and document, so the whole business stays quick as your records grow.
Every app, one core

Every app, one core

Lubb Core, Lubb CRM and every app you add share one database, one sign-in and one set of customers — nothing to sync between them.
Best-practice UI design

Best-practice UI design

Every screen follows proven interface design practice — consistent layouts, clear hierarchy and accessible controls — so your team learns it once and works fast everywhere.
Designed for AI efficiency

Designed for AI efficiency

The core is structured so AI can read, build and act on it directly — Labib works inside the same apps, data and rules your team uses.
Best-in-class components

Best-in-class components

Grids, forms, dashboards and documents are built from one set of best-in-class components, so every app behaves the same polished way.
Apps and modules

Every app plugs into the same core

Accounting, CRM, billing, point of sale and every other Lubb One app is a package on Lubb Framework. Each one brings its own screens, menus, jobs and dashboard, and all of them share one database, one sign-in and one set of customers.
Install what you need

Install what you need

Apps switch on and off per company, and each brings what it depends on.
Installing an app brings the apps it needs — Point of Sale brings Accounting
Each app adds its own menu items and its own dashboard tab
Core apps are locked on, so a company can never uninstall its foundations
Roles and permissions

Roles and permissions

Decide who sees which apps, menus, screens and fields.
A role ladder from Viewer and Sales through Admin to Owner
Custom roles limited to the apps you choose
Menu items and individual fields can each require a minimum role
Scheduled jobs

Scheduled jobs

Background work runs on its own, on the schedule you set.
Every minute, hourly, daily, weekly, monthly, once or a cron expression
Timeouts, automatic retries with back-off and an email when a job fails
A run log for every attempt, and never two copies of the same job at once
Business events

Business events

Apps announce what just happened, so automations can react to it.
Events fire after a record is saved, never before
AI agents subscribe to the events they care about and act on them
Guided setup

Guided setup

Every app registers its own setup checks, so the Basic Setup page shows exactly what is still missing before you go live.
Custom apps without code

Custom apps without code

Describe what you need and Labib builds it on the core — no developer and no deployment. Needs the Labib add-on.
Up to 12 screens per custom app
Text, number, date, yes/no and choice fields
Custom screens run on the same grid engine as the built-in ones
Grids

Grids that stay fast as you grow

Every list in Lubb One, from invoices to leads, runs on one grid engine. Sorting, searching and paging happen on the server, so a grid stays quick as your records grow.
Search and filter

Search and filter

Narrow any list down in seconds.
Server-side search across the columns that matter
Column filters, date ranges (including "today and before") and dropdown filters in the header or toolbar
An Active / Showing all toggle, and scope pickers that switch the whole grid over
Filters travel in the link, so a filtered list can be shared
Group and total

Group and total

Turn a list into a summary without leaving it.
Drag a column into the group bar to group by it
Group rows total with sum, average, min, max or count
A totals row pinned to the bottom of the grid
Table or board

Table or board

Switch a grid to a Kanban board and drag cards between stages.
Board columns come from a status, a stage list or another table
Each board picks the fields its cards show
On a phone, rows become cards you can read at a glance
Stat cards

Stat cards

Live figures above the grid: counts, sums and averages shown as numbers, currency or percentages. Click a card to filter the grid down to what it counts.
Linked records

Linked records

Move from a record to the records that belong to it.
Drill down into a filtered child grid
Expand a row to see its child records inline
Click a linked name to open that record, or double-click a row to open the full document
Actions

Actions

Buttons that do real work, where you need them.
Bulk actions on selected rows, plus toolbar and per-row buttons
Confirmation steps, and prompts that ask for input before running
Buttons show only when they apply, and explain why when disabled
Saved layouts and views

Saved layouts and views

Administrators arrange a grid once for the whole team.
Pin, resize, hide and reorder columns
Save the column layout and filters as the default (Ctrl+S)
Save named views the team picks from a Views menu
Always current

Always current

A grid can refresh itself on a timer while it is open, and grids fed by another system pull fresh data the moment you open them.
PDF and clipboard

PDF and clipboard

View PDF prints the list exactly as filtered, as a branded table. Copy a cell with Ctrl+C or a whole row from the right-click menu, and drag rows to reorder where order matters.
Forms

Forms shaped to the job

Records open in a form over the grid, so you never lose your place. Administrators decide what each form asks for, and every rule a form enforces is checked again on the server.
Form builder

Form builder

Lay a form out the way your team reads it.
Titled sections
Full-width or half-width fields
Your own labels, help text and required fields
Add and edit, separately

Add and edit, separately

Each field shows when adding and editing, only when adding, only when editing, or never. The server applies the same rule, so a hidden field can never be written.
Validation you can trust

Validation you can trust

Rules run in the browser and again on the server.
Required fields
Fields required only when another field has a certain value
Either-or rules: fill in this field or one of those
A required field can never be blanked on edit
Smart defaults

Smart defaults

Less typing on every new record.
Default values per field
A record created from a child grid is already linked to its parent
Picking a linked record can fill in the fields that follow from it
Protected by design

Protected by design

Nothing gets lost and nothing changes unseen.
Fields that only senior roles may change show as locked
A form with unsaved changes will not close by accident
Every add, edit and delete is logged with the user, time and IP
Documents with a lifecycle

Documents with a lifecycle

Accounting documents go further: draft, submit, cancel. Submitting posts to the ledger, and cancelling reverses the entries instead of deleting them. PDFs carry your letterhead and banking details.
Fields

Every field, configurable

Administrators can open Field Config from any column and change how that field looks, where it sits and who may change it. The changes apply straight away, with no developer and no release.
Text
Long text
Rich text
Number
Integer
Decimal
Currency
Yes / No
Date
Date & time
Lookup
Dropdown
Status badge
Email
Phone
Password
Colour
Image
JSON
Read-only
Hidden
Label, order and tab

Label, order and tab

Rename a field, drag fields into a new order and group them on tabs.
How it shows in the grid

How it shows in the grid

Set column width, hide a column by default, give statuses their own badge colours and fix the number of decimals.
Lookups

Lookups

Link a field to any other table: choose the key, the column people see and the sort order. The link is checked when you save it, and a linked name opens its record.
Dropdown options

Dropdown options

Offer a fixed list of choices, or options loaded live from your own data each time the form opens.
Visibility and access

Visibility and access

Choose when a field shows on the form, the minimum role needed to change it, and which columns only staff can see.
Custom fields

Custom fields

Add up to 40 fields of your own to a standard screen — text, choice, number, date or yes/no. They search, sort and edit like the built-in ones.
Built into the core

What the core adds to every app

Dashboards, reports and the API are part of the core itself, so every app on Lubb One gets them without extra work. Labib and multi-company are add-ons that run through the same core.
Dashboards and KPIs

Dashboards and KPIs

Each app brings its own dashboard tab. Set targets for 7, 30, 90 or 365 days, colour cards against them, see the movement since yesterday, and arrange your own layout.
Report builder

Report builder

Build a report from any grid you can open: counts, sums, averages and more, by day to year, as column, bar, line, area, pie, donut, radial, funnel, treemap or single-number charts. Share it privately, company-wide or with chosen people — every viewer sees only their own data.
Labib works through the core

Labib works through the core

Labib reads, creates and updates records through the same grid engine and permissions your team uses. Actions that need a person wait for approval, and everything it does is logged. Available as an add-on.
Multi-company

Multi-company

Switch between companies from the sidebar, control which people can see which company, and use one sign-in across all of them. Available as an add-on.
REST API and webhooks

REST API and webhooks

Work with CRM records over a REST API with per-user keys. Webhooks are signed with HMAC-SHA256 and every delivery is logged. The API follows the same permissions as the screens.
Find anything

Find anything

Press ⌘K from anywhere to jump straight to a lead, customer or item.

Start on Lubb Framework today

Lubb One is Lubb Framework with your apps on top. Lubb Core and Lubb CRM are free; add the apps your business runs on when you need them.