# How to Build Custom IDOs in Infor SyteLine

> Source: https://netray.co/resources/syteline-custom-ido-development-guide
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Knowledge Base

## Short answer

Learn how to create custom IDOs in Infor SyteLine from scratch. Step-by-step guide covering IDO class creation, property mapping, and deployment to CloudSuite Industrial.

## Category

syteline

## Content

**Intro:** Intelligent Data Objects (IDOs) are the core data access layer in Infor SyteLine and CloudSuite Industrial. Every form, report, and integration point communicates through IDOs to read and write data. Building custom IDOs lets you expose new business logic, custom tables, and specialized queries without modifying the standard SyteLine codebase.

**Sections:**

#### IDO Architecture and Class Structure

**Body:** A custom IDO in SyteLine consists of two parts: the IDO metadata registered in the IDO runtime and an optional .NET assembly containing extension class methods. The metadata defines which database table or view the IDO maps to, its properties (columns), and method signatures. The IDO runtime translates form requests into SQL via the IDO layer, applying security and business rules at each step. When you register a new IDO in the Application Database using the IDO Metadata form (IDOs), you specify the primary table, join relationships, and property-to-column mappings.

**Bullets:**

- Register IDOs through the IDOs form under Application Configuration > IDO Metadata
- Map IDO properties to columns in your custom table (e.g., Uf_CustomOrders) with correct data types
- Set the primary table and define secondary joins using IDO Join definitions
- Configure property-level attributes: ReadOnly, Required, DefaultValue, and DeriveFromParent
- Deploy extension class DLLs to the IDOExtensionClasses folder on the utility server

#### Creating Your First Custom IDO Step by Step

**Body:** Start by creating your database table in the SyteLine application database using SQL Server Management Studio. Follow SyteLine naming conventions, prefixing user-defined tables with Uf_ to avoid upgrade conflicts. Next, open the IDOs metadata form and create a new IDO record specifying the table name, IDO name, and base select query. Add properties for each column you want to expose, paying attention to data types and nullability. Finally, assign the IDO to an IDO collection and configure security permissions through the IDO Security form.

**Bullets:**

- Create the backing table with Uf_ prefix: CREATE TABLE dbo.Uf_CustomEntity (Id INT IDENTITY, ...)
- Register the IDO in the IDOs form with ClassName matching your .NET extension class if applicable
- Add properties using IDO Properties form, mapping each to the correct table column
- Test the IDO using the IDO Request Tester utility before binding it to any form
- Version your IDO metadata export alongside code in source control for migration safety

#### Common Pitfalls and Deployment Checklist

**Body:** The most frequent issues in custom IDO development stem from property-column mismatches, missing index definitions on custom tables, and forgetting to propagate IDO changes across SyteLine environments. Always validate your IDO in the development environment using LoadCollection calls with filter strings before deploying to test or production. Use the IDO Runtime Export/Import utility to move IDO definitions between environments, and verify that your extension class assembly targets the correct .NET Framework version for your SyteLine release.

**Bullets:**

- Ensure your custom table has a clustered primary key and appropriate indexes for filter columns
- Verify property data types match SQL column types exactly to avoid silent truncation
- Export IDO metadata as XML for environment promotion rather than manual re-creation
- Test with both LoadCollection and UpdateCollection operations before form binding
- Check the SyteLine Event Log (SLAppServer.log) for runtime IDO errors during testing

**Cta:** Ready to accelerate your SyteLine IDO development? Netray AI agents can generate IDO scaffolding, validate property mappings, and catch configuration errors before deployment. Book a demo.

## Related Slugs

- syteline-ido-extension-methods-tutorial
- syteline-loadcollection-best-practices
- syteline-ido-security-permissions-setup

## Search terms

SyteLine custom IDO development, Infor SyteLine IDO creation, CloudSuite Industrial custom IDO, SyteLine IDO metadata configuration, build custom IDO SyteLine

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
