Simple Object Designer Documentation
Index

Field Types

Simple Object Designer supports all standard Business Central field types. This page provides a complete reference for each type and guidance on when to use them.

Text Types

Text

Variable-length text for storing general text data.

Property Details
Maximum Size 2000 characters
Default Size 100 characters
Case Sensitive Yes
Use For Descriptions, notes, addresses

When to use:

  • Free-form text input
  • Descriptions and comments
  • Names that need mixed case
  • Multi-word entries

Example uses:

  • Customer notes
  • Product descriptions
  • Address lines

Code

Uppercase text for identifiers and codes.

Property Details
Maximum Size 2000 characters
Default Size 20 characters
Case Sensitive No (converts to uppercase)
Use For Identifiers, codes, references

When to use:

  • System identifiers
  • Cross-reference codes
  • Values that should be uppercase
  • Primary key values

Example uses:

  • External system IDs
  • Part numbers
  • Country codes

Numeric Types

Integer

Whole numbers without decimal places.

Property Details
Range -2,147,483,648 to 2,147,483,647
Storage 4 bytes
Use For Counts, quantities, sequence numbers

When to use:

  • Counting things
  • Sequence numbers
  • Non-fractional quantities
  • Year numbers

Example uses:

  • Number of employees
  • Priority ranking
  • Retry count

Decimal

Numbers with decimal places for precision values.

Property Details
Precision Up to 18 digits total
Decimal Places Configurable (typically 2-5)
Use For Amounts, percentages, measurements

When to use:

  • Monetary amounts
  • Percentages
  • Weights and measurements
  • Calculated values requiring precision

Example uses:

  • Price adjustments
  • Discount percentages
  • Weight in kilograms

BigInteger

Very large integer values.

Property Details
Range -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
Storage 8 bytes
Use For Very large numbers, system sequences

When to use:

  • Values that may exceed Integer range
  • System-generated sequence numbers
  • Large counters

Date and Time Types

Date

Calendar date without time component.

Property Details
Format Based on user locale
Range January 1, 1753 to December 31, 9999
Use For Dates without time

When to use:

  • Birth dates
  • Due dates
  • Effective dates
  • Any date without time relevance

Time

Time of day without date component.

Property Details
Format Based on user locale
Precision To milliseconds
Use For Time without date

When to use:

  • Operating hours
  • Scheduled times
  • Duration tracking (start/end times)

DateTime

Combined date and time.

Property Details
Format Based on user locale
Precision To milliseconds
Timezone UTC storage, local display
Use For Timestamps, exact moments

When to use:

  • Created/modified timestamps
  • Event timestamps
  • Exact moment in time needed
  • Integration timestamps

Boolean Type

Boolean

True/False values.

Property Details
Values Yes/No, True/False
Storage 1 byte
Use For Flags, toggles, yes/no answers

When to use:

  • On/off settings
  • Flags (Is Active, Is Blocked)
  • Yes/no questions
  • Feature toggles

Example uses:

  • Preferred vendor flag
  • Blocked indicator
  • Auto-process flag

Option Types

Option

Predefined list of text options.

Property Details
Values Comma-separated list
Storage Integer index
Use For Fixed choice lists

Configuration: When creating an Option field, specify the values in a comma-separated list.

Example: "Pending,Approved,Rejected"

When to use:

  • Status fields
  • Type classifications
  • Fixed categories
  • Simple choice fields

Example uses:

  • Approval status
  • Priority level
  • Document type

Limitation — one value at a time. Option (and Enum) fields allow selecting only a single value. SOD does not provide a multi-select or tagging field where several options can be chosen at once, because Business Central has no good built-in mechanism for multi-select fields.

Warning — do not make an Option field the first field on a table. If an Option field is the first field added to a table, the table is published, and that field is later changed or deleted, SOD can end up in a corrupted state. Symptoms include Field type Text is not convertible to field type Option and Unexpected Compiler Output 502 from Modern Build Extension (codeunit 70310262). Once this happens the field often cannot be deleted (errors such as "the field 50000 is not there anymore") and cannot reliably be changed back. Setting the type to Code or renaming the field may clear the immediate error, but the field usually stays unusable.

Prevention: always add a non-Option field first, then add Option fields afterwards.

Enum

Reference to an existing enumeration.

Property Details
Source Existing Enum object
Extensible Depends on enum definition
Use For Shared option lists

Configuration: Select an existing enum from the system.

When to use:

  • When an enum already exists with your values
  • When you need to match existing field behavior
  • When the same options are used in multiple places

Example uses:

  • Sales document types
  • General posting types
  • Existing status enumerations

Limitation — SOD cannot create enums. The Enum type can only reference enumerations that already exist in the environment. There is no way to define a new enumeration in SOD; this is a deliberate decision to keep the tool simple. To define your own reusable list of fixed choices, use the Option type and enter the values as a comma-separated list.

Reference Types

Lookup

Field that references another table.

Property Details
Table Relation Links to another table
Validation Validates value exists
Returns The last field of the related table's primary key
Use For Foreign key relationships

Configuration: Specify the related table when creating the field.

When to use:

  • Linking to master data (customers, vendors)
  • Creating relationships between tables
  • When users should select from existing values

Example uses:

  • Salesperson code on orders
  • Reason code selection
  • Category references

The field type is fixed when the field is created and cannot be changed afterwards, and a lookup always returns the primary key — never a description or name. See Lookup Fields for the full behaviour, Lookup Field Transfers, and troubleshooting.

FlowField

Calculated field based on other table data.

Property Details
Calculation Count, Sum, Average, Lookup, etc.
Storage Calculated on demand — nothing is stored
Use For Aggregations, related counts, related values

Configuration: Define the calculation method, source table, and filters. Always create the FlowField on the table where the value should be displayed, not on the table holding the source data.

When to use:

  • Showing totals from related records
  • Counting child records
  • Displaying aggregated information
  • Displaying a value that lives in a related table

Example uses:

  • Total order amount on customer
  • Number of open tasks
  • Sum of line quantities

Lookup calculation type

A FlowField with calculation type Lookup retrieves a single value from a related record — for example the Customer's Credit Limit (LCY) shown on a Sales Order, keyed on the Sales Header's Sell-to Customer No.

A Lookup FlowField can also be made clickable, navigating to the related record's card page, by setting a Drilldown page — see Field Settings.

Same-document total pattern

A FlowField placed on a line table can sum a field across all lines that share the same document, producing a document-wide total on every line. On Sales Line, the two filter fields required are Document Type and Document No.

Counting requires the correct junction table. Counting Contacts for a Customer, for example, must go through Contact Business Relation (5054) filtered on field 4 — counting the Contact table directly returns a misleading result.

For worked examples, limitations (sorting, "latest date", aggregating calculated fields) and troubleshooting, see FlowFields.

Special Types

GUID

Globally unique identifier.

Property Details
Format 32 hexadecimal characters
Generation System-generated
Use For Unique identifiers

When to use:

  • Integration identifiers
  • Correlation IDs
  • Unique references across systems

Media

A single image or media reference.

Property Details
Content One image / media item
Storage BLOB storage
Use For Images shown in FactBoxes

Important — there is a difference between saving an image and showing one. A Media field stores image data, but the image does not render on a Card page. Business Central only displays images in FactBoxes; this is Microsoft's behaviour, not an SOD restriction.

If you want users to upload (or photograph) and see a picture on a card, use a Blob field instead. Media and MediaSet do not provide the on-card upload/camera experience.

Limitation in APIs: when exposed through a SOD API endpoint, Media fields are represented as GUID references, not Base64 content. SOD cannot convert them to Base64; that requires AL development.

MediaSet

A collection of media references (multiple images/files per record).

Property Details
Content Multiple image / media items
Storage BLOB storage (set of references)
Use For Galleries, photo sets, multi-image attachments

The same limitations as Media apply: no rendering on card pages, and GUID references rather than Base64 through an API. MediaSet is more complex than Media, and Base64 export of either requires AL development.

Blob

Binary large object.

Property Details
Content Any binary data
Storage BLOB storage
Use For Files, binary content, pictures shown on a card

When to use:

  • File attachments
  • Binary data storage
  • Large content that doesn't fit other types
  • Pictures that must be visible and uploadable on a card page

Storing and showing a picture:

  1. Create a Blob field on the table
  2. Place it on a card page
  3. Publish

Placing a Blob field on a card page automatically provides the image-loading experience, including the button to upload or take a picture. This is the correct choice for photos taken on a phone.

Blob limitations:

  • BLOB fields cannot be used in field transfers, as source or target — including lookup-driven transfers. See Field Transfers.
  • Blob is for binary data, not multi-line text. To show a long text across several lines, use a Text field (up to 2000 characters) and enable the Multiline property on its page placement — see Place Fields on Pages.
  • Blob fields in an exposed API often break external consumers. Power BI, in particular, errors on blob fields such as Work Description. Review your field selection for blob types before exposing an API, and remove them if a consumer reports errors — reinstalling the app without changing the fields will not help. See Consuming APIs.

Duration

Time span values.

Property Details
Format Days, hours, minutes, seconds
Use For Time durations

When to use:

  • Task durations
  • Service time
  • Elapsed time tracking

Type Selection Guidelines

Need Recommended Type
User-entered ID Code
Description text Text
Money amount Decimal
Count of things Integer
Yes/No flag Boolean
Date only Date
Exact timestamp DateTime
Fixed choices Option or Enum
Related record Lookup
Calculated total FlowField
Value from a related table FlowField (Lookup)
Picture shown on a card page Blob
Image shown in a FactBox only Media
Long text over several lines Text with Multiline placement