SO Order Transaction (XML)

SO Order Transaction (XML)

Element

Parent

Required

Data Type

Description

Valid Values

Element

Parent

Required

Data Type

Description

Valid Values

SalesOrders











SalesOrder

SalesOrders









Header

SalesOrder









Company

Header

Yes

VARCHAR(15)

This is the ID of the company that you are sending data for. The value must match an entry in ERPx_MFDataEntityCompany for the Company ID column.



User

Header

No

VARCHAR(110)

This is the user who is completing the transaction. Does not have to be a valid NS user.



Order

Header

Yes

VARCHAR(50)

This is the NorthScope sales order or return number. It must match an entry in the ERPx_SOOrderHeader table, column OrderID that has not yet been shipped.



OrderType

Header

Yes

VARCHAR(25)

This is the type of order being integrated.

Order, Return

Status

Header

Yes

VARCHAR(25)

This is the header status for the order. Line item statuses over-ride header status so this value is not always used.

New, In Process, Staging, Loading, Shipped

Dates

Header









ActualShipDate

Dates

No

DATETIME

This is the date the order actually shipped and is required if the order is being shipped.



Workflow

Dates

No

VARCHAR(100)

Workflow that the order is being moved to. Must match an entry from ERPx_WKWorkflow table for the appropriate transaction type and site.



PurchaseOrder

Dates

No

VARCHAR(20)

Not used at this time but included for future features.



Carrier

Dates

No

VARCHAR(50)

Must match a valid Carrier Name from the ERPx_SOCarrier table.



Lines

SalesOrder









Line

Lines









Item

Line

Yes

VARCHAR(50)

This should match an Item ID on the order that you are trying to update. Additionally, the Item ID sent must be the correct item for the Sequence line you are updating. The only exception to this rule is if you are sending a substitute item.



Sequence

Line

No

BIGINT

This should match a valid OrderItemSK value for the order you are updating in the ERPx_SOOrderItem table. 



IsSubstitute

Line

No

VARCHAR(3)

Identifies if you are sending a substitute item instead of the ordered item. If 'Yes', the Item value must be a valid substitute for the original item that was ordered and the SequenceValue should be the value of that originally ordered line.

Yes or <blank>

Carrier

Line

No

VARCHAR(50)

Must match a valid Carrier Name from the ERPx_SOCarrier table.



Site

Line

Yes

VARCHAR(20)

This is the site that the item is shipping from. The value must match a valid Site ID from the ERPx_SOCarrier table.



Status

Line

Yes

VARCHAR(25)

This should be the status that the order line is being updated to.

New, In Process, Staging, Loading, Shipped

ScheduledShip

Line

No

DATETIME

This is the scheduled ship date for this order line.



Allocations

Line

Yes







Allocation

Allocations

Yes







AllocatedUnits

Allocation

No

NUMERIC(18,5)

This should be the total units that are being allocated to this line or lot (if an item is lot tracked). The attribute for UOMID should contain a valid units unit of measure ID for the item being allocated.



AllocatedWeight

Allocation

No

NUMERIC(18,5)

This should be the total weight that is being allocated to this line or lot (if an item is lot tracked). The attribute for UOMID should contain a valid weight unit of measure ID for the item being allocated.



Lot

Allocation

No

VARCHAR(50)

This is the production batch (or "lot") number that is being allocated if an item is lot tracked.



Owner

Allocation

No

VARCHAR(25)

This is the name of the owner assigned to the lot. Must be a valid owner configured in the system. 



Example:

<SalesOrders> 
<SalesOrder> 
<Header Operation="Allocate">          
<Company Type="ID">XYZ</Company>         
<User Type="ID">UserA</User>        
<Order Type="ID">12345</Order>   
<OrderType Type="ID">Order</OrderType>
<Status Type="ID">Shipped</Status>              
<Dates>       
<ActualShip>2018-01-11 19:01:02</ActualShip>       
</Dates>     
<Workflow Type="ID" />       
<PurchaseOrder />  
<Carrier Type="ID" />             
</Header>    
<Lines>           
<Line>           
<Item Type="ID">54321</Item>     
<Sequence>101001</Sequence>    
<IsSubstitute />      
<Carrier Type="ID" />           
<Site Type="ID">ABC</Site>             
<Status Type="ID">Shipped</Status>           
<ScheduledShip>2018-01-11 19:01:02</ScheduledShip>      
<Allocations Automatic="False">    
<Allocation>           
<AllocatedUnits UOMID="CASE">1.00000</AllocatedUnits>          
<AllocatedWeight UOMID="LB">10.60000</AllocatedWeight>     
<Lot Type="ID">18000</Lot>      
<Owner>NLP</Owner> 
</Allocation>         
</Allocations>         
</Line>         
      <Line>           
<Item Type="ID">98765</Item>     
<Sequence>102002</Sequence>    
<IsSubstitute>Yes</IsSubstitute>    
<Carrier Type="ID" />           
<Site Type="ID">ABC</Site>             
<Status Type="ID">Shipped</Status>           
<ScheduledShip>2018-01-11 19:01:02</ScheduledShip>      
<Allocations Automatic="False">    
<Allocation>           
<AllocatedUnits UOMID="CASE">1.000000</AllocatedUnits>        
            <AllocatedWeight UOMID=""></AllocatedWeight>            
<Lot Type="ID">18300</Lot>       
</Allocation>         
</Allocations>      
</Line>         
</Lines>         
</SalesOrder>
</SalesOrders>

Example of a unit only item:

      <Line>           
<Item Type="ID">10000</Item>     
<Sequence>102004</Sequence>    
  <IsSubstitute />     
<Carrier Type="ID" />           
<Site Type="ID">ABC</Site>             
<Status Type="ID">Shipped</Status>           
<ScheduledShip>2018-01-11 19:01:02</ScheduledShip>      
<Allocations Automatic="False">    
<Allocation>           
<AllocatedUnits UOMID="CASE">1.000000</AllocatedUnits>            
<Lot Type="ID">18300</Lot>       
</Allocation>         
</Allocations>      
</Line> 


Example of a weight only item:

      <Line>           
<Item Type="ID">10050</Item>     
<Sequence>102005</Sequence>    
<IsSubstitute />         
<Carrier Type="ID" />           
<Site Type="ID">ABC</Site>             
<Status Type="ID">Shipped</Status>           
<ScheduledShip>2018-01-11 19:01:02</ScheduledShip>      
<Allocations Automatic="False">    
<Allocation>           
<AllocatedWeight UOMID="LB">35.000000</AllocatedWeight>            
<Lot Type="ID">18300</Lot>       
</Allocation>         
</Allocations>      
</Line> 


Example of a fixed weight or variable weight item where both units and weight are required:

      <Line>           
<Item Type="ID">10075</Item>     
<Sequence>102006</Sequence>    
<IsSubstitute />         
<Carrier Type="ID" />           
<Site Type="ID">ABC</Site>             
<Status Type="ID">Shipped</Status>           
<ScheduledShip>2018-01-11 19:01:02</ScheduledShip>      
<Allocations Automatic="False">    
<Allocation>           
<AllocatedUnits UOMID="CASE">1.000000</AllocatedUnits>   
<AllocatedWeight UOMID="LB">50.000000</AllocatedWeight>             
<Lot Type="ID">18300</Lot>       
</Allocation>         
</Allocations>      
</Line>