Field Types in a Table
Every field type a table column can be, grouped as the field picker groups them: basic, connected, computed and system. Covers formats, which fields are read-only, and the caps a table enforces.
7 min read
On this page
Every column in a table is a field, and a field has exactly one kind. The kind decides what the cell accepts, which editor opens when you click it, whether you can type in it at all, and what a formula is allowed to do with it. There is no second storage type to pick underneath.
Open the field picker from the + at the right end of the header row, or from the Fields rail. It groups the kinds four ways.
Choose the field by the question#
| If you need to… | Start with… |
|---|---|
| Store something a person, feed, CSV, or API writes | A Basic field |
| Point this row at another record | A Relation |
| Bring back or summarise values from related rows | Lookup, Rollup, or Count |
| Calculate from this row or related rows | A Formula |
| Show who or when without storing another value | A System field |
The key distinction is stored versus computed. Basic and relation values are inputs. Lookup, rollup, count, formula, and system values are outputs and cannot be typed into directly.
Basic#
These hold values you (or a feed, or a CSV import) put there.
| Kind | What it holds |
|---|---|
| Text | A single line of text. |
| Long text | Multiple lines of text, edited in a larger box. |
| Number | A number, shown plainly or as currency, a percentage, or a duration. |
| Checkbox | Ticked or not. |
| Date | A calendar date. |
| Date & time | A date with a time of day. |
| Select | One option from a list you define. |
| Multi-select | Any number of options from a list you define. |
| Status | One option, grouped into not started, in progress, and complete. |
| URL | A link, validated and clickable. |
| An email address, validated and clickable. | |
| Phone | A phone number. |
| Rating | A score out of a maximum you choose. |
| User | One or more people from this workspace. |
| Auto number | A number assigned in order as rows are created, with an optional prefix. |
| Attachment | Files kept with the row, in the order you arrange them. |
| JSON | Arbitrary structured data. |
Select, multi-select and status cells store an option's identity rather than its text, so renaming an option or changing its colour is a settings change and rewrites nothing. Options are defined on the field, and a value that is not one of them is rejected rather than quietly added.
Connected#
These reach other rows.
| Kind | What it does |
|---|---|
| Relation | Links to rows in another table, or in this one. |
| Lookup | Shows a field from the rows a relation points at. |
| Rollup | Summarises a field across the rows a relation points at. |
| Count | Counts the rows a relation points at. |
See Relations between tables and Lookups, rollups and counts.
Computed#
| Kind | What it does |
|---|---|
| Formula | A calculation over this row, and over the rows its relations point at. |
Lookup, Rollup and Count are, underneath, formulas that BankSync writes for you from the choices you make in their configurator. That is why any of them can be opened as a formula and taken over by hand. See Formulas.
System#
These come from the row's own history. They appear the moment you add them and are never typed into.
| Kind | What it shows |
|---|---|
| Created time | When the row was created. |
| Last edited time | When the row last changed. |
| Created by | Who created the row. |
| Last edited by | Who last changed the row. |
Formats#
A format decides only how a value is displayed. Changing one is instant, lossless and reversible, because the stored value never moves.
- Number fields render as a plain number, a currency (pick the code —
USD,AUD,GBP), a percentage, or a duration. You choose the decimal places. - Date fields render as ISO (
2026-01-31), medium (31 Jan 2026), long (31 January 2026), US numeric (01/31/2026), EU numeric (31/01/2026) or relative (3 days ago). - Date & time fields offer ISO, medium, long, numeric and relative.
- Text fields render as plain text, a link, or an email address.
Formats follow the result, not the kind, so a formula that produces a number formats as currency exactly like a number field does.
Defaults#
A field can carry a default that fills in when a row is created. Two kinds:
- A fixed value —
Status = Not started,Currency = AUD. - An expression, evaluated once at creation —
today(), ordateAdd({fld:invoice_date}, 30, "days")for a due date thirty days out.
Three rules worth knowing, because they are what make a default safe to leave switched on:
- A default fills a cell you did not supply. Clearing a cell on purpose keeps it empty — a default never overwrites a blank you chose, so a field with a default is still a field you can leave empty.
- An expression default is evaluated once, when the row is created. Afterwards the cell is an ordinary value you can edit, and it does not change when the fields it read change. That is the difference between a default and a formula, which stays live forever.
- Defaults apply to rows you add in the grid, through the API, and from a CSV import. They never apply to rows written by a feed. A feed is a mirror of what your bank sent; filling a gap there would invent data and attribute it to the institution.
If an expression default cannot be worked out — it references a field that is not filled in yet, say — the cell is simply left empty. Adding a row never fails because a default did not work out.
What you cannot type into#
Some cells are read-only in the grid, on the API, in CSV import and on feed writes alike. They are not locked to protect you from yourself; there is simply nowhere for a typed value to go.
| Read-only | Why |
|---|---|
| Formula, Lookup, Rollup, Count | The value is derived. Writing one would be overwritten by the next recalculation, so it is refused. |
| Created time, Last edited time, Created by, Last edited by | Projected from the row's own metadata. There is no stored value to replace. |
| Auto number | Assigned in sequence when the row is created, so it stays unique and in order. |
Relation and attachment cells are editable, but not by sending a value in a row write: links and files have their own identity and order, so they have their own operations. Putting them in a row write is refused with a typed error rather than quietly ignored.
A computed cell that is waiting to be recalculated says Recalculating rather than showing you a blank. A blank in a computed column always means the calculation genuinely produced nothing.
Caps#
These are refusals, not silent truncations. Crossing one fails the write and says which limit it hit.
| Limit | Value |
|---|---|
| Fields per table | 100 |
| Options on a select, multi-select or status field | 100 |
| Files in one attachment cell | 10 |
| Bytes per uploaded file | 25 MB |
| Links in one relation cell | 100 |
| Preview fields shown on a relation chip | 2 |
| Items a lookup may display | 100 |
| Size of one row's stored values | 64 KB |
| Rows in one API batch insert | 500 |
| Table name | 120 characters |
| Field label | 120 characters |
Formula-specific caps are on the Formulas page.
Where to go next#
- Relations between tables — link rows together.
- Lookups, rollups and counts — pull and summarise values across a relation.
- Formulas — the function list and the error states.
Use this page with your AI assistant
Every BankSync doc is available as plain Markdown for agents and LLMs.