System is able of two-way communication with vendor’s ERP and SCM through B2B interface. For this communication two message types defined by B2B are used. Order requests (OR) are send directly to B2B interface from AP. Order acknowledgments (OA) are received in endpoint running on MMA and forwarded to specific AP installation and customer based on contained information.
Order request
OR are send when order is created on the system side in XML format. XML structure is defined according B2B OR schema (see B2B documentation for details). When created, OR is send to B2B interface defined in vendor detail in AP. Example of OR with information within is shown below, information filled by the system is described:
<?xml version="1.0"?> <PurchaseOrderCreateRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tooling.sandvik.com:MarketingBusiness:GlobalDataTypes"> <MessageHeader xmlns=""> <ID>749a28d5af8f473292640369e3f75fc7</ID> - automatically generetated GUI for unique identification <CreationDateTime>2017-01-02T13:00:06.411264Z</CreationDateTime> - time when OR has been generated <SenderParty> <InternalID>SmartSupply</InternalID> - sender identification (always set like this) </SenderParty> <RecipientParty> <InternalID>1</InternalID> - identification of receiver, filled from MasterData.Vendor.IntegrationId, for identification of receiving system </RecipientParty> </MessageHeader> <PurchaseOrder xmlns=""> <ID>2-18-157</ID> - order ID (system generated or based on custom order ID range based on system settings), including any ID prefix is such is set for an order <PurchaseOrderTypeCode>TB2B</PurchaseOrderTypeCode> <ProcessingTypeCode>NOR</ProcessingTypeCode> - NOR when order is not consignment, CON if order is consignment, Z1KE for consignment invoice request (billing order), SERV for service orders <BuyerPostingDateTime>2017-01-02T13:00:06.411264Z</BuyerPostingDateTime> - time when OR has been generated <BuyerParty> <SellerID>123456</SellerID> - ID of customer in receiving system, filled from MasterData.Vendor.CustomerNumber </BuyerParty> <ProductRecipientParty> <SellerID>Ship to ID</SellerID> - Address ID of customer in vendor’s system. Filled from Vendor.CustomerShipToId or from Order.CustomShipToId if order overrides vendor's value. If not set on both vendor and order, this node is not part of OR <Address> <OrganisationFormattedName>Customer name</OrganisationFormattedName> - Custumer name from System settings – Company information – Name. Empty if not set <PhysicalAddress> <CountryCode>VN</CountryCode> - Two digit country code of stock address, filled from Stock.Stock.CountryCode <RegionCode>COL</RegionCode> - Maximum six characters region code of stock address, filled from Stock.Stock.RegionCode <StreetPostalCode>487931</StreetPostalCode> - Postal code of stock address, filled from Stock.Stock.PostalCode <CityName>Ho Chi Minh's City</CityName> - City of stock address, filled from Stock.Stock.City <StreetName>RedRoad 3210</StreetName> - Street and street number of stock address, filled as combination of Stock.Stock.Street+” “+Stock.Stock.StreetNumber </PhysicalAddress> </Address> </ProductRecipientParty> <TextCollection> <Text> <TypeCode>Z005</TypeCode> - always set to this value when order notes are available <ContentText>My order notes</ContentText> - Order notes mapped from Order.Notes </Text> </TextCollection> <References> <BODReference> <ReferenceType>DropShipOrderRef</ReferenceType> - always set to this value for order reference <ReferenceID>My order reference</ReferenceID> - order reference mapped from Order.Reference </BODReference> <BODReference> <ReferenceType>MarkingCode</ReferenceType> - always set to this value for stock/device name <ReferenceID>Stock/device name</ReferenceID> - Stock name (in case of stock level orders) or device name (in case of device level orders) </BODReference> <BODReference> <ReferenceType>CustomerAccount</ReferenceType> - always set to this value for technical order ID <ReferenceID>5-178-9162-PO</ReferenceID> - technical order and customer identification, mapped as <system ID>-<customer ID>-<order technical ID>-<PO/SO> </BODReference> </References> <Item> <ID>1</ID> - order number of item, starting from 1 with increment of 1 for each item in the order <Product> <OrderingCode>5730129</OrderingCode> - Purchase.PurchaseOrderItem.OrderCode, identification of item on vendor side <BuyerID>abcd</BuyerId> - Purchase.PurchaseOrderItem.VASContent when Purchase.PurchaseOrderItem.HasValueAddedServices=true. Otherwise Purchase.PurchaseOrderItem.ExternalId </Product> <ValueAddedService> - present only when Purchase.PurchaseOrderItem.HasValueAddedServices=true <CategoryCode>2</CategoryCode> - fixed value <Code>Code</Code> - Purchase.PurchaseOrderItem.VASCode <TypeCode>102</TypeCode> - Purchase.PurchaseOrderItem.VASTypeCode <ItemCreateIndicator>true</ItemCreateIndicator> - fixed value </ValueAddedService> <ShipToLocation> <UnloadingLocation> <InternalID>Target device</InternalID> - Name of target device for which this item is ordered. Taken from Purchase.Order.DeviceName for device level orders or Purchase.PurchaseOrderItem.DeviceName for stock level orders </UnloadingLocation> </ShipToLocation> <DateTerms> <RequestedDate>2025-04-16</RequestedDate> - Purchase.PurchaseOrderItem.RequestedDeliveryDate, requested date of delivery defined by customer </DateTerms> <TextCollection> <Text> <TypeCode>Z125</TypeCode> - always set to this value for notes on item level <ContentText>Ordered item note</ContentText> - note from ordered item mapped from Order.PurchaseOrderItem.Note </Text> </TextCollection> <TotalValues> <RequestedQuantity>10</RequestedQuantity> - Purchase.PurchaseOrderItem.TotalQuantity, ordered quantity in purchase unit of measure for purchase orders or dispense unit of measure for service orders and consignment invoices </TotalValues> </Item> </PurchaseOrder> </PurchaseOrderCreateRequest>
Order acknowledgment
OA are generated by vendor system based on received OR and send back through B2B interface. There is only one endpoint for all customers and brand installations, this endpoint is running on MMA application. Based on OA id MMA forwards this OA to target brand and customer. Example of OA is shown below, fields mapped back to the system are highlighted and described.
<?xml version="1.0" encoding="utf-16"?> <PurchaseOrderCreateConfirmation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tooling.sandvik.com:MarketingBusiness:GlobalDataTypes"> <MessageHeader xmlns=""> <CreationDateTime>2016-12-05T14:46:50Z</CreationDateTime> </MessageHeader> <PurchaseOrderConfirmation xmlns=""> <StatusCode>0</StatusCode> <ID>2-18-11</ID> - order ID (system generated or based on custom order ID range based on system settings), including any ID prefix is such is set for an order. Returned based on ID from order request. <PurchaseOrderTypeCode>TB2B</PurchaseOrderTypeCode> <ProcessingTypeCode>z1or</ProcessingTypeCode> <SalesAndServiceBusinessArea> <SalesOrganisationID>Missing SalesOrganisationID conversion entry for SmartSupply/#COR_SE</SalesOrganisationID> <DistributionChannelCode>t1</DistributionChannelCode> <DivisionCode>t1</DivisionCode>
</SalesAndServiceBusinessArea> <SellerID>415300</SellerID> - id of order on vendor side, stored as Purchase.Order.TrackingNumber <BuyerPostingDateTime>2016-11-30T00:00:00Z</BuyerPostingDateTime> <BuyerParty> <SellerID>700617</SellerID> <Address> <OrganisationFormattedName>NORDHYDRAULIC AB</OrganisationFormattedName> <PhysicalAddress> <CountryCode>SE</CountryCode> <CountryName>Sverige</CountryName> <StreetPostalCode>872 24</StreetPostalCode> <CityName>KRAMFORS</CityName> <StreetName>BOX 189</StreetName> </PhysicalAddress> </Address> </BuyerParty>
<SellerParty> <SellerID>COR</SellerID> <Address> <OrganisationFormattedName>SANDVIK COROMANT NORDEN AB</OrganisationFormattedName> <PhysicalAddress> <CountryCode>SE</CountryCode> <CountryName>SWEDEN</CountryName> <StreetPostalCode>164 93</StreetPostalCode> <CityName>KISTA</CityName> <StreetName>FÄRÖGATAN 7</StreetName> </PhysicalAddress> </Address> <ContactPerson> <Address> <Communication />
</Address> </ContactPerson> </SellerParty> <DeliveryTerms> <Incoterms> <ClassificationCode>00</ClassificationCode> <TransferLocationName>Fraktfritt på elektroniska o</TransferLocationName> </Incoterms> </DeliveryTerms> <CashDiscountTerms> <Code>30</Code> <Description>30 Dgr från fakturadatum,nettodröjsmålsränta utgår däreftermed 8% över gällande </Description> </CashDiscountTerms> <TotalValues> <GrossAmount currencyCode="SEK">4426.50</GrossAmount>
<TotalAmount currencyCode="SEK">4426.50</TotalAmount> </TotalValues> <References> <BODReference> <ReferenceType>CustomerAccount</ReferenceType> - type identifies technical order ID <ReferenceID>5-178-9162-PO</ReferenceID> - technical order and customer identification, mapped as <system ID>-<customer ID>-<order technical ID>-<PO/SO>. Returned based on ID from order request. </BODReference> </References> <Item> <StatusCode>0</StatusCode> <ID>3</ID> <SellerID>40</SellerID> <Product> <OrderingCode>R826C-BF23STUC11HP</OrderingCode> </Product> <Price> <NetAmount currencyCode="SEK">4426.50</NetAmount> </Price> <ConfirmedPrice> <NetUnitPrice> <Amount currencyCode="SEK">885.30</Amount> <BaseQuantity>1</BaseQuantity> </NetUnitPrice> <GrossUnitPrice> <Amount currencyCode="SEK">1135.00</Amount> <BaseQuantity>1</BaseQuantity>
</GrossUnitPrice> </ConfirmedPrice> <ProductRecipientParty> <SellerID>700617</SellerID> <Address> <OrganisationFormattedName>NORDHYDRAULIC AB</OrganisationFormattedName> <PhysicalAddress> <CountryCode>SE</CountryCode> <CountryName>Sverige</CountryName> <StreetPostalCode>872 32</StreetPostalCode> <CityName>KRAMFORS</CityName> <StreetName>INDUSTRIVÄGEN 15</StreetName> </PhysicalAddress> </Address> <ContactPerson> <Address /> </ContactPerson> </ProductRecipientParty>
<DateTerms> <RequestedDate>2016-12-01</RequestedDate> </DateTerms> <TotalValues> <RequestedQuantity>5</RequestedQuantity> </TotalValues> <ConfirmedScheduleLine> <DeliveryPeriod> <StartDateTime timeZoneCode="UTC+01">2016-12-05T00:00:00Z</StartDateTime> - expected date of delivery, stored to Purchase.PurchaseOrderItemHistory.Date with Type=1 </DeliveryPeriod> <Quantity>5</Quantity> - expected quantity in specified date, stored to Purchase.PurchaseOrderItemHistory.Quantity </ConfirmedScheduleLine> </Item> </PurchaseOrderConfirmation> </PurchaseOrderCreateConfirmation>
Purchase.Order.ReceivedByVendorDate is filled with date and time when OA has been received.