Infor LN Inbound Process.SalesOrder BOD XML Template
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.
Fill in
ProcessSalesOrder BOD
<?xml version="1.0" encoding="UTF-8"?>
<ProcessSalesOrder xmlns="http://schema.infor.com/InforOAGIS/2" releaseID="9.2">
<ApplicationArea>
<Sender>
<LogicalID>lid://infor.file.connector_test</LogicalID>
<ComponentID>External</ComponentID>
<ConfirmationCode>OnError</ConfirmationCode>
</Sender>
<CreationDateTime>2026-10-22T08:00:00Z</CreationDateTime>
<BODID>TEST-SO-0001</BODID>
</ApplicationArea>
<DataArea>
<Process>
<TenantID>infor</TenantID>
<AccountingEntityID>100</AccountingEntityID>
<LocationID>[Location ID (optional)]</LocationID>
<ActionCriteria>
<ActionExpression actionCode="Add"/>
</ActionCriteria>
</Process>
<SalesOrder>
<SalesOrderHeader>
<DocumentID>
<ID>PO-48213</ID>
</DocumentID>
<OrderDateTime>2026-10-22T00:00:00Z</OrderDateTime>
<CustomerParty>
<PartyIDs>
<ID>C00000123</ID>
</PartyIDs>
</CustomerParty>
</SalesOrderHeader>
<SalesOrderLine>
<LineNumber>1</LineNumber>
<Item>
<ItemID>
<ID>BRK-1001</ID>
</ItemID>
</Item>
<Quantity unitCode="EA">20</Quantity>
</SalesOrderLine>
<SalesOrderLine>
<LineNumber>2</LineNumber>
<Item>
<ItemID>
<ID>BRK-1002</ID>
</ItemID>
</Item>
<Quantity unitCode="EA">5</Quantity>
</SalesOrderLine>
</SalesOrder>
</DataArea>
</ProcessSalesOrder>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.
Get your BOD test reviewed
Send us your BOD (with customer data removed), the error and your LN version, and we will point out the missing mapping or setup step.
Optional. The tool and every export work without this. No spam.
How to use it
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
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.
- Verb: Process, the sender asks LN to create or change the order
- Noun: SalesOrder, header plus lines
- Reply: AcknowledgeSalesOrder from LN
Mapping to LN
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
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.
Frequently Asked Questions
Where are the Infor LN inbound BOD mapping and descriptions?
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?
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?
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?
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.
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.
Related Tools
Infor LN ION API OAuth 2.0 REST Call Generator (Python)
Generate a Python script that authenticates with an ION API .ionapi service account file and calls an LN REST or OData service, with clear error handling.
Developer ToolsInfor LN AFS (stpapi) Session Automation Script Generator
Generate Application Function Server (AFS) functions that insert, update and delete records through a standard LN session without its user interface.
Developer ToolsInfor LN DAL Script Template Generator
Generate a Data Access Layer (DAL) script skeleton for an LN table with object hooks, a field check hook, a mandatory hook and error message handling.
Infor M3 & CloudSuiteInfor ION BOD Verbs and Nouns Reference for M3
Look up what each ION BOD verb does, common nouns used with M3, and key ION components in plain language.
More Developer Tools tools
See all- Infor LN DAL and User Exit Hook Functions Reference
- Infor LN User Exit (UE) DLL Template Generator
- Infor LN Report Script Template Generator
- SAP Sales Order ABAP SELECT Generator (VBAK, VBAP, VBFA)
- SAP Sales Order Create BAPI ABAP Generator (BAPI_SALESORDER_CREATEFROMDAT2)
- SAP ABAP Open Items SELECT Generator
- SAP ACDOCA SQL Query Generator
- SAP QM Inspection Lot ABAP SELECT Generator
- SAP Quality Notification Pareto SQL Query Generator
Keep exploring
Free tools
- Infor ION BOD XML Shell GeneratorPick a verb and noun and get a correctly structured Infor OAGIS BOD envelope for ION, with the matching Acknowledge and ConfirmBOD skeletons.
- Infor LN BOD Publishing Sessions and Nouns ReferenceSearchable map of the BOD nouns Infor LN 10.x publishes to ION, the initial load session for each (tcbod0200m000, tdbod0200m000, whbod0200m000 and more) and the setup sessions around them.
- Infor LN DAL Script Template GeneratorGenerate a Data Access Layer (DAL) script skeleton for an LN table with object hooks, a field check hook, a mandatory hook and error message handling.
ERP fixes and how-tos
- Infor LN Inbound BOD Mapping and DescriptionsWhat a BOD is, the full form, how Infor LN receives inbound BODs through ION, how integration document types and mapping work, and how to read the fields.
- How to publish a BOD from Infor LN to Infor IONEnable BOD publish on an Infor LN table, connect it to your ION connection point, and build the document flow in ION Desk so other systems receive the data.
- Infor LN and M3 BOD Documentation: Definitions, Mapping and Tracing in IONWhere to find BOD definitions for Infor LN and M3, how outbound BOD mapping works, what the M3 BOD processor does, and how to trace a BOD through ION.
Runs with your ERP
- XEDI EDI Integration with Infor LN (ION BODs)How XEDI translates X12 and EDIFACT into Infor BODs routed through ION for Infor LN, plus SyteLine and M3. Setup steps, data flows, pitfalls and FAQ.
- SPS Commerce Fulfillment with Infor SyteLine: EDI orders, ASNs and invoices over IONHow SPS Commerce Fulfillment exchanges orders, ASNs and invoices with Infor SyteLine using ION BOD XML. Also covers LN, M3 and VISUAL, with setup and pitfalls.
Guides
- Infor LN API Development: REST, SOAP, and BOD Integration GuideBuild integrations with Infor LN APIs using BODs, web services, and the LN Integration Framework. Developer guide for LN REST and SOAP endpoint programming.
- Infor LN ION API Integration GuideInfor ION API guide for LN: when to use the ION API gateway, BOD messaging or file-based exchange, how OAuth 2.0 access works, and how to secure calls.
- Salesforce to Infor LN Data Integration GuideInfor Salesforce integration for Infor LN: sync customers, orders and pricing between Salesforce CRM and LN using ION, BODs and REST APIs. SyteLine covered too.
AI on your ERP
- AI for Infor LN: Sessions, BODs, and Engineer-to-Order WorkAdd grounded AI to Infor LN 10.x or CloudSuite: natural-language answers over sessions and BODs, agents for project and engineer-to-order work, on-prem options.
- AI for Infor LN Warehousing: Inventory, Inbound and Outbound Exceptions Made SearchableAI for Infor LN Warehousing: trace inventory discrepancies and inbound or outbound exceptions in plain language. On-prem option, approval on writes.