XML Schemas

Usage Note

An XML Schema Definition (XSD) describes the valid structure of an XML document. The schema is the successor to the Document Type Definition (DTD), and is the current recommendation of the World Wide Web Consortium (W3C). Below are the XSD files associated with each document type in the NAMM B2B standard. These schemas should be used for validation when creating/modifying, sending, receiving, and reading/importing the XML documents in order to avoid transmitting an invalid document to, or receiving one from, another business partner.

The schemas as presented here do not use the optional targetNamespace attribute on the schema tag; they have only the xmlns:xs attribute, defining the “xs” prefix, like this:

.

Therefore, when referencing the schemas from a NAMM B2B XML data document, you should use the xsi:noNamespaceSchemaLocation attribute instead of the xsi:schemaLocation attribute on the top-level tag to specify the location of the schema.

 

For example, assume that the schemas all reside in a folder on the NAMM web site called http://b2b.namm.org/B2B/Schemas. If the schema for the Party document is named party-v2009.1.xsd, then the reference to it in the Party document’s top-level tag would look like this:

Such a reference would allow connection to and validation through the associated schema.

One additional coding note: Because the default value for both the minOccurs and maxOccurs attributes is “1”, minOccurs="0" has been included only when necessary, to indicate optional elements.

Party Schema

Download Party-v2009.1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="NAMM_PARTY">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="RevisionDate"
                    type="xs:dateTime" />
        <xs:element name="TradingPartner">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="25" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="PartyIdType">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:pattern value="GLN|NAMM" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Name">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="35" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="DBA"
                          minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="35" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="URL"
                          minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:anyURI">
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Locations">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Location"
                                maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="PartyId">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="25" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PartyIdType">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:pattern value="GLN|NAMM" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Description"
                                      type="xs:string"
                                      minOccurs="0" />
                          <xs:element name="Name"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="DBA"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address"
                                      minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Attn"
                                            type="xs:string"
                                            minOccurs="0" />
                                <xs:element name="Address1"
                                            type="xs:string"
                                            minOccurs="0" />
                                <xs:element name="Address2"
                                            type="xs:string"
                                            minOccurs="0" />
                                <xs:element name="Address3"
                                            type="xs:string"
                                            minOccurs="0" />
                                <xs:element name="City"
                                            type="xs:string"
                                            minOccurs="0" />
                                <xs:element name="State"
                                            type="xs:string"
                                            minOccurs="0" />
                                <xs:element name="PostalCode"
                                            type="xs:string"
                                            minOccurs="0" />
                                <xs:element name="Country"
                                            minOccurs="0">
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:maxLength value="50" />
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                                <xs:element name="CountryCode"
                                            minOccurs="0">
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:length value="2" />
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="Phone"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="24" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Fax"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="24" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Email"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="100" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="StartDate"
                                      type="xs:date"
                                      minOccurs="0" />
                          <xs:element name="EndDate"
                                      type="xs:date"
                                      minOccurs="0"></xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version"
                    use="required"
                    type="xs:decimal"
                    fixed="2009.1" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Item Schema

Download Item-v2015.1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified"
           elementFormDefault="qualified" targetNamespace="http://namm.org/b2b/2015/schemas" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="NAMM_ITEM">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Timestamp"
                    type="xs:dateTime" />
        <xs:element name="Id"
                    type="xs:string" />
        <xs:element name="SupplierId"
                    type="xs:unsignedLong" />
        <xs:element name="Items">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded"
                          name="Item">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="SupplierItemId"
                                type="xs:string" />
                    <xs:element name="SupplierModel"
                                type="xs:string" />
                    <xs:element name="SupplierItemDesc"
                                type="xs:string" />
                    <xs:element name="Kit"
                                type="xs:string" />
		<xs:element minOccurs="0" name="KitComponentOnly" type="xs:string" />
                    <xs:element name="Serialized"
                                type="xs:string" minOccurs="0"/>
                    <xs:element name="BrandName"
                                type="xs:string" />
                    <xs:element minOccurs="0"
                                name="CountryOrigin"
                                type="xs:string" />
                    <xs:element name="Length"
                                type="xs:decimal" minOccurs="0"/>
                    <xs:element name="Width"
                                type="xs:decimal" minOccurs="0"/>
                    <xs:element name="Height"
                                type="xs:decimal" minOccurs="0"/>
                    <xs:element name="DimUOM"
                                type="xs:string" minOccurs="0"/>
                    <xs:element name="Weight"
                                type="xs:decimal" minOccurs="0"/>
                    <xs:element name="WeightUOM"
                                type="xs:string" minOccurs="0"/>
                    <xs:element name="AnnounceDate"
                                type="xs:date" />
                    <xs:element name="AvailableDate"
                                type="xs:date" />
                    <xs:element minOccurs="0"
                                name="UnavailableDate"
                                type="xs:date" />
                    <xs:element minOccurs="0"
                                name="EndOfProductionDate"
                                type="xs:date" />
                    <xs:element minOccurs="0"
                                name="ReplacementID"
                                type="xs:string" />
                    <xs:element name="WarrantyPartTerm"
                                type="xs:unsignedShort" />
                    <xs:element name="WarrantyPartUOM"
                                type="xs:string" />
                    <xs:element name="WarrantyLabTerm"
                                type="xs:unsignedByte" />
                    <xs:element name="WarrantyLabUOM"
                                type="xs:string" />
                    <xs:element name="Condition"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Barcodes">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded"
                                      name="Barcode">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="ID"
                                            type="xs:string" />
                                <xs:element name="Type"
                                            type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0"
                                name="Pricing">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded"
                                      name="Price">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:decimal">
                                  <xs:attribute name="type"
                                                type="xs:string"
                                                use="required" />
                                  <xs:attribute name="Currency"
                                                type="xs:string"
                                                use="required" />
                                  <xs:attribute name="Qty"
                                                type="xs:unsignedByte"
                                                use="optional" />
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Containers" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded"
                                      name="Container">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Type"
                                            type="xs:string" />
                                <xs:element name="Length"
                                            type="xs:decimal" />
                                <xs:element name="Width"
                                            type="xs:decimal" />
                                <xs:element name="Height"
                                            type="xs:decimal" />
                                <xs:element name="DimUOM"
                                            type="xs:string" />
                                <xs:element name="Weight"
                                            type="xs:decimal" />
                                <xs:element name="WeightUOM"
                                            type="xs:string" />
                                <xs:element name="UOM"
                                            type="xs:string" />
                                <xs:element name="QtyPerUOM"
                                            type="xs:unsignedShort" />
                                <xs:element minOccurs="0"
                                            name="Barcodes">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element maxOccurs="unbounded"
                                                  name="Barcode">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="ID"
                                                        type="xs:string" />
                                            <xs:element name="Type"
                                                        type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>


		<xs:element minOccurs="0" name="KitItems">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded" name="KitItem">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="SupplierItemId" type="xs:string" />
                                <xs:element name="Qty" type="xs:decimal" />
                                <xs:element name="UOM" type="xs:string" />
                               

			<xs:element name="Barcodes">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded"
                                      name="Barcode">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="ID"
                                            type="xs:string" />
                                <xs:element name="Type"
                                            type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>


                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="MarketingInfo">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="PrimaryCategory"
                                      type="xs:string" />
                          <xs:element minOccurs="0"
                                      name="ProductURL"
                                      type="xs:string" />
                          <xs:element minOccurs="0"
                                      name="ItemDescLong"
                                      type="xs:string" />
                          <xs:element minOccurs="0"
                                      name="SecondaryCategories">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded"
                                            name="Category"
                                            type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="Bullets">
                            <xs:complexType>
                              <xs:sequence minOccurs="0">
                                <xs:element maxOccurs="unbounded"
                                            name="Bullet"
                                            type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element minOccurs="0"
                                      name="Media">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element minOccurs="0"
                                            name="Images">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element maxOccurs="unbounded"
                                                  name="Image">
                                        <xs:complexType>
                                          <xs:simpleContent>
                                            <xs:extension base="xs:string">
                                              <xs:attribute name="Audience"
                                                            use="optional">
                                                <xs:simpleType>
                                                  <xs:restriction
                                                          base="xs:string">
                                                    <xs:enumeration
                                                        value="Consumer" />
                                                    <xs:enumeration
                                                          value="Dealer" />
                                                  </xs:restriction>
                                                </xs:simpleType>
                                              </xs:attribute>
                                              <xs:attribute name="View"
                                                            type="xs:string"
                                                            use="optional" />
                                              <xs:attribute name="Caption"
                                                            type="xs:string"
                                                            use="optional" />
                                              <xs:attribute
                                                      name="CarouselSequence"
                                                            type="xs:integer"
                                                            use="optional" />
                                            </xs:extension>
                                          </xs:simpleContent>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0"
                                            name="Videos">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element maxOccurs="unbounded"
                                                  name="Video">
                                        <xs:complexType>
                                          <xs:simpleContent>
                                            <xs:extension base="xs:string">
                                              <xs:attribute name="Audience"
                                                            type="xs:string"
                                                            use="optional" />
                                              <xs:attribute name="type"
                                                            type="xs:string"
                                                            use="required" />
                                              <xs:attribute name="Caption"
                                                            type="xs:string"
                                                            use="optional" />
                                            </xs:extension>
                                          </xs:simpleContent>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0"
                                            name="Documents">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element maxOccurs="unbounded"
                                                  name="Document">
                                        <xs:complexType>
                                          <xs:simpleContent>
                                            <xs:extension base="xs:string">
                                              <xs:attribute name="Audience"
                                                            type="xs:string"
                                                            use="optional" />
                                              <xs:attribute name="type"
                                                            type="xs:string"
                                                            use="required" />
                                              <xs:attribute name="Caption"
                                                            type="xs:string"
                                                            use="optional" />
                                            </xs:extension>
                                          </xs:simpleContent>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0"
                                            name="Audios">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element maxOccurs="unbounded"
                                                  name="Audio">
                                        <xs:complexType>
                                          <xs:simpleContent>
                                            <xs:extension base="xs:string">
                                              <xs:attribute name="Audience"
                                                            type="xs:string"
                                                            use="optional" />
                                              <xs:attribute name="type"
                                                            type="xs:string"
                                                            use="required" />
                                              <xs:attribute name="Caption"
                                                            type="xs:string"
                                                            use="optional" />
                                            </xs:extension>
                                          </xs:simpleContent>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element minOccurs="0"
                                      name="Keywords">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded"
                                            name="Keyword"
                                            type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0"
                                name="ExtendedAttributes">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded"
                                      name="Data">
                            <xs:complexType mixed="true">
                              <xs:sequence minOccurs="0">
                                <xs:element minOccurs="0"
                                            name="Topic">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="SuperTitle"
                                                  type="xs:string" />
                                      <xs:element name="Title"
                                                  type="xs:string" />
                                      <xs:element name="SubTitle"
                                                  type="xs:string" />
                                      <xs:element minOccurs="0"
                                                  name="Credits">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element maxOccurs="unbounded"
                                                        name="Contributor">
                                              <xs:complexType>
                                                <xs:attribute name="primary"
                                                           type="xs:boolean"
                                                           use="required" />
                                                <xs:attribute
                                                         name="Contribution"
                                                            type="xs:string"
                                                           use="required" />
                                                <xs:attribute
                                                      name="ContributorName"
                                                            type="xs:string"
                                                           use="required" />
                                                <xs:attribute
                                              name="ContributorNameReversed"
                                                            type="xs:string"
                                                           use="required" />
                                              </xs:complexType>
                                            </xs:element>
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                      <xs:element minOccurs="0"
                                                  name="Copyright">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element maxOccurs="unbounded"
                                                        name="CopyrightLine"
                                                        type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0"
                                            maxOccurs="unbounded"
                                            name="Contributor">
                                  <xs:complexType>
                                    <xs:attribute name="primary"
                                                  type="xs:boolean"
                                                  use="required" />
                                    <xs:attribute name="Contribution"
                                                  type="xs:string"
                                                  use="required" />
                                    <xs:attribute name="ContributorName"
                                                  type="xs:string"
                                                  use="required" />
                                    <xs:attribute
                                               name="ContributorNameReversed"
                                                  type="xs:string"
                                                  use="required" />
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute name="Name"
                                            type="xs:string"
                                            use="required" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0"
                                name="RelatedItems">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded"
                                      name="RelatedItem">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="SupplierItemId"
                                            type="xs:string" />
                                <xs:element minOccurs="0"
                                            name="Barcode">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="ID"
                                                  type="xs:unsignedLong" />
                                      <xs:element name="Type"
                                                  type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute name="type"
                                            use="required">
                                <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                    <xs:enumeration value="similar" />
                                    <xs:enumeration value="accessory" />
                                    <xs:enumeration value="ThirdParty" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:attribute>
                              <xs:attribute name="included"
                                            use="optional">
                                <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                    <xs:enumeration value="Y" />
                                    <xs:enumeration value="N" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:attribute>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0"
                                name="ItemFamily">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="property"
                                          type="xs:string"
                                          use="required" />
                            <xs:attribute name="code"
                                          type="xs:string"
                                          use="required" />
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0"
                                name="Availability">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0"
                                      name="QtyOnHand"
                                      type="xs:unsignedByte" />
                          <xs:element name="Available">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:enumeration value="YES" />
                                <xs:enumeration value="NO" />
                                <xs:enumeration value="LOW" />
                                <xs:enumeration value="MEDIUM" />
                                <xs:enumeration value="HIGH" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element minOccurs="0"
                                      name="QueryURL"
                                      type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version"
                    type="xs:decimal"
                    use="required"
                    fixed="2015.1" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Functional Acknowledgement Schema

Download FunAck-v2009.1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="NAMM_FunctionalAcknowledgement">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Timestamp"
                    type="xs:dateTime" />
        <xs:element name="Id"
                    type="xs:string" />
        <xs:element name="Supplier">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="25" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="SoldTo">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="25" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="StatusCode">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="C01" />
              <xs:enumeration value="C02" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="StatusMessage">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="10" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version"
                    use="required"
                    type="xs:decimal"
                    fixed="2009.1" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Price Book Schema

Download Pricebook-v2015.1.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://namm.org/b2b/2015/schemas"
           targetNamespace="http://namm.org/b2b/2015/schemas" elementFormDefault="qualified">
  <xs:element name="NAMM_PRICEBOOK">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Id"
                    type="xs:string" />
        <xs:element name="Timestamp"
                    type="xs:dateTime" />
        <xs:element name="Supplier">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId"
                          type="xs:string" />
              <xs:element name="Name"
                          type="xs:string"
                          minOccurs="0" />
              <xs:element name="Address"
                          minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Attn"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address1"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address2"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address3"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="City"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="State"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="PostalCode"
                                minOccurs="0"
                                type="xs:int" />
                    <xs:element name="Country"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="CountryCode"
                                minOccurs="0"
                                type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Group" minOccurs="0"
                        type="xs:string" />  
        <xs:element name="SoldTo" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId"
                          type="xs:string" />
              <xs:element name="Name"
                          type="xs:string"
                          minOccurs="0" />
              <xs:element name="Address"
                          minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Attn"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address1"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address2"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address3"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="City"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="State"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="PostalCode"
                                minOccurs="0"
                                type="xs:int" />
                    <xs:element name="Country"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="CountryCode"
                                minOccurs="0"
                                type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Items">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded"
                          name="Item">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="BarCodeId"
                                type="xs:decimal" />
                    <xs:element name="BarCodeType"
                                type="xs:string" />
                    <xs:element name="SupplierItemId"
                                type="xs:string" />
                    <xs:element name="Levels">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded"
                                      name="Level">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Price">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:decimal">
                                        <xs:attribute name="Currency"
                                                      type="xs:string" />
                                        <xs:attribute name="type"
                                                      type="xs:string" />
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="LevelMin"
                                            type="xs:int" />
                                <xs:element name="LevelMax"
                                            type="xs:int" />
                                <xs:element name="LevelUOM">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute name="type"
                                                      type="xs:string" />
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="EffectiveDate"
                                type="xs:dateTime" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version"
                    use="required"
                    type="xs:decimal"
                    fixed="2015.1" />
    </xs:complexType>
  </xs:element>
</xs:schema> 

Purchase Order Schema

Download PO_v2015.1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:t="http://namm.org/b2b/2015/schemas" 
            targetNamespace="http://namm.org/b2b/2015/schemas" elementFormDefault="qualified">

  <xsd:element name="NAMM_PO">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:restriction base="xsd:anyType">
          <xsd:sequence>
            <xsd:element name="Id">
              <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                  <xsd:maxLength value="50" />
                </xsd:restriction>
              </xsd:simpleType>
            </xsd:element>
            <xsd:element name="Timestamp" type="xsd:dateTime" />
            <xsd:element name="POHeader">
              <xsd:complexType>
                <xsd:complexContent>
                  <xsd:restriction base="xsd:anyType">
                    <xsd:sequence>
                      <xsd:element name="SoldTo">
                        <xsd:complexType>
                          <xsd:complexContent>
                            <xsd:restriction base="xsd:anyType">
                              <xsd:sequence>
                                <xsd:element name="PartyId">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="50" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Name" minOccurs="0">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="35" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Address">
                                  <xsd:complexType>
                                    <xsd:complexContent>
                                      <xsd:restriction base="xsd:anyType">
                                        <xsd:sequence>
                                          <xsd:element name="Attn" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address1" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address2" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address3" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="City" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="30" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="State" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="PostalCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="9" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Country" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="50" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="CountryCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                        </xsd:sequence>
                                      </xsd:restriction>
                                    </xsd:complexContent>
                                  </xsd:complexType>
                                </xsd:element>
                              </xsd:sequence>
                            </xsd:restriction>
                          </xsd:complexContent>
                        </xsd:complexType>
                      </xsd:element>
                      <xsd:element name="BillTo">
                        <xsd:complexType>
                          <xsd:complexContent>
                            <xsd:restriction base="xsd:anyType">
                              <xsd:sequence>
                                <xsd:element name="PartyId">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="50" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Name" minOccurs="0">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="35" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Address">
                                  <xsd:complexType>
                                    <xsd:complexContent>
                                      <xsd:restriction base="xsd:anyType">
                                        <xsd:sequence>
                                          <xsd:element name="Attn" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address1" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address2" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address3" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="City" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="30" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="State" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="PostalCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="9" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Country" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="50" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="CountryCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                        </xsd:sequence>
                                      </xsd:restriction>
                                    </xsd:complexContent>
                                  </xsd:complexType>
                                </xsd:element>
                              </xsd:sequence>
                            </xsd:restriction>
                          </xsd:complexContent>
                        </xsd:complexType>
                      </xsd:element>
                      <xsd:element name="BuyerOrderId">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="25" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="Supplier">
                        <xsd:complexType>
                          <xsd:complexContent>
                            <xsd:restriction base="xsd:anyType">
                              <xsd:sequence>
                                <xsd:element name="PartyId">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="50" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Name" minOccurs="0">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="35" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Address">
                                  <xsd:complexType>
                                    <xsd:complexContent>
                                      <xsd:restriction base="xsd:anyType">
                                        <xsd:sequence>
                                          <xsd:element name="Attn" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address1" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address2" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address3" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="City" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="30" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="State" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="PostalCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="9" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Country" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="50" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="CountryCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                        </xsd:sequence>
                                      </xsd:restriction>
                                    </xsd:complexContent>
                                  </xsd:complexType>
                                </xsd:element>
                              </xsd:sequence>
                            </xsd:restriction>
                          </xsd:complexContent>
                        </xsd:complexType>
                      </xsd:element>
                      <xsd:element name="TermsCode">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="15" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="TermsDays" type="xsd:integer" minOccurs="0" />
                      <xsd:element name="TermsDate" type="xsd:date" minOccurs="0" />
                      <xsd:element name="TermsPercent" type="xsd:decimal" minOccurs="0" />
                      <xsd:element name="TermsPercentDays" type="xsd:integer" minOccurs="0" />
                      <xsd:element name="ShipInstructions" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="250" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="TranspCode">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="15" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="TranspDesc" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="50" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="TranspCarrier" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="15" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="TranspTime" type="xsd:integer" minOccurs="0" />
                      <xsd:element name="TranspTerms" type="xsd:string" minOccurs="0" />
                      <xsd:element name="IncoTermsCode" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="3" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="IncoTermsDesc" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="35" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="POComments" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="250" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="DateOrdered" type="xsd:date" />
                      <xsd:element name="DateBeginShip" type="xsd:date" minOccurs="0" />
                      <xsd:element name="DateEndShip" type="xsd:date" minOccurs="0" />
                      <xsd:element name="DateCancel" type="xsd:date" minOccurs="0" />
                      <xsd:element name="Backorder">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:pattern value="Y|N" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="BuyerName" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="35" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="PORevisionNumber" type="xsd:integer" />
                      <xsd:element name="POStatusIndicator">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:pattern value="N|U" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="ASNRequirement">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:pattern value="Y|N" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="POFileType">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:pattern value="P|A" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                      <xsd:element name="ShipTo">
                        <xsd:complexType>
                          <xsd:complexContent>
                            <xsd:restriction base="xsd:anyType">
                              <xsd:sequence>
                                <xsd:element name="PartyId">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="50" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Name" minOccurs="0">
                                  <xsd:simpleType>
                                    <xsd:restriction base="xsd:string">
                                      <xsd:maxLength value="35" />
                                    </xsd:restriction>
                                  </xsd:simpleType>
                                </xsd:element>
                                <xsd:element name="Address">
                                  <xsd:complexType>
                                    <xsd:complexContent>
                                      <xsd:restriction base="xsd:anyType">
                                        <xsd:sequence>
                                          <xsd:element name="Attn" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address1" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address2" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Address3" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="35" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="City" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="30" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="State" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="PostalCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="9" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Country" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="50" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="CountryCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="2" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                        </xsd:sequence>
                                      </xsd:restriction>
                                    </xsd:complexContent>
                                  </xsd:complexType>
                                </xsd:element>
                              </xsd:sequence>
                            </xsd:restriction>
                          </xsd:complexContent>
                        </xsd:complexType>
                      </xsd:element>
                    </xsd:sequence>
                  </xsd:restriction>
                </xsd:complexContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element name="PODetail">
              <xsd:complexType>
                <xsd:complexContent>
                  <xsd:restriction base="xsd:anyType">
                    <xsd:sequence>
                      <xsd:element name="Items">
                        <xsd:complexType>
                          <xsd:complexContent>
                            <xsd:restriction base="xsd:anyType">
                              <xsd:sequence>
                                <xsd:element name="Item" maxOccurs="unbounded">
                                  <xsd:complexType>
                                    <xsd:complexContent>
                                      <xsd:restriction base="xsd:anyType">
                                        <xsd:sequence>
                                          <xsd:element name="POLineNbr" type="xsd:integer" />
                                          <xsd:element name="BuyerItemId">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="25" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="BuyerItemDesc" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="50" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="Qty" type="xsd:decimal" />
                                          <xsd:element name="QtyUOM">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="5" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="UCValue" type="xsd:decimal" />
                                          <xsd:element name="UCCurrencyCode">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="3" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="RetailValue" type="xsd:decimal" minOccurs="0" />
                                          <xsd:element name="RetailCurrencyCode" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="3" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="ICQtyPerUOM" type="xsd:decimal" minOccurs="0" />
                                          <xsd:element name="ICUOM" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="5" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="MCQtyPerUOM" type="xsd:decimal" minOccurs="0" />
                                          <xsd:element name="MCUOM" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="5" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="SupplierItemId" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="25" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="BarCodeId">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:maxLength value="14" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="BarCodeType" minOccurs="0">
                                            <xsd:simpleType>
                                              <xsd:restriction base="xsd:string">
                                                <xsd:enumeration value="GTIN-12" />
                                                <xsd:enumeration value="GTIN-13" />
                                                <xsd:enumeration value="GTIN-14" />
                                                <xsd:enumeration value="PartNumber" />
                                              </xsd:restriction>
                                            </xsd:simpleType>
                                          </xsd:element>
                                          <xsd:element name="DateBeginShip" type="xsd:date" minOccurs="0" />
                                          <xsd:element name="DateEndShip" type="xsd:date" minOccurs="0" />
                                          <xsd:element name="DateCancel" type="xsd:date" minOccurs="0" />

			<xsd:element name="TranspCode" minOccurs="0">
                        <xsd:simpleType>
                          <xsd:restriction base="xsd:string">
                            <xsd:maxLength value="15" />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>

					<xsd:element name="ShipTo" minOccurs="0">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="PartyId">
											<xsd:simpleType>
												<xsd:restriction base="xsd:string">
													<xsd:maxLength value="50"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:element>
										<xsd:element name="Name" minOccurs="0">
											<xsd:simpleType>
												<xsd:restriction base="xsd:string">
													<xsd:maxLength value="35"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:element>
										<xsd:element name="Address">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:element name="Attn" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="35"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="Address1" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="35"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="Address2" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="35"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="Address3" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="35"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="City" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="30"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="State" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="2"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="PostalCode" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="9"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="Country" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="50"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
													<xsd:element name="CountryCode" minOccurs="0">
														<xsd:simpleType>
															<xsd:restriction base="xsd:string">
																<xsd:maxLength value="2"/>
															</xsd:restriction>
														</xsd:simpleType>
													</xsd:element>
												</xsd:sequence>
											</xsd:complexType>
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
                                        </xsd:sequence>
                                      </xsd:restriction>
                                    </xsd:complexContent>
                                  </xsd:complexType>
                                </xsd:element>
                              </xsd:sequence>
                            </xsd:restriction>
                          </xsd:complexContent>
                        </xsd:complexType>
                      </xsd:element>
                    </xsd:sequence>
                  </xsd:restriction>
                </xsd:complexContent>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
          <xsd:attribute name="version" type="xsd:decimal" use="required" fixed="2015.1" />
        </xsd:restriction>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

PO Status Request Schema

Download POStatusRequest-v2015.1.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://namm.org/b2b/2015/schemas"
           targetNamespace="http://namm.org/b2b/2015/schemas" elementFormDefault="qualified">
  <xs:element name="NAMM_POStatusRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Timestamp"
                    type="xs:dateTime" />
        <xs:element name="Id"
                    type="xs:string" />
        <xs:element name="Supplier">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId"
                          type="xs:decimal" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="SoldTo">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId"
                          type="xs:decimal" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="BuyerOrderIds">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded"
                          name="BuyerOrderId"
                          type="xs:int" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version"
                    use="required"
                    type="xs:decimal"
                    fixed="2015.1" />
    </xs:complexType>
  </xs:element>
</xs:schema>

PO Status / Det Ack Schema

Download POStatus_v2015.1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://namm.org/b2b/2015/schemas" targetNamespace="http://namm.org/b2b/2015/schemas" elementFormDefault="qualified">
  <xs:element name="NAMM_POStatus">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Id">
	<xs:simpleType>
		<xs:restriction base="xs:string">
		<xs:maxLength value="50"/>
		</xs:restriction>
	</xs:simpleType>
	</xs:element>
        <xs:element name="POStatusRequestId">
	<xs:simpleType>
		<xs:restriction base="xs:string">
		<xs:maxLength value="50"/>
		</xs:restriction>
	</xs:simpleType>
	</xs:element>
        <xs:element name="Timestamp" type="xs:dateTime" />
        <xs:element name="BuyerOrderId">
	<xs:simpleType>
		<xs:restriction base="xs:string">
		<xs:maxLength value="25"/>
		</xs:restriction>
	</xs:simpleType>
	</xs:element>
        <xs:element name="DateOrdered" type="xs:date" />
        <xs:element name="BuyerName" type="xs:string"/>
        <xs:element name="Supplier">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
    
		<xs:element name="SoldTo">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>

        <xs:element name="StatusCode" type="xs:string"/>
        <xs:element name="PaymentTerms">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="StatusCode" type="xs:string" />
              <xs:element name="StatusMessage" type="xs:string" />
              <xs:element name="TermsCode">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="15"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ShipmentTerms">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="StatusCode" type="xs:string" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ShipTo">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
        <xs:element name="Items">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Item">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="POLineNbr" type="xs:integer" />
                    <xs:element name="SequenceNbr" type="xs:integer" />
                    <xs:element name="StatusCode" type="xs:string" />
                    <xs:element name="StatusMessage" type="xs:string" />
                    <xs:element name="Qty" type="xs:decimal" />
                    <xs:element name="OriginalOrderQty" type="xs:decimal" />
                    <xs:element name="QtyUOM" type="xs:string" />
                    <xs:element name="UCValue" type="xs:decimal" />
                    <xs:element name="OriginalOrderUCValue" type="xs:decimal" />
                    <xs:element name="UCCurrencyCode" type="xs:string" />
                    <xs:element name="EstimatedShipDate" type="xs:date" minOccurs="0"/>
                    <xs:element name="SupplierOrderId" type="xs:string" />
                    <xs:element name="BuyerItemId" type="xs:string" />
                    <xs:element name="SupplierItemId" type="xs:string" />
                    <xs:element name="BarCodeId" type="xs:string" />
                    <xs:element name="BarCodeType" type="xs:string" />

                  <xs:element name="ShipTo" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>


                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version" type="xs:decimal" use="required" fixed="2015.1"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

Advance Shipping Notice Schema

Download ASN_v2015.1.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://namm.org/b2b/2015/schemas" 
           targetNamespace="http://namm.org/b2b/2015/schemas" elementFormDefault="qualified">
	<xs:element name="NAMM_ASN">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Id">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="50"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Timestamp" type="xs:dateTime"/>
				<xs:element name="ShipmentHeader">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ShipmentType" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ShipmentId">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Shipped" type="xs:date" minOccurs="0"/>
							<xs:element name="EstDeliver" type="xs:date" minOccurs="0"/>
							<xs:element name="Supplier">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipFrom">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipmentRefs">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="MasterBOL" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="PRONbr" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="ConfNbr" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipmentQty">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ContainerQty" type="xs:integer"/>
										<xs:element name="ShipmentItemQty" type="xs:integer" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Volume" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="VolumeValue" type="xs:decimal" minOccurs="0"/>
										<xs:element name="VolumeUOMCode" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="5"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="VolumeUOMDesc" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="15"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Weight" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="WeightValue" type="xs:decimal" minOccurs="0"/>
										<xs:element name="WeightUOMCode" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="5"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="WeightUOMDesc" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="15"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="TranspCode" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="15"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="TranspDesc" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:maxLength value="50"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="SoldTo">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ShipTo">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PartyId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="50"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Name" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="35"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Address">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Attn" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address1" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address2" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Address3" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="35"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="City" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="30"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="State" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="PostalCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="9"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Country" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="50"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="CountryCode" minOccurs="0">
														<xs:simpleType>
															<xs:restriction base="xs:string">
																<xs:maxLength value="2"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Vehicle" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="VehicleId" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="VehicleType" type="xs:string" minOccurs="0"/>
										<xs:element name="SealId" minOccurs="0">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Orders">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Order" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="BuyerOrderId">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:maxLength value="25"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Containers">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Container" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ContainerId" minOccurs="0">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:maxLength value="25"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="ShipperTrackingNumber" minOccurs="0">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:maxLength value="25"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element minOccurs="0" name="Length" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="Width" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="Height" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="DimUOM" type="xs:string" />
																<xs:element minOccurs="0" name="Weight" type="xs:decimal" />
                    														<xs:element minOccurs="0" name="WeightUOM" type="xs:string" />

																<xs:element name="Item" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="ItemId">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="BarCodeId">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="14"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="BarCodeType">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:enumeration value="GTIN-12"/>
																									<xs:enumeration value="GTIN-13"/>
																									<xs:enumeration value="GTIN-14"/>
																									<xs:enumeration value="PartNumber"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="BuyerItemId">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="25"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="BuyerItemDesc" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="50"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="SupplierItemId">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="25"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="SupplierItemDesc" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="50"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<xs:element name="POLineNbr" type="xs:integer"/>
																			<xs:element name="ItemQty">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="Qty" type="xs:decimal"/>
																						<xs:element name="ItemUOMCode" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="5"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="ItemUOMDesc" minOccurs="0">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:maxLength value="15"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																			<xs:element name="ItemAttrs" minOccurs="0">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="SerialNbrs" minOccurs="0">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="SerialNbr" minOccurs="0">
																										<xs:simpleType>
																											<xs:restriction base="xs:string">
																												<xs:maxLength value="25"/>
																											</xs:restriction>
																										</xs:simpleType>
																									</xs:element>
																								</xs:sequence>
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="StdPack" minOccurs="0">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="ICQtyPerUOM" type="xs:decimal" minOccurs="0"/>
																									<xs:element name="ICUOM" minOccurs="0">
																										<xs:simpleType>
																											<xs:restriction base="xs:string">
																												<xs:maxLength value="5"/>
																											</xs:restriction>
																										</xs:simpleType>
																									</xs:element>
																									<xs:element name="StdPackType" type="xs:string" minOccurs="0"/>
																								</xs:sequence>
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="StdContainer" minOccurs="0">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="MCQtyPerUOM" type="xs:decimal" minOccurs="0"/>
																									<xs:element name="MCUOM" minOccurs="0">
																										<xs:simpleType>
																											<xs:restriction base="xs:string">
																												<xs:maxLength value="5"/>
																											</xs:restriction>
																										</xs:simpleType>
																									</xs:element>
																									<xs:element name="StdContainerType" type="xs:string" minOccurs="0"/>
																								</xs:sequence>
																							</xs:complexType>
																						</xs:element>
																					</xs:sequence>
																				</xs:complexType>
																			</xs:element>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:decimal" use="required" fixed="2015.1"/>
		</xs:complexType>
	</xs:element>
</xs:schema>

Invoice schema

Download Invoice-v2009.2.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="NAMM_Invoice">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="InvoiceHeader">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Id">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="50" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Timestamp" type="xs:string" />
              <xs:element name="SoldTo">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="PartyId">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="25" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Name" minOccurs="0">
                        <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="35" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="InvoiceId">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="32" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="InvoiceType">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:pattern value="C|D" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Supplier">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="PartyId">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="50" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Name" minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="35" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Address">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Attn" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address1"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address2"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address3" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="City" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="30" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="State" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PostalCode" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="9" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Country" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="CountryCode" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="RemitTo">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="PartyId">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="50" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Name"  minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="35" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Address">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Attn" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address1"  minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address2" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address3" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="City" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="30" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="State" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PostalCode" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="9" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Country" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="CountryCode"  minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="BillTo">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="PartyId">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="50" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Name"  minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="35" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Address">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Attn" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address1" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address2" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address3" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="City"  minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="30" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="State"  minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PostalCode"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="9" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Country" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="CountryCode" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="ShipTo">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="PartyId">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="50" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Name"
                                minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="35" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Address">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Attn" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address1" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address2"  minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Address3" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="35" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="City"  minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="30" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="State" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PostalCode"  minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="9" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Country" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="CountryCode"   minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="TermsCode">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="15" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="TermsDays"
                          type="xs:integer"  minOccurs="0"></xs:element>
              <xs:element name="TermsDate"
                          type="xs:date"  minOccurs="0"></xs:element>
              <xs:element name="TermsPercent"
                          type="xs:decimal"  minOccurs="0"></xs:element>
              <xs:element name="TermsPercentDays"
                          type="xs:integer"  minOccurs="0"></xs:element>
              <xs:element name="ShipInstructions"  minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="250" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="TranspCode"   minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="15" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="TranspDesc" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="50" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="TranspCarrier"   minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="15" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="TranspTime"
                          type="xs:integer"
                          minOccurs="0"></xs:element>
              <xs:element name="TranspTerms"
                          type="xs:string"
                          minOccurs="0"></xs:element>
              <xs:element name="IncoTermsCode"
                          minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="3" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="IncoTermsDesc"
                          minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="35" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="InvoiceDate"
                          type="xs:date"></xs:element>
              <xs:element name="InvoiceDueDate"
                          type="xs:date"></xs:element>
              <xs:element name="BuyerName"
                          minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="35" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SalesRep"
                          minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="35" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Comments"
                          minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="250" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="InvoiceSummary">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="TotalItemLines"
                          type="xs:integer"></xs:element>
              <xs:element name="TotalItemQty"
                          type="xs:integer"></xs:element>
              <xs:element name="LineTotal"
                          type="xs:decimal"></xs:element>
              <xs:element name="FreightTotal"
                          type="xs:decimal"></xs:element>
              <xs:element name="SalesTax"
                          type="xs:decimal"></xs:element>
              <xs:element name="MiscCharge"
                          type="xs:decimal"></xs:element>
              <xs:element name="InvoiceTotal"
                          type="xs:decimal"></xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="InvoiceDetail">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Items">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Item"
                                maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="BuyerOrderId">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="25" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="SupplierOrderId">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="25" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="InvoiceLineNbr"
                                      type="xs:integer">
                                      </xs:element>
                          <xs:element name="POLineNbr"
                                      type="xs:integer">
                                      </xs:element>
                          <xs:element name="BuyerItemId">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="25" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Qty"
                                      type="xs:decimal">
                                      </xs:element>
                          <xs:element name="QtyUOM">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="5" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="UCValue"
                                      type="xs:decimal">
                                      </xs:element>
                          <xs:element name="UCCurrencyCode">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="3" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="ExtendedCostValue"
                                      type="xs:decimal">
                                      </xs:element>
                          <xs:element name="ExtendedCurrencyCode">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="3" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="RetailValue"
                                      type="xs:decimal"
                                      minOccurs="0"></xs:element>
                          <xs:element name="RetailCurrencyCode"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="3" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="SupplierItemId">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="25" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="SupplierItemDesc">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="PackListNbr"
                                      minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="25" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="ShipmentIds">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="ShipmentId"
                                            maxOccurs="unbounded">
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:maxLength value="25" />
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="DateShipped"
                                      type="xs:date"></xs:element>
                          <xs:element name="BarCodeId">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="14" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="BarCodeType">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:enumeration value="GTIN-12" />
                                <xs:enumeration value="GTIN-13" />
                                <xs:enumeration value="GTIN-14" />
                                <xs:enumeration value="PartNumber" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version"
                    use="required"
                    type="xs:decimal"
                    fixed="2009.2" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Sell Through Schema

Download SellThrough-v2012.1.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://namm.org/b2b/2015/schemas"
           targetNamespace="http://namm.org/b2b/2015/schemas" elementFormDefault="qualified">
  <xs:element name="NAMM_SELLTHROUGH">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Id"
                    type="xs:string" />
        <xs:element name="Timestamp"
                    type="xs:dateTime" />
        <xs:element name="StartDate"
                    type="xs:date" />
        <xs:element name="EndDate"
                    type="xs:date" />
        <xs:element name="SoldTo">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId"
                          type="xs:string" />
              <xs:element name="Name"
                          type="xs:string"
                          minOccurs="0" />
              <xs:element name="Address"
                          minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Attn"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address1"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address2"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address3"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="City"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="State"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="PostalCode"
                                minOccurs="0"
                                type="xs:int" />
                    <xs:element name="Country"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="CountryCode"
                                minOccurs="0"
                                type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Supplier">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PartyId"
                          type="xs:string" />
              <xs:element name="Name"
                          type="xs:string"
                          minOccurs="0" />
              <xs:element name="Address"
                          minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Attn"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address1"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address2"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="Address3"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="City"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="State"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="PostalCode"
                                minOccurs="0"
                                type="xs:int" />
                    <xs:element name="Country"
                                minOccurs="0"
                                type="xs:string" />
                    <xs:element name="CountryCode"
                                minOccurs="0"
                                type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Locations">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Location">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Items">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Item">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="BuyerItemId"
                                             type="xs:string" />
                                <xs:element name="SupplierItemId"
                                             type="xs:string" />
                                <xs:element name="BarCodeId"
                                             type="xs:decimal" />
                                <xs:element name="BarCodeType"
                                             type="xs:string" />
                                <xs:element name="Qty"
                                             type="xs:int" />
                                <xs:element name="QtyUOM"
                                             type="xs:string" />
                                <xs:element name="SalesTotal"
                                             type="xs:int" />
                                <xs:element name="SalesTotalCurrencyCode"
                                             type="xs:string" />
                                <xs:element name="QtyOnHand" minOccurs="0"
                                             type="xs:int" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="LocationID"
                                 type="xs:decimal" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version"
                    use="required"
                    type="xs:decimal"
                    fixed="2012.1" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Electronic Delivery Schema

Download ElectronicDelivery-v2015.1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" 
           targetNamespace="http://namm.org/b2b/2015/schemas">
  <xsd:element name="NAMM_ElectronicDeliveryResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Timestamp" type="xsd:dateTime" />
        <xsd:element name="POId" type="xsd:string" />
        <xsd:element name="BuyerOrderId" type="xsd:string" />
        <xsd:element name="StatusCode" type="xsd:string" />
        <xsd:element name="StatusMessage" type="xsd:string" />
        <xsd:element name="Items">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" name="Item">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="SupplierItemId" type="xsd:string" />
                    <xsd:element name="POLineNbr" type="xsd:int" />
                    <xsd:element name="BarCodeId" type="xsd:string" />
                    <xsd:element name="BarCodeType" type="xsd:string" />
                    <xsd:element name="Qty" type="xsd:int" />
                    <xsd:element name="QtyUOM" type="xsd:string" />
                    <xsd:element name="UCValue" type="xsd:decimal" />
                    <xsd:element name="UCCurrencyCode" type="xsd:string" />
                    <xsd:element name="DownloadPath" type="xsd:string" />
                    <xsd:element name="SupportContact" type="xsd:string" />
                    <xsd:element name="Licenses">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="License" type="xsd:string" />
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="version" type="xsd:decimal" use="required" fixed="2015.1" />
    </xsd:complexType>
  </xsd:element>
</xs:schema>

Payment Advice Schema

Download PaymentAdvice-v2015.1.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://namm.org/b2b/2015/schemas">
  <xsd:element name="NAMM_PaymentAdvice">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Id" type="xsd:string" />
        <xsd:element name="TradingPartnerInfo">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="SenderID" type="xsd:string" />
              <xsd:element name="SenderName" type="xsd:string" />
              <xsd:element name="ReceiverID" type="xsd:string" />
              <xsd:element name="ReceiverName" type="xsd:string" />
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element name="Supplier">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="PartyId" type="xsd:string" />
              <xsd:element name="Name" type="xsd:string" />
              <xsd:element name="Address">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="Attn" type="xsd:string" />
                    <xsd:element name="Address1" type="xsd:string" />
                    <xsd:element name="Address2" type="xsd:string"/>
                    <xsd:element name="Address3" type="xsd:string"/>
                    <xsd:element name="City" type="xsd:string" />
                    <xsd:element name="State" type="xsd:string" />
                    <xsd:element name="PostalCode" type="xsd:string" />
                    <xsd:element name="Country" type="xsd:string" />
                    <xsd:element name="CountryCode" type="xsd:string" />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element name="SoldTo">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="PartyId" type="xsd:string" />
              <xsd:element name="Name" type="xsd:string" />
              <xsd:element name="Address">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="Attn" type="xsd:string" />
                    <xsd:element name="Address1" type="xsd:string" />
                    <xsd:element name="Address2" type="xsd:string" />
                    <xsd:element name="Address3" type="xsd:string" />
                    <xsd:element name="City" type="xsd:string" />
                    <xsd:element name="State" type="xsd:string" />
                    <xsd:element name="PostalCode" type="xsd:string" />
                    <xsd:element name="Country" type="xsd:string" />
                    <xsd:element name="CountryCode" type="xsd:string" />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element name="TotalPayment" type="xsd:decimal" />
        <xsd:element name="CurrencyCode" type="xsd:string" />
        <xsd:element name="PaymentType" type="xsd:string" />
        <xsd:element name="PaymentDate" type="xsd:date" />
        <xsd:element name="Reference" type="xsd:string" />
        <xsd:element name="Timestamp" type="xsd:dateTime" />
        <xsd:element name="BuyerName" type="xsd:string" />
        <xsd:element name="PaymentAdvice">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" name="PaymentStatus">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element minOccurs="0" name="Note" type="xsd:string"/>
                    <xsd:element name="BuyerOrderId" type="xsd:string" />
                    <xsd:element name="DateOrdered" type="xsd:date" />
                    <xsd:element name="PaymentAmount" type="xsd:decimal" />
                    <xsd:element name="InvoiceNumber" type="xsd:string" />
                    <xsd:element name="InvoiceAmount" type="xsd:decimal" />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="version" type="xsd:decimal" use="required"  fixed="2015.1"/>
    </xsd:complexType>
  </xsd:element>
</xs:schema>