# Infor LN Inbound Process.SalesOrder BOD XML Template

> Source: https://netray.co/tools/infor-ln-process-salesorder-bod-xml-template
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Generate an OAGIS ProcessSalesOrder BOD skeleton with ApplicationArea, ActionCriteria, a sales order header and order lines for testing LN inbound orders.

## Category

developer

## Erp

Infor LN

## Audience

- Integration developer
- ION administrator
- LN functional consultant

## Tool

**Kind:** template

**Output:** code

**Language:** xml

**Fields:**

#### Sender logical ID

**Key:** sender

**Type:** text

**Default:** lid://infor.file.connector_test

#### Sender component ID

**Key:** component

**Type:** text

**Default:** External

#### Tenant ID

**Key:** tenant

**Type:** text

**Default:** infor

#### Accounting entity (LN company)

**Key:** entity

**Type:** text

**Default:** 100

#### Location ID (optional)

**Key:** location

**Type:** text

#### Action code

**Key:** action

**Type:** select

**Options:**

- Add
- Replace

**Default:** Add

#### BOD ID

**Key:** bodid

**Type:** text

**Default:** TEST-SO-0001

#### Creation date time (UTC)

**Key:** created

**Type:** text

**Default:** 2026-10-22T08:00:00Z

#### Sender order ID

**Key:** doc_id

**Type:** text

**Default:** PO-48213

#### Customer party ID

**Key:** customer

**Type:** text

**Default:** C00000123

#### Order date time

**Key:** order_date

**Type:** text

**Default:** 2026-10-22T00:00:00Z

#### Line 1 item

**Key:** item1

**Type:** text

**Default:** BRK-1001

#### Line 1 quantity

**Key:** qty1

**Type:** text

**Default:** 20

#### Line 2 item

**Key:** item2

**Type:** text

**Default:** BRK-1002

#### Line 2 quantity

**Key:** qty2

**Type:** text

**Default:** 5

#### Unit code

**Key:** uom

**Type:** text

**Default:** EA

**Blocks:**

#### ProcessSalesOrder BOD

**Body:** <?xml version="1.0" encoding="UTF-8"?>
<ProcessSalesOrder xmlns="http://schema.infor.com/InforOAGIS/2" releaseID="9.2">
  <ApplicationArea>
    <Sender>
      <LogicalID>{{sender}}</LogicalID>
      <ComponentID>{{component}}</ComponentID>
      <ConfirmationCode>OnError</ConfirmationCode>
    </Sender>
    <CreationDateTime>{{created}}</CreationDateTime>
    <BODID>{{bodid}}</BODID>
  </ApplicationArea>
  <DataArea>
    <Process>
      <TenantID>{{tenant}}</TenantID>
      <AccountingEntityID>{{entity}}</AccountingEntityID>
      <LocationID>{{location}}</LocationID>
      <ActionCriteria>
        <ActionExpression actionCode="{{action}}"/>
      </ActionCriteria>
    </Process>
    <SalesOrder>
      <SalesOrderHeader>
        <DocumentID>
          <ID>{{doc_id}}</ID>
        </DocumentID>
        <OrderDateTime>{{order_date}}</OrderDateTime>
        <CustomerParty>
          <PartyIDs>
            <ID>{{customer}}</ID>
          </PartyIDs>
        </CustomerParty>
      </SalesOrderHeader>
      <SalesOrderLine>
        <LineNumber>1</LineNumber>
        <Item>
          <ItemID>
            <ID>{{item1}}</ID>
          </ItemID>
        </Item>
        <Quantity unitCode="{{uom}}">{{qty1}}</Quantity>
      </SalesOrderLine>
      <SalesOrderLine>
        <LineNumber>2</LineNumber>
        <Item>
          <ItemID>
            <ID>{{item2}}</ID>
          </ItemID>
        </Item>
        <Quantity unitCode="{{uom}}">{{qty2}}</Quantity>
      </SalesOrderLine>
    </SalesOrder>
  </DataArea>
</ProcessSalesOrder>

**Notes:** Element names follow the Infor OAGIS (InforOAGIS/2) SalesOrder noun. Before testing, compare the skeleton with the SalesOrder BOD schema delivered with your ION version and add the versionID attribute your schema expects. Which LN field each element fills, and which elements LN requires on inbound (for example ship-to, order type or currency), is defined in the LN inbound SalesOrder BOD mapping document for your release on docs.infor.com or Infor Support; remove the LocationID element if your LN setup does not use it. Copy the SalesOrderLine element once per extra line.

## Content

**Intro:** This generator writes an OAGIS ProcessSalesOrder BOD skeleton you can drop into ION to test Infor LN inbound sales orders: ApplicationArea with sender and BOD ID, the Process verb with tenant, accounting entity and action code, a sales order header and order lines. Use it to prove the ION connection and the LN mapping before the real sender system is ready.

**Sections:**

#### How to use it

**Body:** Fill in the sender logical ID of the test connection point, your tenant, the LN company as accounting entity, the action code, a unique BOD ID, the sender's order ID, an existing customer and two existing items with quantities. Copy the XML, save it as a file and send it through the connection point you set up in ION Desk, for example a file or API connection point whose document flow routes ProcessSalesOrder to LN. Then watch for the AcknowledgeSalesOrder or the error in ION and check the BOD processing messages in LN. Use a fresh BOD ID for each test.

#### Structure of the BOD

**Body:** A BOD has two parts. ApplicationArea identifies the sender (LogicalID, ComponentID), when it was created and the BOD ID. DataArea holds the verb and the noun. For Process, the verb carries the tenant, accounting entity and location and the ActionCriteria with the action code, Add for a new order. The noun is SalesOrder with one SalesOrderHeader and one SalesOrderLine per order line. ConfirmationCode OnError asks the receiver to confirm only when processing fails, which keeps test noise down.

**Bullets:**

- Verb: Process, the sender asks LN to create or change the order
- Noun: SalesOrder, header plus lines
- Reply: AcknowledgeSalesOrder from LN

#### Mapping to LN

**Body:** How each element lands in LN, for example which LN field the sender order ID fills and how the customer party ID is matched to a sold-to business partner, is defined in the LN inbound SalesOrder BOD mapping document for your release. Read it before adding elements: LN usually needs more than this skeleton, such as ship-to, order type, currency or prices, depending on your setup and defaults. Item and customer IDs must exist in the LN company named as accounting entity. The DAL of the sales order tables runs on inbound BODs, so your own DAL checks apply as well.

#### Common failures

**Body:** The BOD never reaches LN: the document flow or connection point is not active, or the sender logical ID does not match the connection point. LN rejects it: the customer or item does not exist in that company, a mandatory field has no default, or a DAL check fails, and the acknowledgement or the error BOD says which. Duplicate orders: the same BOD resent with a new BOD ID and Add creates a second order. Wrong company: the accounting entity does not match the LN company your ION setup maps it to.

**Cta:** If you want order intake from emails or PDFs turned into reviewed ProcessSalesOrder BODs on your own servers, we can build that with a human approval step.

**Faq:**

#### Where are the Infor LN inbound BOD mapping and descriptions?

**Answer:** Infor publishes LN BOD mapping documents per release, describing for each inbound and outbound BOD which LN tables and fields the elements map to. Find them on docs.infor.com or the Infor Support Portal for your LN version, and use the SalesOrder inbound document for this BOD.

#### What is the difference between Process and Sync for sales orders?

**Answer:** Process asks the receiving system to do something, here create or change a sales order in LN, and the receiver answers with an Acknowledge. Sync tells other systems about a change the sender already made, with no business answer expected. Inbound orders to LN use Process.

#### How do I test a BOD without the real sender system?

**Answer:** Create a test connection point in ION Desk, add a document flow from it to LN for ProcessSalesOrder, and send a file like this one. Check the result in ION's message monitoring and in LN. Once that works, point the real sender at the same flow.

#### Does LN BOD development need code?

**Answer:** Not for standard BODs: LN ships the publishing and processing logic and you configure ION. Code comes in when you extend a BOD with user area fields or add checks, which in LN means DAL or extension logic plus mapping changes. Keep those in your own VRC.

## Search terms

infor ln inbound bod mapping and descriptions, infor ln bod development, infor ln bod mapping, process salesorder bod, processsalesorder xml example, infor ion bod test

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