Skip to content
Build 8b0b16e

Target B2B — the 850, the 940, and what we send Cirro

Proof exercise — real prod order, nothing wired

PO 10001912470-0594 · OMS ORD225332 · Target · pulled 2026-06-02. POs and SKUs are real — this is an internal page. Part of CI-240 (XB → Cirro B2B migration). Raw 850/940 archived in the camel repo at reference/cirro/edi-samples/. See the Overview for the cross-vendor structure, the three data gaps, and the open questions for Cirro.


The 850 — Purchase Order

Header verbatim; 20 line items, all the identical shape, middle elided (full file in edi-samples/).

<?xml version="1.0" encoding="UTF-8"?>
<PurchaseOrders ...><PurchaseOrder>
    <Header>
        <OrderHeader>
            <TradingPartnerId>009ALLPOPSOCKET</TradingPartnerId>
            <PurchaseOrderNumber>10001912470-0594</PurchaseOrderNumber>
            <TsetPurposeCode>00</TsetPurposeCode>
            <PurchaseOrderTypeCode>SA</PurchaseOrderTypeCode>
            <PurchaseOrderDate>2026-06-01</PurchaseOrderDate>
            <ContractNumber>D</ContractNumber>
            <ShipCompleteCode>N</ShipCompleteCode>
            <Department>080</Department>
            <Vendor>1976790</Vendor>
            <CarrierAlphaCode>USE VRS</CarrierAlphaCode>
            <FOBPayCode>DF</FOBPayCode>
            <FOBLocationQualifier>OR</FOBLocationQualifier>
            <FOBLocationDescription>CITY OF INDUSTRY CA</FOBLocationDescription>
        </OrderHeader>
        <PaymentTerms>
            <TermsType>01</TermsType><TermsBasisDateCode>2</TermsBasisDateCode>
            <TermsDiscountPercentage>2</TermsDiscountPercentage><TermsDiscountDueDays>75</TermsDiscountDueDays>
        </PaymentTerms>
        <Date><DateTimeQualifier1>037</DateTimeQualifier1><Date1>2026-06-11</Date1></Date>
        <Date><DateTimeQualifier1>038</DateTimeQualifier1><Date1>2026-06-12</Date1></Date>
        <Address>
            <AddressTypeCode>BY</AddressTypeCode>
            <LocationCodeQualifier>92</LocationCodeQualifier>
            <AddressLocationNumber>0594</AddressLocationNumber>      <!-- Target DC # -->
            <AddressName>TARGET DC 0594</AddressName>
            <Address1>166 CORPORATE DR</Address1>
            <City>LUGOFF</City><State>SC</State><PostalCode>29078</PostalCode><Country>US</Country>
        </Address>
    </Header>
    <LineItems>
        <LineItem><OrderLine>
            <LineSequenceNumber>1</LineSequenceNumber>
            <BuyerPartNumber>080083637</BuyerPartNumber>             <!-- DPCI (Target SKU) -->
            <VendorPartNumber>806922</VendorPartNumber>             <!-- our SKU -->
            <ConsumerPackageCode>840173741801</ConsumerPackageCode> <!-- UPC -->
            <PartDescription1>PopSockets PW+ MS-Black</PartDescription1>
            <OrderQty>40</OrderQty><OrderQtyUOM>EA</OrderQtyUOM>
            <UnitPrice>17.596</UnitPrice><UnitPriceBasis>WE</UnitPriceBasis>
            <RetailUnitPrice>39.99</RetailUnitPrice>
            <OuterPack>20</OuterPack><InnerPack>2</InnerPack>
        </OrderLine></LineItem>

        <!-- ... 19 more line items, identical shape:
             LineSequenceNumber + BuyerPartNumber (DPCI) + VendorPartNumber (our SKU)
             + ConsumerPackageCode (UPC) + PartDescription1 + qty/price. ... -->

    </LineItems>
</PurchaseOrder>
</PurchaseOrders>

The 940 — Warehouse Shipping Order

Header verbatim; 20 line items, identical shape, middle elided (pretty-printed; raw single-line file in edi-samples/).

<WarehouseShippingOrders ...><WarehouseShippingOrder>
  <Header>
    <OrderHeader>
      <TradingPartnerId>CIRRO-TGT</TradingPartnerId>
      <DepositorOrderNumber>ORD225332</DepositorOrderNumber>
      <RecordType>HO</RecordType>
      <DepositorPurchaseOrderNumber>10001912470-0594</DepositorPurchaseOrderNumber>
      <OrderStatusCode>N</OrderStatusCode>
      <PurchaseOrderTypeCode>SA</PurchaseOrderTypeCode>
      <ShipmentMethodOfPayment>W</ShipmentMethodOfPayment>
      <CarrierTransMethodCode>L</CarrierTransMethodCode>
      <CarrierRouting>ROUTEGUIDE</CarrierRouting>
      <CarrierAlphaCode>TARG</CarrierAlphaCode>
    </OrderHeader>
    <Reference><ReferenceQual>L1</ReferenceQual><ReferenceID>NATIONAL</ReferenceID></Reference>
    <Reference><ReferenceQual>PD</ReferenceQual></Reference>
    <Reference><ReferenceQual>SE</ReferenceQual></Reference>
    <Reference><ReferenceQual>IA</ReferenceQual><ReferenceID>1976790</ReferenceID></Reference>
    <Reference><ReferenceQual>PH</ReferenceQual><ReferenceID>C02682</ReferenceID></Reference>
    <Reference><ReferenceQual>CO</ReferenceQual><ReferenceID>10001912470-0594</ReferenceID></Reference> <!-- PO -->
    <Reference><ReferenceQual>SI</ReferenceQual><ReferenceID>ORD225332</ReferenceID></Reference>       <!-- order # -->
    <Reference><ReferenceQual>LU</ReferenceQual><ReferenceID>009ALLPOPSOCKET</ReferenceID></Reference>
    <Reference><ReferenceQual>ST</ReferenceQual><ReferenceID>0594</ReferenceID></Reference>           <!-- DC # -->
    <Reference><ReferenceQual>DP</ReferenceQual><ReferenceID>080</ReferenceID></Reference>           <!-- Dept # -->
    <Date><DateTimeQualifier1>02</DateTimeQualifier1><Date1>20260612</Date1></Date>
    <Date><DateTimeQualifier1>04</DateTimeQualifier1><Date1>20260601</Date1></Date>
    <Date><DateTimeQualifier1>10</DateTimeQualifier1><Date1>20260611</Date1></Date>
    <Date><DateTimeQualifier1>68</DateTimeQualifier1><Date1>20260612</Date1></Date>
    <Contact><ContactTypeCode>IC</ContactTypeCode></Contact>
    <Address>
      <AddressTypeCode>ST</AddressTypeCode>
      <LocationCodeQualifier>91</LocationCodeQualifier>
      <AddressLocationNumber>0594</AddressLocationNumber>
      <AddressName>TARGET DC 0594</AddressName>
      <Address1>166 CORPORATE DR</Address1>
      <City>LUGOFF</City><State>SC</State><PostalCode>29078</PostalCode><Country>US</Country>
    </Address>
    <Address>
      <AddressTypeCode>SF</AddressTypeCode>
      <AddressName>CIRRO - Target Virtual Fulfillment</AddressName>
      <Address1>171 Marcellin Dr.</Address1>
      <City>City of Industry</City><State>CA</State><PostalCode>91789</PostalCode><Country>US</Country>
    </Address>
    <Address>
      <AddressTypeCode>VN</AddressTypeCode>
      <AddressName>PopSockets LLC</AddressName>
      <Address1>100 Technology Drive</Address1><Address2>Ste 250</Address2>
      <City>BROOMFIELD</City><State>CO</State><PostalCode>80021</PostalCode><Country>US</Country>
    </Address>
    <Address>
      <AddressTypeCode>BY</AddressTypeCode>
      <AddressName>Target Corporate</AddressName>
      <Address1>2702 Summit Ave</Address1>
      <City>Rialto</City><State>CA</State><PostalCode>92376</PostalCode><Country>US</Country>
    </Address>
  </Header>
  <LineItems>
    <LineItem>
      <OrderLine>
        <LineSequenceNumber>1</LineSequenceNumber>
        <BuyerPartNumber>080083637</BuyerPartNumber>              <!-- DPCI (Target SKU) -->
        <VendorPartNumber>806922</VendorPartNumber>              <!-- our SKU -->
        <ConsumerPackageCode>840173741801</ConsumerPackageCode>  <!-- UPC -->
        <PartDescription1>PW+ MS-G2-Black-BK BK</PartDescription1>
        <OrderQty>40.00</OrderQty><OrderQtyUOM>EA</OrderQtyUOM>
        <Pack>20</Pack><Size>2</Size><UnitWeight>0.00</UnitWeight><Amount1>17.596</Amount1>
      </OrderLine>
      <Reference><ReferenceQual>RP</ReferenceQual><ReferenceID>39.99</ReferenceID></Reference>  <!-- retail price -->
    </LineItem>

    <!-- ... 19 more line items, identical shape (each with a line-level RP retail-price reference) ... -->

  </LineItems>
  <Summary><TotalOrders>848.00</TotalOrders></Summary>
</WarehouseShippingOrder></WarehouseShippingOrders>

What we send Cirro

Fields we send (Order Push), populated from the 940. Target uses three labels (no Case Marking / GTIN label).

{
  "po_number": "10001912470-0594",
  "label_template": {
    "ucc_label": {
      "items": [
        {
          "platform_sku": "080083637",                   // DPCI (Target SKU) = BuyerPartNumber
          "product_sku": "806922"                         // our SKU = VendorPartNumber
        }
      ]
    },
    "packing_slip_label": {
      "dept": "080",                                     // flat field (NOT nested under "header"); "Dept 87 where applicable", this order = 080
      "items": [ { "product_sku": "806922" } ]           // "SKU / Item Number" = our SKU
    },
    "pallet_label": {
      "items": [
        {
          "platform_sku": "080083637",                   // DPCI — "Mixed" if mixed carton
          "product_sku": "806922"                         // our SKU — pairs each pallet line to its DPCI
        }
      ]
    }
  }
}

Every items[] entry carries product_sku (our SKU) so each label line is unambiguously tied to its UPC / platform SKU. dept sits flat on packing_slip_label — there is no header wrapper. We do not send upc anywhere in the Target label_template.


Discussion points with Cirro

  1. Pallet UPC# — resolved: we omit it. Cirro confirmed (2026-06) the pallet label carries platform_sku + product_sku, not upc — Cirro auto-generates the barcode their side. The upc field has been dropped from the Target label_template entirely.

  2. Pallet "Mixed" rule. The pallet's DPCI is spec'd as "混箱为Mixed" — show the literal word "Mixed" when the carton is a mixed-SKU container. That's a Cirro-side rendering decision from the carton contents: we send the real DPCI and they render "Mixed" where a carton is mixed.


Built from real prod EDI pulled 2026-06-02. Raw 850/940 archived in the camel repo at reference/cirro/edi-samples/.