Skip to main content

Overview

Columns define the structure of your table data. ERPLite supports 15+ column types to handle various data needs - from simple text to complex relations between tables.

Creating a Column

1

Open Column Creator

Click the + Add Column button in the table toolbar, or click + in the column header area
2

Enter Column Name

Provide a display name for your column
3

Select Column Type

Choose from the available column types below
4

Configure Properties

Set type-specific properties (required, default value, etc.)
5

Save

Click Create to add the column to your table

Column Types Reference

Text

Single or multi-line text input for names, descriptions, notes, etc.
PropertyDescription
Default ValuePre-filled text for new records
RequiredWhether the field must have a value
UniqueEnforce unique values across records
Use Cases: Names, descriptions, addresses, notes

Number

Numeric values - integers or decimals.
PropertyDescription
Default ValuePre-filled number for new records
RequiredWhether the field must have a value
Decimal PlacesNumber of decimal places to display
Use Cases: Quantities, prices, measurements, scores

Boolean

True/false toggle values.
PropertyDescription
Default ValueDefault state (true/false)
Use Cases: Status flags, yes/no questions, feature toggles

Date

Date-only values (no time component).
PropertyDescription
Default ValueDefault date for new records
RequiredWhether the field must have a value
Use Cases: Due dates, birthdays, scheduled dates

Date & Time

Full timestamp with date and time.
PropertyDescription
Default ValueDefault timestamp
RequiredWhether the field must have a value
Use Cases: Appointment times, event timestamps, deadlines with time

Time

Time-only values (no date component).
PropertyDescription
Default ValueDefault time
Use Cases: Shift start times, daily schedules

Location

GPS coordinates with address support.
PropertyDescription
AddressEnable address input
Latitude/LongitudeEnable coordinate input
RequiredWhether the field must have a value
Use Cases: Delivery addresses, site locations, geofencing Data Structure:
{
  "address": "123 Main St, City, Country",
  "latitude": 37.7749,
  "longitude": -122.4194
}

Choice (Single Select)

Dropdown with predefined options - user selects one.
PropertyDescription
OptionsList of available choices
Default ValuePre-selected option
RequiredWhether a selection is required
Use Cases: Status, category, priority, type

Multi-Select

Multiple choice selection from predefined options.
PropertyDescription
OptionsList of available choices
Default ValuesPre-selected options
Use Cases: Tags, labels, features, skills

File

File attachment upload.
PropertyDescription
Allowed TypesRestrict file extensions
Max SizeMaximum file size
MultipleAllow multiple files
Use Cases: Documents, PDFs, spreadsheets

Image

Image file upload with preview.
PropertyDescription
Max SizeMaximum image size
MultipleAllow multiple images
Use Cases: Photos, product images, profile pictures

Signature

Digital signature capture.
PropertyDescription
RequiredWhether signature is required
Use Cases: Approvals, delivery confirmations, consent forms

Relation

Link to records in another table.
PropertyDescription
Target TableThe table to link to
CardinalityONE (single link) or MANY (multiple links)
Display ColumnWhich column to show from linked records
Create Back-ReferenceCreate reverse relation in target table
Use Cases: Customer orders, employee departments, task assignments Cardinality Options:
  • ONE: Each record links to at most one record in the target table
  • MANY: Each record can link to multiple records in the target table

User

Reference to a user in your organization.
PropertyDescription
RequiredWhether assignment is required
MultipleAllow multiple users
Use Cases: Assignee, owner, reviewer, approver

Team

Reference to a team in your organization.
PropertyDescription
RequiredWhether assignment is required
MultipleAllow multiple teams
Use Cases: Department assignment, team ownership

Computed

Calculated field using JavaScript expressions.
PropertyDescription
FormulaJavaScript expression for calculation
DependenciesFields used in the calculation
Use Cases: Calculated totals, concatenated values, conditional text Example Formula:
// Calculate total price
data.quantity * data.unitPrice

// Concatenate name
data.firstName + ' ' + data.lastName

// Conditional status
data.amount > 1000 ? 'High Value' : 'Standard'

Button

Action button that triggers automations.
PropertyDescription
LabelButton text
Action TypeRUN_AUTOMATION or OPEN_URL
AutomationAutomation to run (if applicable)
URLURL to open (if applicable)
Use Cases: Approve buttons, send notification, open external system

List of Text

Array of text values.
PropertyDescription
RequiredWhether at least one value is required
Use Cases: Multiple phone numbers, alternate emails, tags

Comment

Discussion thread on a record.
PropertyDescription
EnabledShow comments section
Use Cases: Record discussions, audit trail, collaboration

Column Settings

Display Column

Mark one column as the “display column” - this value represents the record in dropdowns and relation fields.

Required Field

Marking a field as required ensures every record must have a value for this field.

Unique Constraint

Enforce that all values in this column must be unique across the table.

Column Description

Add a description to help users understand what data should be entered.

For AI Agents

Column Type Constants

enum DataFieldType {
  TEXT = 'TEXT'
  NUMBER = 'NUMBER'
  BOOLEAN = 'BOOLEAN'
  DATE = 'DATE'
  DATE_TIME = 'DATE_TIME'
  ONLY_DATE = 'ONLY_DATE'
  TIME = 'TIME'
  LOCATION = 'LOCATION'
  IMAGE = 'IMAGE'
  FILE = 'FILE'
  SIGNATURE = 'SIGNATURE'
  LIST = 'LIST'           // Choice/Select
  LIST_OF_TEXT = 'LIST_OF_TEXT'
  RELATION = 'RELATION'
  COMPUTED = 'COMPUTED'
  COMMENT = 'COMMENT'
  URL = 'URL'
  LINKS = 'LINKS'
}

enum EntityTypeField {
  BUTTON = 'BUTTON'
  USER = 'USER'
  TEAM = 'TEAM'
}

API: Add Column to Table

POST /zorp-tables-service/table/update
Authorization: Bearer {secretKey}
Content-Type: application/json

{
  "tableType": "my_table",
  "columns": [
    {
      "name": "customer_name",
      "displayName": "Customer Name",
      "type": "TEXT",
      "isRequired": true,
      "otherDetails": {
        "isDisplayColumn": true
      }
    },
    {
      "name": "order_amount",
      "displayName": "Order Amount",
      "type": "NUMBER",
      "isRequired": false
    },
    {
      "name": "status",
      "displayName": "Status",
      "type": "LIST",
      "properties": {
        "options": ["Pending", "Approved", "Rejected"]
      }
    }
  ]
}

API: Get Column Definitions

GET /zorp-tables-service/table/:tableType/metadata
Response includes column definitions:
{
  "columns": [
    {
      "name": "customer_name",
      "displayName": "Customer Name",
      "type": "TEXT",
      "isRequired": true,
      "isDeleted": false,
      "otherDetails": {
        "isDisplayColumn": true
      }
    }
  ]
}

Relation Column Configuration

{
  "name": "customer",
  "displayName": "Customer",
  "type": "RELATION",
  "relationDetails": {
    "cardinality": "ONE",
    "referringEntity": "customers",
    "referringEntityType": "CUSTOM",
    "createReferenceColumnInTarget": true
  }
}

UI Elements

ElementComponentPurpose
Add Column ButtonCustomToolbarOpens column creation modal
Column Type SelectorColumnCreation.tsxGrid of type icons
Column PropertiesColumnProps.tsxType-specific configuration
Column Header MenurenderColumnActionsMenuItemsColumn actions dropdown