Pro App Table Storage
Pro apps can keep their own records in the managed backend — orders, settings, favourites, drafts, checklists, anything that does not belong in ERP.net and is not a document. This page explains the data model, the limits, and how you work with tables.
When to use tables
| Need | Use |
|---|---|
| Business data that belongs to the ERP system | ERP.net entities |
| A document, spreadsheet or reference list you upload | Stored files |
| Records the app itself creates and updates | Tables |
If you ask an app to "remember my last selection", "keep a list of requests", or "save this form for later", tables are the right place.
Data model
A table is a container of rows; each row holds one record.
- Table — a named container that belongs to one app. It is either per instance (each ERP.net instance the app runs against keeps its own rows) or global (one shared set of rows for the whole app).
- Row key — identifies the row. It is enough on its own: give the app a row key and it finds the row directly.
- Group key — optional grouping value, such as a month, a category, or a customer. Used to list related rows together.
- Name — an optional display value that is searchable.
- Data — the content of the row.
How you choose keys decides how fast the app is:
| Lookup | Speed |
|---|---|
| By row key | instant |
| By group key, or a range inside a group | fast, indexed |
| By name (starts with, or contains) | fast, indexed |
| By any other value inside the row | slower — the whole group is scanned |
Enabling table storage
Table storage is available only for Pro apps.
- Open the app in the App Builder.
- Switch to the Backend tab.
- Select Tables from the left menu.
- Turn on Tables.
Or simply ask the App Builder:
Enable tables for this app and create a table for the daily requests.
The App Builder turns the setting on itself (the app must already be Pro), creates the tables, and can fill them with reference data.
Read-only tables
Any table can be marked read-only. The running app can still read it, but only you and the App Builder can change its rows. This is useful for reference data such as price lists, statuses, or configuration.
Letting the app create tables
By default the app can only use tables that already exist. Turn on Allow the app to create new tables at runtime when the app genuinely needs to create containers on the fly.
Browsing tables
The Backend → Tables section shows every table of the app with its scope, read-only badge, row count and stored size. Selecting a table lists its rows — group key, row key and name — with a search box, and clicking a row opens its full content.
What you can ask the App Builder
Keep the submitted requests in a table, grouped by month.
Remember the last filter each user selected.
Create a table with the delivery statuses and mark it read-only.
Show me the rows added this month for customer Acme.
Limits
- Up to 10 KB of data per row.
- Up to 100 000 rows per table.
- Up to 200 000 rows per app across all instances.
Rows are private to the app, and an app connected to one ERP.net instance never sees the rows of another — unless the table is global.