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 writesA Basic field
Point this row at another recordA Relation
Bring back or summarise values from related rowsLookup, Rollup, or Count
Calculate from this row or related rowsA Formula
Show who or when without storing another valueA 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.

KindWhat it holds
TextA single line of text.
Long textMultiple lines of text, edited in a larger box.
NumberA number, shown plainly or as currency, a percentage, or a duration.
CheckboxTicked or not.
DateA calendar date.
Date & timeA date with a time of day.
SelectOne option from a list you define.
Multi-selectAny number of options from a list you define.
StatusOne option, grouped into not started, in progress, and complete.
URLA link, validated and clickable.
EmailAn email address, validated and clickable.
PhoneA phone number.
RatingA score out of a maximum you choose.
UserOne or more people from this workspace.
Auto numberA number assigned in order as rows are created, with an optional prefix.
AttachmentFiles kept with the row, in the order you arrange them.
JSONArbitrary 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.

KindWhat it does
RelationLinks to rows in another table, or in this one.
LookupShows a field from the rows a relation points at.
RollupSummarises a field across the rows a relation points at.
CountCounts the rows a relation points at.

See Relations between tables and Lookups, rollups and counts.

Computed#

KindWhat it does
FormulaA 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.

KindWhat it shows
Created timeWhen the row was created.
Last edited timeWhen the row last changed.
Created byWho created the row.
Last edited byWho 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 valueStatus = Not started, Currency = AUD.
  • An expression, evaluated once at creation — today(), or dateAdd({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-onlyWhy
Formula, Lookup, Rollup, CountThe 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 byProjected from the row's own metadata. There is no stored value to replace.
Auto numberAssigned 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.

LimitValue
Fields per table100
Options on a select, multi-select or status field100
Files in one attachment cell10
Bytes per uploaded file25 MB
Links in one relation cell100
Preview fields shown on a relation chip2
Items a lookup may display100
Size of one row's stored values64 KB
Rows in one API batch insert500
Table name120 characters
Field label120 characters

Formula-specific caps are on the Formulas page.

Where to go next#

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.