Book a call with our Technology expert Book Now
SAP Business One is built on a rich object model that controls everything from sales orders to inventory
movements. SAP Business One Object Types are numeric identifier (or string code) that uniquely
represents a business document or master data entity within the system. These identifiers are used
throughout the DI API, Service Layer, and internal SAP B1 tables to reference, link, and manipulate
records.
For example, when you create a journal entry linked to an A/R Invoice, SAP B1 needs to know what kind of document the invoice is — that’s where the object type comes in.
Object types appear in:
These are the most commonly referenced object types in day-to-day development. The codes appear
directly in OJDT.BaseType and OINV.ObjType — critical for building accurate journal-to-document
drilldown queries.
| Document | Object Type Code |
|---|---|
| A/R Invoice | 13 |
| A/R Credit Memo | 14 |
| A/R Reserve Invoice | 165 |
| Sales Order | 17 |
| Delivery | 15 |
| Return | 16 |
| Quotation | 23 |
| A/P Invoice | 18 |
| A/P Credit Memo | 19 |
| Purchase Order | 22 |
| Goods Receipt PO | 20 |
| Goods Return | 21 |
Inventory-related documents are essential when building warehouse automation, WMS integrations, or
custom picking workflows.
| Document | Object Type Code |
|---|---|
| Goods Receipt | 59 |
| Goods Issue | 60 |
| Inventory Transfer | 67 |
| Inventory Transfer Request | 1250000001 |
| Production Order | 202 |
Master data entities carry object type identifiers particularly relevant when using UDFs, UDOs, or the
approval engine. The TableName and ObjectType must match when attaching User-Defined Fields.
| Object | Object Type Code |
|---|---|
| Business Partner | 2 |
| Item Master Data | 4 |
| Chart of Accounts | 1 |
| Employee Master | 171 |
| Price List | 10 |
| Warehouse | 64 |
Journal entries (OJDT) reference their source document using BaseType. For example, if a payment
generates a JE, BaseType = 24 indicates it originated from an Incoming Payment.
| Object | Object Type Code |
|---|---|
| Journal Entry | 30 |
| Incoming Payment | 24 |
| Outgoing Payment | 46 |
| Bank Reconciliation | 6 |
| Check for Payment | 57 |
Beyond built-in object types, SAP B1 allows developers to register custom objects via the DI API using
oUserTables and oUserObjectsMD. When registered, SAP assigns a custom object type that supports
document series, approval workflows, find/form integration, and Service Layer exposure (SAP B1 10.0+).
UDO Types:
These object types are frequently missed in integrations and can cause reconciliation issues if not handled
properly.
| Object | Object Type Code |
|---|---|
| Stock Posting (opening) | 162 |
| Landed Costs | 241 |
| Down Payment Invoice (AR) | 203 |
| Down Payment Invoice (AP) | 204 |
| Service Call | 191 |
In the SAP Business One DI API (COM-based), object types map to the BoObjectTypes enumeration. In
the Service Layer (RESTful API), object types map to named entity endpoints.
DI API Example (VB.NET):
Dim oInvoice As SAPbobsCOM.Documents
oInvoice = oCompany.GetBusinessObject(
SAPbobsCOM.BoObjectTypes.oInvoices)
Service Layer Endpoint Mapping:
Mastering SAP Business One object types is essential for any developer building on the platform —
whether you’re writing DI API integrations, querying the database directly, or building Service Layer-based
applications. Every document, master data record, and custom object in the system has an identity, and
that identity starts with its object type.
Start with the common sales, purchasing, and financial codes, then expand your reference as your
integration requirements grow. Bookmark this guide and return when you’re unsure which code maps to
which document.
An object type is a numeric code that uniquely identifies a business document or master data entity in SAP B1. It is used by the DI API, Service Layer, database tables, and internal SAP logic to link and reference records.
They appear in fields like OJDT.BaseType, OINV.ObjType, ORDR.ObjType, and many other table columns. They are also used in approval procedures and alert conditions.
After registering your UDO via oUserObjectsMD, query the OUDO table in SAP B1 to retrieve the assigned object type code for your custom object.
Service Layer uses named entity endpoints rather than numeric codes, but object type awareness is still needed when building cross-document links or interpreting journal entry references.
The SAP Business One Sales Order has object type code 17.