- 6 minutes to read

2. Order Entry in ERP Finished

Step Overview

Step 2 occurs when the order has been successfully entered into the Enterprise Resource Planning (ERP) system. This confirms the order has been validated, added to inventory planning, and is ready for fulfillment.

Message Details

  • Message Type: O2C.Order.Entry/1.0
  • Domain: Planning
  • System: ERP
  • Service: ENT-Order-Entry
  • Direction: Send (Outgoing from ERP)
  • Format: XML
  • Log Status: 0 (Success) for complete entry, -1337 if entry fails
  • Timing: Typically 2-5 minutes after Order Received

Business Data (Happy Path)

Same customer and product data as Step 1:

  • Order ID: ORD-10001 (same as source order)
  • Customer ID: CUST-001
  • Product SKU: SKU-DEMO-001
  • Quantity: 1
  • Order Total: USD 99.95

Sample XML Message

This is the raw message payload that would be base64-encoded in the Log Event Body field.

<?xml version="1.0" encoding="utf-8"?>
<OrderEntry xmlns="http://schemas.acme.example/O2C/1.0">
  <OrderHeader>
    <OrderId>ORD-10001</OrderId>
    <OrderDate>2025-10-14T09:15:00Z</OrderDate>
    <EntryDate>2025-10-14T09:18:30Z</EntryDate>
    <OrderStatus>ENTERED</OrderStatus>
  </OrderHeader>
  <Customer>
    <CustomerId>CUST-001</CustomerId>
    <CustomerName>Acme Corporation</CustomerName>
    <CustomerEmail>orders@acme.example.com</CustomerEmail>
  </Customer>
  <OrderLines>
    <OrderLine>
      <LineId>1</LineId>
      <SKU>SKU-DEMO-001</SKU>
      <Description>Demo Widget</Description>
      <Quantity>1</Quantity>
      <UnitPrice>99.95</UnitPrice>
      <LineTotal>99.95</LineTotal>
      <InventoryReserved>true</InventoryReserved>
    </OrderLine>
  </OrderLines>
  <OrderTotal>99.95</OrderTotal>
  <Currency>USD</Currency>
  <ERPReferenceNumber>ERP-2025-10001</ERPReferenceNumber>
</OrderEntry>

Nodinite Log Event (JSON formatted)

This is the complete Log Event structure that would be sent to the Nodinite Log API. The XML message above is base64-encoded into the Body field.

Encoded Body

The XML message above, when base64-encoded, becomes:

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPK9yZGVyRW50cnkgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLmFjbWUuZXhhbXBsZS9PMkMvMS4wIj4KICAKICAKICAGPE9yZGVySGVhZGVyPgogICAgICA8T3JkZXJJZD5PUkQtMTAwMDE8L09yZGVySWQ+CiAgICAgIDxPcmRlckRhdGU+MjAyNS0xMC0xNFQwOToxNTowMFo8L09yZGVyRGF0ZT4KICAgICAgPEVudHJ5RGF0ZT4yMDI1LTEwLTE0VDA5OjE4OjMwWjwvRW50cnlEYXRlPgogICAgICA8T3JkZXJTdGF0dXM+RU5URVJFRDwvT3JkZXJTdGF0dXM+CiAgICA8L09yZGVySGVhZGVyPgogICAgPEN1c3RvbWVyPgogICAgICA8Q3VzdG9tZXJJZD5DVVNULTAN+L0N1c3RvbWVySWQ+CiAgICAgIDxDdXN0b21lck5hbWU+QWNtZSBDb3Jwb3JhdGlvbjwvQ3VzdG9tZXJOYW1lPgogICAgICA8Q3VzdG9tZXJFbWFpbD5vcmRlcnNAYWNtZS5leGFtcGxlLmNvbTwvQ3VzdG9tZXJFbWFpbD4KICAgIDwvQ3VzdG9tZXI+CiAgICA8T3JkZXJMaW5lcz4KICAgICAgPE9yZGVyTGluZT4KICAgICAgICA8TGluZUlkPjE8L0xpbmVJZD4KICAgICAgICA8U0tVPlNLVS1ERU1PLTAwMTwvU0tVPgogICAgICAgIDxEZXNjcmlwdGlvbj5EZW1vIFdpZGdldDwvRGVzY3JpcHRpb24+CiAgICAgICAgPFF1YW50aXR5PjE8L1F1YW50aXR5PgogICAgICAgIDxVbml0UHJpY2U+OTkuOTU8L1VuaXRQcmljZT4KICAgICAgICA8TGluZVRvdGFsPjk5Ljk1PC9MaW5lVG90YWw+CiAgICAgICAgPEludmVudG9yeVJlc2VydmVkPnRydWU8L0ludmVudG9yeVJlc2VydmVkPgogICAgICA8L09yZGVyTGluZT4KICAgIDwvT3JkZXJMaW5lcz4KICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKKICAGIDXPCMRLCLRVDGFSPJK5Ljk1PC9PcmRlclRvdGFsPgogICAgPEN1cnJlbmN5PlVTRDwvQ3VycmVuY3k+CiAgICA8RVJQUFJGZXN0YW1jZU51bWJlcj5FUlAtMjAyNS0xMDAwMTwvRVJQUmVmZXJlbmNlTnVtYmVyPgogIDwvT3JkZXJFbnRyeT4=

Full Nodinite Log Event

{
  "LogAgentValueId": -5,
  "EndPointName": "ERP-OrderEntry-Send",
  "EndPointUri": "C:\\Integration\\ERP\\Orders\\Out",
  "EndPointDirection": 1,
  "EndPointTypeId": 60,
  "OriginalMessageTypeName": "O2C.Order.Entry/1.0",
  "LogDateTime": "2025-10-14T09:18:45.456Z",
  "EventDirection": 18,
  "ProcessingUser": "ERP\\IntegrationService",
  "SequenceNo": 1,
  "EventNumber": 1,
  "LogText": "Order Entry in ERP Finished",
  "ApplicationInterchangeId": "PIC-20251022-0001",
  "LocalInterchangeId": null,
  "LogStatus": 0,
  "ProcessName": "O2C-Order-Planning",
  "ProcessingMachineName": "erp-server-01",
  "ProcessingModuleName": "ERP.Order.EntryService",
  "ProcessingModuleType": "WindowsService",
  "ServiceInstanceActivityId": null,
  "ProcessingTime": 156,
  "Body": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPK9yZGVyRW50cnkgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLmFjbWUuZXhhbXBsZS9PMkMvMS4wIj4KICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKKICAGIDXPCMRLCLRVDGFSPJK5Ljk1PC9PcmRlclRvdGFsPgogICAgPEN1cnJlbmN5PlVTRDwvQ3VycmVuY3k+CiAgICA8RVJQUFJGZXN0YW1jZU51bWJlcj5FUlAtMjAyNS0xMDAwMTwvRVJQUmVmZXJlbmNlTnVtYmVyPgogIDwvT3JkZXJFbnRyeT4=",
  "Context": {
    "FileName": "ORD-10001-entry.xml",
    "OrderNumber": "ORD-10001",
    "CustomerId": "CUST-001",
    "CustomerName": "Acme Corporation",
    "OrderAmount": "99.95",
    "ERPReferenceNumber": "ERP-2025-10001",
    "ExtendedProperties/1.0#RepositoryBinding": "{\"Name\":\"Order Entry\",\"Service\":{\"Name\":\"INT1337-ENT-Order-Entry\",\"Direction\":\"Send\",\"System\":{\"Name\":\"ERP\"},\"Integration\":{\"Name\":\"INT1337 - Order-to-Cash\"},\"ExternalServiceRelations\":[{\"Name\":\"INT1337-RCV-Order-Incoming\",\"System\":{\"Name\":\"Portal\"}}],\"BPMs\":[{\"Name\":\"INT1337 - Order-to-Cash Flow\",\"ArtifactRenaming\":\"Order Entry in ERP Finished\",\"Domain\":{\"Name\":\"Planning\",\"Index\":1},\"Step\":1,\"ServiceRelations\":[{\"Name\":\"INT1337-RCV-Order-Incoming\",\"Direction\":\"Receive\",\"Domain\":{\"Name\":\"Sales\",\"Index\":0},\"Step\":0,\"Label\":\"Order Received\",\"ConnectorStyle\":1,\"SourceAttachmentPoint\":2,\"TargetAttachmentPoint\":0}]}]}}"
  }
}

Key Points

  1. XML Format: The XML namespace (http://schemas.acme.example/O2C/1.0) can be used by Nodinite to auto-detect the Message Type
  • Correlation: Same CorrelationId ({PREFIX}-{DATEPART}-{SEQUENCE}) maintains linkage from Step 1
  1. ERP Reference: The ERPReferenceNumber context property enables tracing back to ERP
  2. Increased Processing Time: 156ms indicates ERP processing overhead vs. Step 1 (45ms)
  3. Send Direction: EndPointDirection: 1 indicates data flows outward from ERP
  4. Sequence Number: Incremented to 1 to show processing order
  5. Repository Binding: Includes an external service relation to Step 1's RCV-Order-Incoming service in the Portal system

Repository Binding for Step 2

This log event includes a Repository Binding JSON that defines:

  • Service: INT1337-ENT-Order-Entry with Direction Send
  • System: ERP
  • Integration: INT1337 - Order-to-Cash
  • ExternalServiceRelations: Links to INT1337-RCV-Order-Incoming in the Portal system (the data source)
  • BPM: Specifies this is Step 1 in the Planning domain (Index 1) with milestone name "Order Entry in ERP Finished"
  • BPM ServiceRelations: Includes a relation back to the INT1337-RCV-Order-Incoming service showing the incoming data flow from Step 0 (Sales domain) with:
    • Label: "Order Received" - Displays on the connector arrow in the UI
    • ConnectorStyle: 1 - Orthogonal connector with arrow (recommended for main process flows)
    • SourceAttachmentPoint: 2 - Arrow originates from the bottom of Step 1 (Planning/ERP box)
    • TargetAttachmentPoint: 0 - Arrow terminates at the top of Step 0 (Sales/Portal box)

The BPM ServiceRelations structure creates the visual connector between steps in the process diagram. This shows that Step 1 (Planning domain) receives data from Step 0 (Sales domain). The Syncfusion connector routing style 1 (orthogonal with arrow) creates right-angle paths that work well in dense integration landscapes. When processed with AllowRepositoryAutomapping=true, these connections build the complete BPM visualization.


HTTP Request to Log API

The Log Event above would be sent as a POST request:

POST /api/v2/LogEvents HTTP/1.1
Host: nodinite-api.example.com
Content-Type: application/json
x-ms-client-tracking-id: {PREFIX}-{DATEPART}-{SEQUENCE}
Authorization: Bearer YOUR_API_KEY

{
  "LogAgentValueId": -5,
  "EndPointName": "ERP-OrderEntry-Send",
  ...
}