In today’s challenging and uncertain economy, finding efficiencies and cost savings in your business processes is imperative, and the shortest path to savings is the adoption of standard transaction formats. Whether you are a manufacturer, a distributor, or a retailer, you can streamline and automate the production of orders, product catalogs, shipping documents, and forecasts using industry standards.
Your business will benefit from increased efficiency. Trading partners who share information through standardized data exchange enjoy reduced operational costs as a result of less human interaction in business transactions.
Your business will profit from higher accuracy. Using standardized transaction formats allows business trading partners to easily share information, thereby preventing costly mistakes.
You will be able to provide better customer service. Access to timely information in known, predictable formats allows for faster response time and better service to your customers.
You will be able to make better decisions. Timely, accurate, and complete information gives you the "big picture" you need to make informed business decisions.
Your business communications will be simpler. A standardized, agreed-upon data transfer format simplifies transactions between business partners and removes obstacles imposed by the businesses' individual systems.
Product vendors, suppliers, and purchasers use different computer hardware and software systems to process their business transactions. These systems all have their own proprietary internal data formats, and yet they all need to process the same kinds of data. Thus, the need for a "common language" for sharing data among business trading partners becomes critical. More efficient and reliable data transfer means fewer errors in your business transactions, and that means a better bottom line!
The common format that makes this possible is called XML (eXtensible Markup Language). XML is a method of semantically classifying, annotating, and storing data so that it can be shared among dissimilar systems, yet interpreted and processed identically by them. XML data conforms to formatting rules that are agreed to by all parties to a transaction, and thus can be freely exchanged among disparate hardware and software systems without fear of misinterpretation, data loss, or exposure of proprietary information.
XML is the de facto data storage and communication format in business today, and it is the format used by NAMM's Business to Business (B2B) document set. Using XML-based data, business trading partners can exchange information consistently and precisely, improving efficiency and accuracy while reducing operational costs and enhancing all levels of customer service. XML's common data format facilitates the ability to share information among business partners throughout the supply chain.
For example, XML data:
can be used across all computer platforms
integrates with a wide range of software applications
is robust enough to convey complex information, yet simple enough to read
is a mature technology used by companies large and small all over the world
does not require specialized resources to implement
For the past several years, experts from across all channels of the Music Products Industry have partnered together to design a tool to enhance your business practices. That tool is the NAMM B2B XML standard, the most widely used standard in the Global Music Products Industry. This document details the information necessary for trading partners like you to begin to implement and automate transactions using this standard. NAMM encourages you and your business partners to adopt and use these standardized data transfer formats.
This document is intended as a conceptual and practical guide to NAMM’s Business-to-Business (B2B) XML data exchange standard, and specifically a reference to the XML files defined by the standard.
The target audience for this document is the technical team in a musical products merchandising company whose responsibility includes internal software management, configuration, and integration, especially as relates to interfacing with external data sources. These companies may supply musical products, consume them, or both.
In the course of providing musical products from one company to another, certain data must be exchanged between suppliers and buyers. While the specific software systems of each company will necessarily differ in platform, connectivity, and functionality, it is highly advantageous to both parties that the structure of the data exchanged be consistent from transaction to transaction. It is this need for structural consistency that is addressed and provided by the NAMM B2B standard.
The NAMM B2B standard comprises a set of XML files containing data in a predefined, consistent format. Each XML file is designed to precisely define the data required to complete one common transaction between parties, e.g., Purchase Order, Invoice, Shipment Notification, and so on. These documents are described in “XML Files”, below.
A typical sequence of events between a product supplier and product buyer and the associated documents, in chronological order, might be as follows.
Both supplier and buyer complete and release mutually-available identification information in a Party document.
The supplier sends a catalog of available products to the buyer in an Item document.
The buyer acknowledges receipt of the Item document with a Functional Acknowledgement document.
The supplier sends a price list for available products to the buyer in a PriceBook document (optional).
The buyer acknowledges receipt of the PriceBook document with a Functional Acknowledgement document.
The buyer decides to purchase items from the catalog and sends a request for them to the supplier in a Purchase Order document.
The supplier acknowledges receipt of the Purchase Order with a Functional Acknowledgement document.
The buyer requests the status of their order with a PO Status Request document.
The seller provides the status of the order in a PO Status Acknowledgement document.
The supplier makes one or more product shipments to the buyer and sends detailed information for each shipment in an Advanced Shipment Notification document.
The buyer acknowledges receipt of the Advanced Shipment Notification with a Functional Acknowledgement document.
The supplier sends a request for payment to the buyer in an Invoice document.
The buyer acknowledges receipt of the Invoice with a Functional Acknowledgement document.
The supplier sends a report to the buyer indicating which products have been sold in a SellThrough document (optional).
The buyer acknowledges receipt of the SellThrough with a Functional Acknowledgement document.
Below is a diagram of this process, referencing the step/document numbers above.
![implementationguide_v2012-2.jpg [image]](/files/implementationguide_v2012-2.jpg)
A typical B2B document transaction sequence
In the B2B scenario described above, the XML documents must be electronically transmitted between partners in order for data sharing to take place. Therefore, the transmission method used, called a transport protocol, must be understood and implemented by both parties to a transaction.
The set of protocols used for Internet communications is called the Internet Protocol Suite, commonly known as TCP/IP (Transmission Control Protocol/Internet Protocol). The two most popular transport protocols in use today are HTTP and FTP, discussed below.
HTTPHTTP (HyperText Transfer Protocol) can be used to upload (send) files from a local computer to a remote web server. This is the method used to download web pages from a server into a web browser for viewing, and to download auxiliary files from web pages to your local computer. In this scenario, a programmer must implement a system that runs a script or application so the sender can use it to upload a file. When the transfer is complete, the receiving system might then run another program to process the data (e.g., to input it into the company's accounting system). HTTP supports immediate in-session response, enabling the receiving party to validate the transmitted XML and respond by transmitting an XML document of its own (such as a Functional Acknowledgement) back to the sender. This type of transfer is typically used to send one file at a time (or multiple documents in an envelope).
FTPFTP (File Transfer Protocol) can also be used to upload files from a local computer to a remote location. In this scenario, the sender runs a specific kind of third-party application called an FTP client on their local computer to contact the recipient's server; the FTP client then lets the user select one or more files to transfer and sends them. FTP does not support immediate response; instead, transmitted files may be detected later by other software and managed in groups (batch processing). This type of transfer is typically used to send several files at a time.
HTTP/FTP ComparisonTransfer speed: Both protocols have features that increase and decrease transmission speed. For example, while FTP does not take the time to "chunk" files as HTTP does, it uses two connections (one for commands and another for transfers) to accomplish its task. Conversely, while HTTP automatically compresses transmitted data, it adds metadata elements to the transmission stream. Ultimately, when transferring a small number of files that are not individually large (such as those in NAMM's B2B process), the speed difference is negligible.
Security: Neither standard HTTP nor FTP supports secure transmission, so each protocol has a secure version – HTTPS and SFTP – that can be used to provide secure file transfer between systems. Because FTP/SFTP, once connected, gives an authorized sender relatively broad access to the recipient's file system, where HTTP/HTTPS does not, additional software safeguards or strictly limited navigation permissions may be required. NAMM members are strongly encouraged to use the secure protocols (HTTPS/SFTP) in their B2B transactions to ensure the security and privacy of their communications.
Popularity: FTP is a much older system than HTTP, by a decade or more. Thus, historically speaking, FTP is more popular. However, because today virtually every page – and virtually every upload and download link – on the web is now served via HTTP, it is accurate to say that HTTP is by far the more popular protocol in terms of raw usage. Further, while there are many excellent and free FTP clients available (FireFTP, FileZilla, CoffeeCup Free FTP, WinSCP, etc.), HTTP/HTTPS is significantly easier to control and customize programmatically via browser scripting or programming languages, making it the most popular choice for developers of modern file transfer applications.
ConclusionXML files contain only "plain text" data, and thus are compatible with any transfer protocol. Which protocol you use is ultimately up to you and your business partners. You may in fact use both protocols to share data among partners, FTP for some and HTTP for others; or you might use FTP to send files and HTTP to receive them. The choice depends on what software you and your partner companies have available or are willing to develop.
Resource RequirementsImplementing the NAMM B2B standard is not difficult and does not require specialized resources. Most likely, your company already has the basic facilities and resources required for implementation, such as:
a web server that supports FTP or HTTP transport services
an internet connection/hosting facility
a domain name (or IP address)
commercial or proprietary accounting software
a software and/or web developer
You can get additional help with B2B planning and implementation at the NAMM web site (http://www.namm.org), through independent consultants, and from current B2B members. Certain third-party software packages such as point-of-sale products are popular with NAMM member organizations.
There are also many completely free XML tutorials, services, and utilities available online, such as the World Wide Web Consortium's (W3C) W3Schools training site (http://w3schools.com/xml/default.asp), XML editors like Microsoft's XML Notepad (http://www.microsoft.com/download/en/details.aspx?id=7973), and web-based validation tools such as DecisionSoft's online XML Schema Validator (http://tools.decisionsoft.com/schemaValidate/).
For more information or to ask specific questions, please email us at
Below are descriptions and discussions of the XML documents currently defined by the NAMM standard. Note that, as with any XML implementation, these files merely define the structure of the data and do not require nor support any specific processing agents (i.e., application software). The responsibility for creating, validating, transmitting, receiving, and parsing the files and their content therefore rests solely with the business entities (suppliers and buyers) using them. To facilitate validation, each XML document has an accompanying file that contains the document's specific, clearly defined rules, called an XSD schema; see “XML Schemas”.
Below are tag-by-tag listings of each XML document in the NAMM B2B standard. Each tag is followed by a brief description and a flag indicating whether the tag is required in the particular document. Nested tags are indented to indicate the hierarchical structure of the documents.
Complex (parent) elements are shown here as separate start and end tags (e.g., <Location> ... </Location>), while simple (child) elements are shown as “empty” tags (e.g., <Name/>) for improved readability in this document. These tags would of course be coded in live documents with start tags, data, and end tags (e.g., <Name>MusicMax Corporation</Name>).
While most pertinent metadata in these documents is coded as nested tags (e.g., <Barcode> <ID>4959112079274</ID> <Type>GTIN-13</Type> </Barcode>), some metadata is coded instead as attribute/value pairs (e.g., <Price type="MSRP" Currency="USD">980.00</Price>). Attributes are shown here on separate lines below the tags to which they belong (as nested tags would be, except without enclosing <>s), and their descriptions begin with the notation "Attribute:".
Elements and attributes required by the XSD schemas are marked with an X in the Req column. If a child element or attribute is marked required but its parent element is not, it means that the parent is still optional but, if used, it must contain the required child elements or attributes.
Important Note: Most of the XML tags used in these files are mixed-case, as in <PartyIdType>; this coding technique is valid XML, and is used by design to improve human readability. However, XML code is case-sensitive, so users must be exceptionally careful to maintain proper tag case when creating and processing these files within their own editors, applications, and systems.
|
Tag |
Description |
Req |
|
|
<?xml version="1.0" encoding="UTF-8" ?> |
XML declaration |
X |
|
|
<NAMM_PRICEBOOK version="2011.0"> |
File-level Start tag |
X |
|
|
<Timestamp/> |
Date/time stamp for this document |
X |
|
|
<Supplier> |
Start tag |
X |
|
|
<PartyId/> |
Supplier GLN/NAMM ID |
X |
|
|
<Name/> |
Supplier company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Address1/> |
Supplier address line 1 |
|
|
|
<Address2/> |
Supplier address line 2 |
|
|
|
<Address3/> |
Supplier address line 3 |
|
|
|
<City/> |
Supplier city |
|
|
|
<State/> |
Supplier state |
|
|
|
<PostalCode/> |
Supplier postal code |
|
|
|
<Country/> |
Supplier country |
|
|
|
<CountryCode/> |
Supplier country code |
|
|
|
</Address> |
End tag |
|
|
|
</Supplier> |
End tag |
X |
|
|
<SoldTo> |
Start tag |
X |
|
|
<PartyId/> |
Buyer GLN/NAMM ID |
X |
|
|
<Name/> |
Buyer company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Address1/> |
Buyer address line 1 |
|
|
|
<Address2/> |
Buyer address line 2 |
|
|
|
<Address3/> |
Buyer address line 3 |
|
|
|
<City/> |
Buyer city |
|
|
|
<State/> |
Buyer state |
|
|
|
<PostalCode/> |
Buyer postal code |
|
|
|
<Country/> |
Buyer country |
|
|
|
<CountryCode/> |
Buyer country code |
|
|
|
</Address> |
End tag |
|
|
|
</SoldTo> |
End tag |
X |
|
|
<Items> |
Start tag |
X |
|
|
<Item/> |
Item info |
X |
|
|
EffectiveDate |
Attribute: item effective date/time |
|
|
|
<BarCodeId/> |
Item digital barcode representation |
X |
|
|
<BarCodeType/> |
Item barcode type |
X |
|
|
<SupplierItemId/> |
Supplier item ID |
|
|
|
<Levels/> |
Start tag |
X |
|
|
<Level/> |
Start tag |
X |
|
|
<Price/> |
Price |
X |
|
|
Currency |
Attribute: price currency code |
X |
|
|
type |
Attribute: price type |
X |
|
|
<LevelMin/> |
Level minimum |
X |
|
|
<LevelMax/> |
Level maximum |
X |
|
|
<LevelUOM/> |
Level unit of measure |
X |
|
|
</Level> |
End tag |
X |
|
|
</Levels> |
End tag |
X |
|
|
</Item> |
End tag |
X |
|
|
</Items> |
End tag |
X |
|
|
</NAMM_PRICEBOOK> |
End tag |
X |
|
|
Tag |
Description |
Req |
|
<?xml version="1.0" encoding="UTF-8" ?> |
XML declaration |
X |
|
<NAMM_POStatusRequest version="2011.0"> |
File-level Start tag |
X |
|
<Timestamp/> |
Date/time stamp for this document |
X |
|
<Id/> |
Document ID |
X |
|
<Supplier> |
Start tag |
X |
|
<PartyId/> |
Supplier GLN/NAMM ID |
X |
|
</Supplier> |
End tag |
X |
|
<SoldTo> |
Start tag |
X |
|
<PartyId/> |
Buyer GLN/NAMM ID |
X |
|
</SoldTo> |
End tag |
X |
|
<BuyerOrderIds> |
Start tag |
X |
|
<BuyerOrderId/> |
Buyer order ID |
X |
|
</BuyerOrderIds> |
End tag |
X |
|
</NAMM_POStatusRequest> |
End tag |
X |
|
Tag |
Description |
Req |
|
|
<?xml version="1.0" encoding="UTF-8" ?> |
XML declaration |
X |
|
|
<NAMM_POStatus version="2011.0"> |
File-level Start tag |
X |
|
|
<POStatusRequestId/> |
PO ID of status request |
X |
|
|
<Timestamp/> |
Date/time stamp for this document |
X |
|
|
<BuyerOrderId/> |
Buyer order ID |
X |
|
|
<DateOrdered/> |
Date ordered |
X |
|
|
<BuyerName/> |
Buyer name |
|
|
|
<Supplier> |
Start tag |
X |
|
|
<PartyId/> |
Supplier GLN/NAMM ID |
X |
|
|
<Name/> |
Supplier company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Attn/> |
Supplier contact person |
|
|
|
<Address1/> |
Supplier address line 1 |
|
|
|
<Address2/> |
Supplier address line 2 |
|
|
|
<Address3/> |
Supplier address line 3 |
|
|
|
<City/> |
Supplier city |
|
|
|
<State/> |
Supplier state |
|
|
|
<PostalCode/> |
Supplier postal code |
|
|
|
<Country/> |
Supplier country |
|
|
|
<CountryCode/> |
Supplier country code |
|
|
|
</Address> |
End tag |
|
|
|
</Supplier> |
End tag |
X |
|
|
<SoldTo> |
Start tag |
X |
|
|
<PartyId/> |
Buyer GLN/NAMM ID |
X |
|
|
<Name/> |
Buyer company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Attn/> |
Buyer contact person |
|
|
|
<Address1/> |
Buyer address line 1 |
|
|
|
<Address2/> |
Buyer address line 2 |
|
|
|
<Address3/> |
Buyer address line 3 |
|
|
|
<City/> |
Buyer city |
|
|
|
<State/> |
Buyer state |
|
|
|
<PostalCode/> |
Buyer postal code |
|
|
|
<Country/> |
Buyer country |
|
|
|
<CountryCode/> |
Buyer country code |
|
|
|
</Address> |
End tag |
|
|
|
</SoldTo> |
End tag |
X |
|
|
<StatusCode/> |
Status code |
X |
|
|
<PaymentTerms> |
Start tag |
X |
|
|
<StatusCode/> |
Payment status code (1) |
X |
|
|
<StatusMessage/> |
Payment status message |
|
|
|
<TermsCode/> |
Payment terms code (1) |
|
|
|
<TermsPercent/> |
Payment terms percent |
|
|
|
</PaymentTerms> |
End tag |
X |
|
|
<ShipmentTerms> |
Start tag |
X |
|
|
<StatusCode/> |
Shipment status code (1) |
X |
|
|
</ShipmentTerms> |
End tag |
X |
|
|
<Items> |
Start tag |
X |
|
|
<Item> |
Start tag |
X |
|
|
<POLineNbr/> |
Item line number |
X |
|
|
<SequenceNbr/> |
Item sequence number |
X |
|
|
<StatusCode/> |
Item status code (1) |
X |
|
|
<StatusMessage/> |
Item status message |
|
|
|
<Qty/> |
Item quantity |
|
|
|
<RetailValue/> |
Item retail value |
|
|
|
<UCValue/> |
Item UC value |
|
|
|
<EstimatedShipDate/> |
Item estimated ship date |
|
|
|
<ShipDate/> |
Item ship date |
|
|
|
type |
Attribute: item ship date type |
|
|
|
<SupplierOrderId/> |
Item supplier order ID |
|
|
|
</Item> |
End tag |
X |
|
|
</Items> |
End tag |
X |
|
|
</NAMM_POStatus> |
End tag |
X |
|
(1) See Appendix A, "Codes Tables".
|
Tag |
Description |
Req |
|
|
<?xml version="1.0" encoding="UTF-8"?> |
XML declaration |
X |
|
|
<NAMM_ASN version="2009.2"> |
File-level Start tag |
X |
|
|
<Id/> |
Document ID |
X |
|
|
<Timestamp/> |
Date/time stamp for this document |
X |
|
|
<ShipmentHeader> |
Start tag |
X |
|
|
<ShipmentType/> |
Shipment type description |
|
|
|
<ShipmentId/> |
Supplier ASN document number |
X |
|
|
<Shipped/> |
Shipment date |
|
|
|
<EstDeliver/> |
Estimated delivery date |
|
|
|
<Supplier> |
Start tag |
X |
|
|
<PartyId/> |
Supplier GLN/NAMM ID |
X |
|
|
<Name/> |
Supplier company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Attn/> |
Supplier contact person |
|
|
|
<Address1/> |
Supplier address line 1 |
|
|
|
<Address2/> |
Supplier address line 2 |
||
|
<Address3/> |
Supplier address line 3 |
|
|
|
<City/> |
Supplier city |
|
|
|
<State/> |
Supplier state |
|
|
|
<PostalCode/> |
Supplier postal code |
|
|
|
<Country/> |
Supplier country |
|
|
|
<CountryCode/> |
Supplier country code |
|
|
|
</Address> |
End tag |
|
|
|
</Supplier> |
End tag |
X |
|
|
<ShipFrom> |
Start tag |
X |
|
|
<PartyId/> |
Shipper GLN/NAMM ID |
X |
|
|
<Name/> |
Shipper company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Attn/> |
Shipper contact person |
|
|
|
<Address1/> |
Shipper address line 1 |
|
|
|
<Address2/> |
Shipper address line 2 |
|
|
|
<Address3/> |
Shipper address line 3 |
|
|
|
<City/> |
Shipper city |
|
|
|
<State/> |
Shipper state |
|
|
|
<PostalCode/> |
Shipper postal code |
|
|
|
<Country/> |
Shipper country |
|
|
|
<CountryCode/> |
Shipper country code |
|
|
|
</Address> |
End tag |
|
|
|
</ShipFrom> |
End tag |
X |
|
|
<ShipmentRefs> |
Start tag |
|
|
|
<MasterBOL/> |
Shipment master Bill Of Lading number |
|
|
|
<PRONbr/> |
Shipment PRO number |
|
|
|
<ConfNbr/> |
Shipment confirmation number |
|
|
|
</ShipmentRefs> |
End tag |
|
|
|
<ShipmentQty> |
Start tag |
X |
|
|
<ContainerQty/> |
Number of units per container |
X |
|
|
<ShipmentItemQty/> |
Number of units in shipment |
|
|
|
</ShipmentQty> |
End tag |
X |
|
|
<Volume> |
Start tag |
|
|
|
<VolumeValue/> |
Shipment volume value |
|
|
|
<VolumeUOMCode/> |
Volume unit of measure (1) |
|
|
|
<VolumeUOMDesc/> |
Volume unit of measure description (1) |
|
|
|
</Volume> |
End tag |
|
|
|
<Weight> |
Start tag |
|
|
|
<WeightValue/> |
Shipment weight value |
|
|
|
<WeightUOMCode/> |
Weight unit of measure (1) |
|
|
|
<WeightUOMDesc/> |
Weight unit of measure description (1) |
|
|
|
</Weight> |
End tag |
|
|
|
<TranspCode/> |
Transportation code (1) |
|
|
|
<TranspDesc/> |
Transportation description (1) |
|
|
|
<SoldTo> |
Start tag |
X |
|
|
<PartyId/> |
Buyer GLN/NAMM ID |
X |
|
|
<Name/> |
Buyer company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Attn/> |
Buyer contact person |
|
|
|
<Address1/> |
Buyer address line 1 |
|
|
|
<Address2/> |
Buyer address line 2 |
|
|
|
<Address3/> |
Buyer address line 3 |
|
|
|
<City/> |
Buyer city |
|
|
|
<State/> |
Buyer state |
|
|
|
<PostalCode/> |
Buyer postal code |
|
|
|
<Country/> |
Buyer country |
|
|
|
<CountryCode/> |
Buyer country code |
|
|
|
</Address> |
End tag |
|
|
|
</SoldTo> |
End tag |
X |
|
|
<ShipTo> |
Start tag |
X |
|
|
<PartyId/> |
Receiver GLN/NAMM ID |
X |
|
|
<Name/> |
Receiver company name |
|
|
|
<Address> |
Start tag |
|
|
|
<Attn/> |
Receiver contact person |
|
|
|
<Address1/> |
Receiver address line 1 |
|
|
|
<Address2/> |
Receiver address line 2 |
|
|
|
<Address3/> |
Receiver address line 3 |
|
|
|
<City/> |
Receiver city |
|
|
|
<State/> |
Receiver state |
|
|
|
<PostalCode/> |
Receiver postal code |
|
|
|
<Country/> |
Receiver country |
|
|
|
<CountryCode/> |
Receiver country code |
|
|
|
</Address> |
End tag |
|
|
|
</ShipTo> |
End tag |
X |
|
|
<Vehicle> |
Start tag |
|
|
|
<VehicleId/> |
Shipper vehicle ID |
|
|
|
<VehicleType/> |
Shipper vehicle type |
|
|
|
<SealId/> |
Shipper container seal ID |
|
|
|
</Vehicle> |
End tag |
|
|
|
</ShipmentHeader> |
End tag |
X |
|
|
<Orders> |
Start tag |
X |
|
|
<Order> |
Start tag |
X |
|
|
<BuyerOrderId/> |
Buyer purchase order ID |
X |
|
|
<Containers> |
Start tag |
X |
|
|
<Container> |
Start tag |
X |
|
|
<ContainerId/> |
Shipper container ID |
|
|
|
<ShipperTrackingNumber/> |
Shipper tracking number |
|
|
|
<Item> |
Start tag |
X |
|
|
<ItemId> |
Start tag |
X |
|
|
<BarCodeId/> |
Item digital barcode representation |
X |
|
|
<BarCodeType/> |
Item barcode type |
X |
|
|
<BuyerItemId/> |
Item buyer ID |
X |
|
|
<BuyerItemDesc/> |
Item buyer description |
|
|
|
<SupplierItemId/> |
Supplier item ID |
X |
|
|
<SupplierItemDesc/> |
Supplier item description |
|
|
|
</ItemId> |
End tag |
X |
|
|
<POLineNbr/> |
Purchase Order line number |
X |
|
|
<ItemQty> |
Start tag |
X |
|
|
<Qty/> |
Item quantity |
X |
|
|
<ItemUOMCode/> |
Item unit of measure (1) |
|
|
|
<ItemUOMDesc/> |
Item unit of measure description (1) |
|
|
|
</ItemQty> |
End tag |
X |
|
|
<ItemAttrs> |
Start tag |
|
|
|
<SerialNbrs> |
Start tag |
|
|
|
<SerialNbr/> |
Item serial number |
|
|
|
</SerialNbrs> |
End tag |
|
|
|
<StdPack> |
Start tag |
|
|
|
<ICQtyPerUOM/> |
Inner Carton quantity per Unit of Measure |
|
|
|
<ICOUM/> |
Inner Carton Unit of Measure |
|
|
|
<StdPackType/> |
Item package type |
|
|
|
</StdPack> |
End tag |
|
|
|
<StdContainer> |
Start tag |
|
|
|
<MCQtyPerUOM/> |
Master Carton quantity per Unit of Measure |
|
|
|
<MCUOM/> |
Master Carton Unit of Measure |
|
|
|
<StdContainerType/> |
Item container type |
|
|
|
</StdContainer> |
End tag |
|
|
|
</ItemAttrs> |
End tag |
|
|
|
</Item> |
End tag |
|
|
|
</Container> |
End tag |
X |
|
|
</Containers> |
End tag |
X |
|
|
</Order> |
End tag |
X |
|
|
</Orders> |
End tag |
X |
|
|
</NAMM_ASN> |
End tag |
X |
|
(1) See Appendix A, "Codes Tables".
|
Tag |
Description |
Req |
|
<?xml version="1.0" encoding="UTF-8" ?> |
XML declaration |
X |
|
<NAMM_SELLTHROUGH version="2012.1"> |
File-level Start tag |
X |
|
<Id/> |
Document ID |
X |
|
<Timestamp/> |
Date/time stamp for this document |
X |
|
<StartDate/> |
Start date |
X |
|
<EndDate/> |
End date |
X |
|
<SoldTo> |
Start tag |
X |
|
<PartyId/> |
Buyer GLN/NAMM ID |
X |
|
<Name/> |
Buyer company name |
|
|
<Address> |
Start tag |
|
|
<Attn/> |
Buyer contact person |
|
|
<Address1/> |
Buyer address line 1 |
|
|
<Address2/> |
Buyer address line 2 |
|
|
<Address3/> |
Buyer address line 3 |
|
|
<City/> |
Buyer city |
|
|
<State/> |
Buyer state |
|
|
<PostalCode/> |
Buyer postal code |
|
|
<Country/> |
Buyer country |
|
|
<CountryCode/> |
Buyer country code |
|
|
</Address> |
End tag |
|
|
</SoldTo> |
End tag |
X |
|
<Supplier> |
Start tag |
X |
|
<PartyId/> |
Supplier GLN/NAMM ID |
X |
|
<Name/> |
Supplier company name |
|
|
<Address> |
Start tag |
|
|
<Attn/> |
Supplier contact person |
|
|
<Address1/> |
Supplier address line 1 |
|
|
<Address2/> |
Supplier address line 2 |
|
|
<Address3/> |
Supplier address line 3 |
|
|
<City/> |
Supplier city |
|
|
<State/> |
Supplier state |
|
|
<PostalCode/> |
Supplier postal code |
|
|
<Country/> |
Supplier country |
|
|
<CountryCode/> |
Supplier country code |
|
|
</Address> |
End tag |
|
|
</Supplier> |
End tag |
X |
|
<Locations> |
Start tag |
X |
|
<Location> |
Start tag |
X |
|
LocationID |
Attribute: location ID |
X |
|
<Items> |
Start tag |
X |
|
<Item> |
Start tag |
X |
|
<BuyerItemId/> |
Buyer item ID |
X |
|
<SupplierItemId/> |
Supplier item ID |
X |
|
<BarCodeId/> |
Item digital barcode representation |
X |
|
<BarCodeType/> |
Item barcode type |
X |
|
<Qty/> |
Item quantity |
X |
|
<QtyUOM/> |
Item quantity per unit of measure |
X |
|
<SalesTotal/> |
Sales total amount |
X |
|
<SalesTotalCurrencyCode/> |
Sales total currency code |
X |
|
<QtyOnHand/> |
Item quantity on hand |
|
|
</Item> |
End tag |
X |
|
</Items> |
End tag |
X |
|
</Location> |
End tag |
X |
|
</Locations> |
End tag |
X |
|
</NAMM_SELLTHROUGH> |
End tag |
X |
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:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">.
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:
<NAMM_PARTY version="2009.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://b2b.namm.org/B2B/Schemas/party-v2009.1.xsd">
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.
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <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="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="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="2011.0" /> </xs:complexType> </xs:element> </xs:schema>
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <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="2011.0" /> </xs:complexType> </xs:element> </xs:schema>
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="NAMM_POStatus"> <xs:complexType> <xs:sequence> <xs:element name="Id" type="xs:string" /> <xs:element name="POStatusRequestId" type="xs:string" /> <xs:element name="Timestamp" type="xs:dateTime" /> <xs:element name="BuyerOrderId" type="xs:int" /> <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" 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="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="StatusCode" type="xs:string" /> <xs:element name="PaymentTerms"> <xs:complexType> <xs:sequence> <xs:element name="StatusCode" type="xs:int" /> <xs:element name="StatusMessage" type="xs:string" minOccurs="0" /> <xs:element name="TermsCode" type="xs:string" /> <xs:element name="TermsPercent" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ShipmentTerms"> <xs:complexType> <xs:sequence> <xs:element name="StatusCode" type="xs:int" /> </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:int" /> <xs:element name="SequenceNbr" type="xs:int" /> <xs:element name="StatusCode" type="xs:string" /> <xs:element name="StatusMessage" type="xs:string" minOccurs="0" /> <xs:element name="Qty" type="xs:int" minOccurs="0" /> <xs:element name="RetailValue" type="xs:decimal" minOccurs="0" /> <xs:element name="UCValue" type="xs:decimal" minOccurs="0" /> <xs:element name="EstimatedShipDate" type="xs:date" minOccurs="0" /> <xs:element name="ShipDate" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:date"> <xs:attribute name="type" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="SupplierOrderId" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="version" use="required" type="xs:decimal" fixed="2011.0" /> </xs:complexType> </xs:element> </xs:schema>
<?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>
Below are samples of each XML document in the NAMM B2B standard, containing correctly coded tags and example data. Note that while these samples may contain some accurate-looking partner information, they are not actual partner documents and should not be construed as such. Use these sample documents as examples of how each document type might be coded. Note that while all required elements are present in these examples, optional elements may or may not be included.
<?xml version="1.0" encoding="utf-8"?> <NAMM_PARTY version="2009.1"> <RevisionDate>2008-08-13T08:32:00</RevisionDate> <TradingPartner> <PartyId>NAMM000000123999*00000</PartyId> <PartyIdType>NAMM</PartyIdType> <Name>Roland Corporation U.S.</Name> <URL>http://www.rolandus.com</URL> <Locations> <Location> <PartyId>NAMM000000123999*00001</PartyId> <PartyIdType>NAMM</PartyIdType> <Description>Main</Description> <Name>Roland Corporation U.S.</Name> <Address> <Address1>5100 S. Eastern Ave.</Address1> <City>Los Angeles</City> <State>CA</State> <PostalCode>90040</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> <Phone>3238903700</Phone> <Fax>3238903701</Fax> <Email>sales@rolandus.com</Email> </Location> <Location> <PartyId>NAMM000000123999*00002</PartyId> <PartyIdType>NAMM</PartyIdType> <Description>Shipping Receiving</Description> <Name>Roland Corporation U.S.</Name> <Address> <Attn /> <Address1>4901 Alexander Street</Address1> <City>Los Angeles</City> <State>CA</State> <PostalCode>90040</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> <Phone>3238903700</Phone> <Fax>3238903701</Fax> <Email>receiving@rolandus.com</Email> </Location> </Locations> </TradingPartner> </NAMM_PARTY>
<?xml version="1.0" encoding="utf-8"?> <NAMM_ITEM version="2011.1"> <Timestamp>2011-08-11T05:39:10.887</Timestamp> <Id>38A6C25A-2344-4343-B53D-B8706E1A37DA</Id> <SupplierId>0670716045609</SupplierId> <Items> <Item> <!--Accessory Example--> <SupplierItemId>405789012500</SupplierItemId> <SupplierModel>405789012500</SupplierModel> <SupplierItemDesc>XA-193 ADAPTER OSCILLATOR</SupplierItemDesc> <Kit>N</Kit> <Serialized>N</Serialized> <BrandName>GORK</BrandName> <CountryOrigin>CN</CountryOrigin> <Length>3.0000</Length> <Width>3.0000</Width> <Height>1.7500</Height> <DimUOM>IN</DimUOM> <Weight>0</Weight> <WeightUOM>LBS</WeightUOM> <AnnounceDate>2001-12-13</AnnounceDate> <AvailableDate>2001-12-26</AvailableDate> <WarrantyPartTerm>90</WarrantyPartTerm> <WarrantyPartUOM>Day</WarrantyPartUOM> <WarrantyLabTerm>0</WarrantyLabTerm> <WarrantyLabUOM>Day</WarrantyLabUOM> <Condition>Refurb</Condition> <Barcodes> <Barcode> <ID>4959112030015</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> <Pricing> <Price type="MSRP" Currency="USD">12.75</Price> </Pricing> <Containers> <Container> <Type>Each</Type> <Length>3.5000</Length> <Width>3.2500</Width> <Height>2.0000</Height> <DimUOM>IN</DimUOM> <Weight>0.7500</Weight> <WeightUOM>LBS</WeightUOM> <UOM>EA</UOM> <QtyPerUOM>1</QtyPerUOM> <Barcodes> <Barcode> <ID>4959112030015</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> </Container> <Container> <Type>Case Pack</Type> <Length>17.5000</Length> <Width>17.5000</Width> <Height>7.2500</Height> <DimUOM>IN</DimUOM> <Weight>45.000000000000</Weight> <WeightUOM>LBS</WeightUOM> <UOM>CS</UOM> <QtyPerUOM>60</QtyPerUOM> </Container> </Containers> <MarketingInfo> <PrimaryCategory>1011109520</PrimaryCategory> <SecondaryCategories> <Category>1011109530</Category> </SecondaryCategories> <Bullets /> <Media> <Images> <Image Audience="Consumer" View="Primary"> gork.com/media/prodimage.aspx?img=405012500</Image> </Images> </Media> </MarketingInfo> <Availability> <Available>YES</Available> </Availability> </Item> <Item> <!--Musical Instrument Keyboard Example--> <SupplierItemId>PA4XPRO</SupplierItemId> <SupplierModel>PA4XPRO</SupplierModel> <SupplierItemDesc>Top-Of-The-Line Professional Series</SupplierItemDesc> <Kit>N</Kit> <Serialized>Y</Serialized> <BrandName>GORK</BrandName> <CountryOrigin>IT</CountryOrigin> <Length>30.0000</Length> <Width>20.0000</Width> <Height>15.0000</Height> <DimUOM>IN</DimUOM> <Weight>30</Weight> <WeightUOM>LBS</WeightUOM> <AnnounceDate>2008-01-17</AnnounceDate> <AvailableDate>2008-02-17</AvailableDate> <UnavailableDate>2012-01-05</UnavailableDate> <WarrantyPartTerm>365</WarrantyPartTerm> <WarrantyPartUOM>Day</WarrantyPartUOM> <WarrantyLabTerm>0</WarrantyLabTerm> <WarrantyLabUOM>Day</WarrantyLabUOM> <Barcodes> <Barcode> <ID>4959112057029</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> <Pricing> <Price type="MSRP" Currency="USD">4600.00</Price> <Price type="MAP" Currency="USD">4</Price> <Price type="Cost" Currency="USD" Qty="1">3</Price> </Pricing> <Containers> <Container> <Type>Each</Type> <Length>52.0000</Length> <Width>20.0000</Width> <Height>11.0000</Height> <DimUOM>IN</DimUOM> <Weight>54.5000</Weight> <WeightUOM>LBS</WeightUOM> <UOM>EA</UOM> <QtyPerUOM>1</QtyPerUOM> <Barcodes> <Barcode> <ID>4959112057029</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> </Container> </Containers> <MarketingInfo> <PrimaryCategory>4018156706</PrimaryCategory> <ProductURL>www.gork.com/pas/pa4xpro</ProductURL> <ItemDescLong>The Pa4XPro has it all. The motorized TouchView display, phantom-powered XLR mic input, TC Helicon vocal processing and harmonies, assignable pads, expandable user sampling, MP3 recording and playback, hard drive, digital output, and 76 semi-weighted keys (velocity, aftertouch) attest to its professional edge. Video output displays MIDI scores and lyrics.</ItemDescLong> <Bullets> <Bullet>RX (Real eXperience) technology includes Defined Nuance Control and EDS Synthesis for great sound</Bullet> <Bullet>Style engine follows your voice-leading, chording and timing for instant, on-the-fly arrangements</Bullet> <Bullet>XDS Dual Song Player with crossfader; Multi-track, Backing, and Step sequencing; Pad Sequencing</Bullet> <Bullet>950+ Sounds; 64 Drumkits; 400+ Styles; 4 Stereo Multi-effects; 320 Performances, SongBook database</Bullet> <Bullet>Easy-to use motorized color TouchView display with easy and expert modes and contextual help screens</Bullet> </Bullets> <Keywords> <Keyword>61 Notes</Keyword> <Keyword>Keyboard</Keyword> </Keywords> </MarketingInfo> </Item> <Item> <!--Musical Instrument Guitar Example--> <SupplierItemId>G100ACE</SupplierItemId> <SupplierModel>G100ACE</SupplierModel> <SupplierItemDesc>G100 Stage Series Auditorium Cutaway Electric</SupplierItemDesc> <Kit>N</Kit> <Serialized>Y</Serialized> <BrandName>LAG</BrandName> <Length>50.0000</Length> <Width>20.0000</Width> <Height>10.0000</Height> <DimUOM>IN</DimUOM> <Weight>10</Weight> <WeightUOM>LBS</WeightUOM> <AnnounceDate>2010-01-15</AnnounceDate> <AvailableDate>2010-02-15</AvailableDate> <WarrantyPartTerm>365</WarrantyPartTerm> <WarrantyPartUOM>Day</WarrantyPartUOM> <WarrantyLabTerm>0</WarrantyLabTerm> <WarrantyLabUOM>Day</WarrantyLabUOM> <Barcodes> <Barcode> <ID>3700166330283</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> <Pricing> <Price type="MSRP" Currency="USD">675.00</Price> <Price type="MAP" Currency="USD">4</Price> <Price type="Cost" Currency="USD" Qty="1">3</Price> </Pricing> <Containers> <Container> <Type>Each</Type> <Length>41.3300</Length> <Width>18.5000</Width> <Height>5.1100</Height> <DimUOM>IN</DimUOM> <Weight>6.3900</Weight> <WeightUOM>LBS</WeightUOM> <UOM>EA</UOM> <QtyPerUOM>1</QtyPerUOM> <Barcodes> <Barcode> <ID>3700166330283</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> </Container> <Container> <Type>Case Pack</Type> <Length>42.3200</Length> <Width>42.3200</Width> <Height>5.7000</Height> <DimUOM>IN</DimUOM> <Weight>12.780000000000</Weight> <WeightUOM>LBS</WeightUOM> <UOM>CS</UOM> <QtyPerUOM>2</QtyPerUOM> </Container> </Containers> <MarketingInfo> <PrimaryCategory>4025131110</PrimaryCategory> <ProductURL> gorkguitars.com/?page=fp&np=14&sg=1</ProductURL> <ItemDescLong>The Stage Range starts with the high-gloss G100 Series. Maple, mahogany, and black binding join the dark mahogany back and sides to the solid Red Cedar top and add character to the Occitan Cross rosette. The honey-mahogany neck features a comfortable French satin finish and a smooth Indonesian rosewood fingerboard.</ItemDescLong> <Bullets> <Bullet>High-gloss natural finish; Red Cedar top with dark mahogany back and sides</Bullet> <Bullet>Maple, mahogany, and black colored body binding & Occitan Cross rosette pattern</Bullet> <Bullet>French satin-finished honey mahogany neck; Indonesian rosewood fingerboard</Bullet> <Bullet>StudioLuge electronic system; five expertly voiced EQ settings, volume control</Bullet> <Bullet>Flexible NanoFlex piezo pickup mounted in the bridge, under the saddle</Bullet> </Bullets> </MarketingInfo> <RelatedItems> <RelatedItem included="Y" type="accessory"> <SupplierItemId>D8B5518003B</SupplierItemId> <Barcode> <ID>1234567890123</ID> <Type>GTIN-13</Type> </Barcode> </RelatedItem> <RelatedItem included="N" type="ThirdParty"> <SupplierItemId>ProductX</SupplierItemId> <Barcode> <ID>1112345678911</ID> <Type>GTIN-13</Type> </Barcode> </RelatedItem> </RelatedItems> </Item> <Item> <!--Software Example--> <SupplierItemId>GLCDE</SupplierItemId> <SupplierModel>GLCDE</SupplierModel> <SupplierItemDesc>Digital Classics Reborn as Virtual Instruments</SupplierItemDesc> <Kit>N</Kit> <Serialized>Y</Serialized> <BrandName>GORK</BrandName> <CountryOrigin>JP</CountryOrigin> <Length>0.0000</Length> <Width>0.0000</Width> <Height>0.0000</Height> <DimUOM>IN</DimUOM> <Weight>0</Weight> <WeightUOM>LBS</WeightUOM> <AnnounceDate>2005-09-13</AnnounceDate> <AvailableDate>2005-09-23</AvailableDate> <UnavailableDate>2010-11-10</UnavailableDate> <WarrantyPartTerm>365</WarrantyPartTerm> <WarrantyPartUOM>Day</WarrantyPartUOM> <WarrantyLabTerm>0</WarrantyLabTerm> <WarrantyLabUOM>Day</WarrantyLabUOM> <Barcodes> <Barcode> <ID>4959112041301</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> <Pricing> <Price type="MSRP" Currency="USD">199.00</Price> <Price type="MAP" Currency="USD">4</Price> <Price type="Cost" Currency="USD" Qty="1">3</Price> </Pricing> <Containers> <Container> <Type>Each</Type> <Length>10.5000</Length> <Width>7.7500</Width> <Height>1.7500</Height> <DimUOM>IN</DimUOM> <Weight>0.8800</Weight> <WeightUOM>LBS</WeightUOM> <UOM>EA</UOM> <QtyPerUOM>1</QtyPerUOM> <Barcodes> <Barcode> <ID>4959112041301</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> </Container> <Container> <Type>Case Pack</Type> <Length>16.0000</Length> <Width>16.0000</Width> <Height>11.5000</Height> <DimUOM>IN</DimUOM> <Weight>8.800000000000</Weight> <WeightUOM>LBS</WeightUOM> <UOM>CS</UOM> <QtyPerUOM>10</QtyPerUOM> </Container> </Containers> <MarketingInfo> <PrimaryCategory>5029115684</PrimaryCategory> <ProductURL>www.gork.com/software/glcde</ProductURL> <ItemDescLong>The classic sounds of the WAVESTATION and M1 are reborn in Gork Legacy Collection Digital Edition. Gork's inside know-how providing results that are completely faithful to the originals - save the expanded polyphony. You can even load custom SysEx files created on the original M1 and WAVESTATION into the software emulation!</ItemDescLong> <Bullets> <Bullet>Software recreations of the M1 and WAVESTATION, with enhanced polyphony and programming</Bullet> <Bullet>Use as stand-alone programs, or as VST, AU or RTAS plug-ins; Mac and PC compatible</Bullet> <Bullet>MDE-X effects suite with 128 classic & cutting edge effects</Bullet> <Bullet>M1 includes all 19 of the ROM cards, plus all the M1EX PCM and T Series libraries</Bullet> <Bullet>WAVESTATION includes the entire series Sounds, plus all 6 expansion cards</Bullet> </Bullets> </MarketingInfo> </Item> <Item> <!--Print Item Example--> <SupplierItemId>405012500</SupplierItemId> <SupplierModel>405012500</SupplierModel> <SupplierItemDesc>GORK PLAY GUITAR NOW! STARTER SERIES</SupplierItemDesc> <Kit>N</Kit> <Serialized>N</Serialized> <BrandName>GORK</BrandName> <CountryOrigin>CN</CountryOrigin> <Length>0.5000</Length> <Width>8.5000</Width> <Height>11.0000</Height> <DimUOM>IN</DimUOM> <Weight>0</Weight> <WeightUOM>LBS</WeightUOM> <AnnounceDate>2001-12-26</AnnounceDate> <AvailableDate>2001-01-26</AvailableDate> <EndOfProductionDate>2002-12-26</EndOfProductionDate> <ReplacementID>24352452435</ReplacementID> <WarrantyPartTerm>90</WarrantyPartTerm> <WarrantyPartUOM>Day</WarrantyPartUOM> <WarrantyLabTerm>0</WarrantyLabTerm> <WarrantyLabUOM>Day</WarrantyLabUOM> <Barcodes> <Barcode> <ID>4959112030015</ID> <Type>GTIN-13</Type> </Barcode> <Barcode> <ID>4959112030015</ID> <Type>GTIN-13</Type> </Barcode> <Barcode> <ID>4959112030015</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> <Pricing> <Price type="MSRP" Currency="USD">12.75</Price> <Price type="Cost" Currency="USD" Qty="1">3</Price> </Pricing> <Containers> <Container> <Type>Each</Type> <Length>3.5000</Length> <Width>3.2500</Width> <Height>2.0000</Height> <DimUOM>IN</DimUOM> <Weight>0.7500</Weight> <WeightUOM>LBS</WeightUOM> <UOM>EA</UOM> <QtyPerUOM>1</QtyPerUOM> <Barcodes> <Barcode> <ID>4959112030016</ID> <Type>GTIN-13</Type> </Barcode> <Barcode> <ID>4959112030017</ID> <Type>GTIN-13</Type> </Barcode> <Barcode> <ID>4959112030018</ID> <Type>GTIN-13</Type> </Barcode> </Barcodes> </Container> <Container> <Type>Case Pack</Type> <Length>17.5000</Length> <Width>17.5000</Width> <Height>7.2500</Height> <DimUOM>IN</DimUOM> <Weight>45.000000000000</Weight> <WeightUOM>LBS</WeightUOM> <UOM>CS</UOM> <QtyPerUOM>60</QtyPerUOM> </Container> </Containers> <MarketingInfo> <PrimaryCategory>1011109520</PrimaryCategory> <SecondaryCategories> <Category>1011109521</Category> <Category>1011109522</Category> <Category>1011109523</Category> </SecondaryCategories> <Bullets /> <Media> <Images> <Image View="Front" Caption="Look how cool this is" CarouselSequence="1"> <a href="http://gork.com/images/x999_F.gif</Image> " title="http://gork.com/images/x999_F.gif</Image> ">http://gork.com/images/x999_F.gif</Image> </a> <Image View="Back" Caption="Easy to learn"> <a href="http://gork.com/images/x999_B.gif</Image> " title="http://gork.com/images/x999_B.gif</Image> ">http://gork.com/images/x999_B.gif</Image> </a> <Image View="Left" CarouselSequence="3"> <a href="http://gork.com/images/x999_L.gif</Image> " title="http://gork.com/images/x999_L.gif</Image> ">http://gork.com/images/x999_L.gif</Image> </a> <Image View="Right"> <a href="http://gork.com/images/x999_T.gif</Image> " title="http://gork.com/images/x999_T.gif</Image> ">http://gork.com/images/x999_T.gif</Image> </a> <Image View="Top"> <a href="http://gork.com/images/x999_T.gif</Image> " title="http://gork.com/images/x999_T.gif</Image> ">http://gork.com/images/x999_T.gif</Image> </a> <Image View="Bottom" CarouselSequence="2"> <a href="http://gork.com/images/x999_BT.gif</Image> " title="http://gork.com/images/x999_BT.gif</Image> ">http://gork.com/images/x999_BT.gif</Image> </a> <Image>http://gork.com/images/x999_General.gif</Image> </Images> </Media> </MarketingInfo> <ExtendedAttributes> <Data Name="Author">Mel Bay IV</Data> <Data Name="Publisher">Awesome Press</Data> <Data Name="Pages">225</Data> <Data Name="Level" /> <Data Name="Instrumentation" /> <Data Name="Voicing" /> <Data Name="Size" /> <Data Name="Color" /> <Data Name="Finish" /> <Data Name="Contributors"> <Contributor primary="true" Contribution="ARTIST" ContributorName="The Cheetah Girls" ContributorNameReversed="Cheetah Girls, The" /> <Contributor primary="false" Contribution="COMPOSER" ContributorName="Jamie Houston" ContributorNameReversed="Houston, Jamie" /> </Data> <Data Name="TOC"> <Topic> <SuperTitle>Gork Presents...</SuperTitle> <Title>Play Guitar Now!</Title> <SubTitle>(or fairly soon)</SubTitle> <Credits> <Contributor primary="true" Contribution="Chet Atkins" ContributorName="As Performed By Johan de Meij" ContributorNameReversed="de Meij, Johan As Performed By" /> <Contributor primary="false" Contribution="Johan de Meij" ContributorName="Music By Johan de Meij" ContributorNameReversed="de Meij, Johan As Performed By" /> <Contributor primary="false" Contribution="Paul Lavender" ContributorName="Arranged By Paul Lavender ASCAP" ContributorNameReversed="Lavender ASCAP, Paul Arranged By" /> <Contributor primary="false" Contribution="Paul Simon" ContributorName="Lyrics By Paul Simon" ContributorNameReversed="Simon, Paul Lyrics By" /> </Credits> <Copyright> <CopyrightLine>line 1</CopyrightLine> <CopyrightLine>line 2</CopyrightLine> <CopyrightLine>line 3</CopyrightLine> <CopyrightLine>line 4</CopyrightLine> </Copyright> </Topic> </Data> </ExtendedAttributes> </Item> </Items> </NAMM_ITEM>
<?xml version="1.0" encoding="utf-8"?> <NAMM_FunctionalAcknowledgement version="2009.1"> <Timestamp>2008-01-14T10:34:02</Timestamp> <Id>S2S3050_PO691630-1</Id> <Supplier> <PartyId>0761294001004</PartyId> </Supplier> <SoldTo> <PartyId>1100001001675</PartyId> </SoldTo> <StatusCode>C01</StatusCode> <StatusMessage>Received</StatusMessage> </NAMM_FunctionalAcknowledgement>
<?xml version="1.0" encoding="utf-8"?> <NAMM_PRICEBOOK version="2011.0"> <Id>S2S3050_PO691630</Id> <Timestamp>2011-07-19T08:23:30</Timestamp> <Supplier> <PartyId /> <Name /> <Address> <Address1 /> <Address2 /> <Address3 /> <City /> <State /> <PostalCode /> <Country /> <CountryCode /> </Address> </Supplier> <SoldTo> <PartyId /> <Name /> <Address> <Address1 /> <Address2 /> <Address3 /> <City /> <State /> <PostalCode /> <Country /> <CountryCode /> </Address> </SoldTo> <Items> <Item EffectiveDate="2011-07-19T08:23:30"> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <SupplierItemId>FantomX6</SupplierItemId> <Levels> <Level> <Price Currency="USD" type="Cost">100.00</Price> <LevelMin>1</LevelMin> <LevelMax>10</LevelMax> <LevelUOM type="Item">EA</LevelUOM> </Level> <Level> <Price Currency="USD" type="Cost">90.00</Price> <LevelMin>11</LevelMin> <LevelMax>20</LevelMax> <LevelUOM type="Item">EA</LevelUOM> </Level> <Level> <Price Currency="USD" type="Cost">80.00</Price> <LevelMin>21</LevelMin> <LevelMax>30</LevelMax> <LevelUOM type="Item">EA</LevelUOM> </Level> </Levels> </Item> <Item EffectiveDate="2011-07-19T08:23:30"> <BarCodeId>761294084974</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <SupplierItemId>PhantomEx6</SupplierItemId> <Levels> <Level> <Price Currency="USD" type="Cost">100.00</Price> <LevelMin>1</LevelMin> <LevelMax>1000</LevelMax> <LevelUOM type="Order">USD</LevelUOM> </Level> <Level> <Price Currency="USD" type="Cost">90.00</Price> <LevelMin>1001</LevelMin> <LevelMax>5000</LevelMax> <LevelUOM type="Order">USD</LevelUOM> </Level> <Level> <Price Currency="USD" type="Cost">80.00</Price> <LevelMin>5001</LevelMin> <LevelMax>10001</LevelMax> <LevelUOM type="Order">USD</LevelUOM> </Level> </Levels> </Item> <Item EffectiveDate="2011-07-19T08:23:30"> <BarCodeId>761294084821</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <SupplierItemId>Fantom TShirt</SupplierItemId> <Levels> <Level> <Price Currency="USD" type="Cost">10.00</Price> <LevelMin>1</LevelMin> <LevelMax>10</LevelMax> <LevelUOM type="Family">EA</LevelUOM> </Level> <Level> <Price Currency="USD" type="Cost">9.00</Price> <LevelMin>11</LevelMin> <LevelMax>20</LevelMax> <LevelUOM type="Family">EA</LevelUOM> </Level> <Level> <Price Currency="USD" type="Cost">8.00</Price> <LevelMin>21</LevelMin> <LevelMax>30</LevelMax> <LevelUOM type="Family">EA</LevelUOM> </Level> </Levels> </Item> </Items> </NAMM_PRICEBOOK>
<?xml version="1.0" encoding="UTF-8"?> <NAMM_PO version="2009.2"> <Id>S2S3050_PO691630</Id> <Timestamp>2008-12-25T08:23:30</Timestamp> <POHeader> <SoldTo> <PartyId>1100001001675</PartyId> <Name>Joe's Music Store</Name> <Address> <Attn>Joe Owner</Attn> <Address1>321 Main Street</Address1> <City>Music City</City> <State>NY</State> <PostalCode>12345</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </SoldTo> <BillTo> <PartyId>1100001001675</PartyId> <Name>Joe's Music Store</Name> <Address> <Attn>Joe Owner</Attn> <Address1>321 Main Street</Address1> <City>Music City</City> <State>NY</State> <PostalCode>12345</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </BillTo> <BuyerOrderId>123456</BuyerOrderId> <Supplier> <PartyId>0761294001004</PartyId> <Name>Roland Corporation US</Name> <Address> <Address1>5100 S. Eastern Ave.</Address1> <City>Los Angeles</City> <State>CA</State> <PostalCode>90040</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </Supplier> <TermsCode>P024</TermsCode> <TermsDays>30</TermsDays> <TermsDate>2008-12-21</TermsDate> <TermsPercent>1.5</TermsPercent> <TermsPercentDays>10</TermsPercentDays> <ShipInstructions>Fragile shipment</ShipInstructions> <TranspCode>S001</TranspCode> <TranspDesc>UPS/Ground</TranspDesc> <TranspCarrier>UPS</TranspCarrier> <TranspTime>10</TranspTime> <IncoTermsCode>FOB</IncoTermsCode> <IncoTermsDesc>Free On Board</IncoTermsDesc> <POComments>This is an example Purchase Order</POComments> <DateOrdered>2008-12-14</DateOrdered> <DateBeginShip>2008-12-14</DateBeginShip> <DateEndShip>2009-01-31</DateEndShip> <DateCancel>2009-01-31</DateCancel> <Backorder>Y</Backorder> <BuyerName>Joe Buyer</BuyerName> <PORevisionNumber>0</PORevisionNumber> <POStatusIndicator>N</POStatusIndicator> <ASNRequirement>Y</ASNRequirement> <POFileType>P</POFileType> <ShipTo> <PartyId>1100001001675</PartyId> <Name>Joe's Music Store</Name> <Address> <Attn>Joe Owner</Attn> <Address1>321 Main Street</Address1> <City>Music City</City> <State>NY</State> <PostalCode>12345</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </ShipTo> </POHeader> <PODetail> <Items> <Item> <POLineNbr>1</POLineNbr> <BuyerItemId>FX6</BuyerItemId> <BuyerItemDesc>Workstation Keyboard</BuyerItemDesc> <Qty>4</Qty> <QtyUOM>EA</QtyUOM> <UCValue>1437</UCValue> <UCCurrencyCode>USD</UCCurrencyCode> <RetailValue>2395</RetailValue> <RetailCurrencyCode>USD</RetailCurrencyCode> <SupplierItemId>FantomX6</SupplierItemId> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> </Item> <Item> <POLineNbr>2</POLineNbr> <BuyerItemId>SD1Roland</BuyerItemId> <BuyerItemDesc>Super Overdrive</BuyerItemDesc> <Qty>12</Qty> <QtyUOM>EA</QtyUOM> <UCValue>39.95</UCValue> <UCCurrencyCode>USD</UCCurrencyCode> <RetailValue>97.50</RetailValue> <RetailCurrencyCode>USD</RetailCurrencyCode> <SupplierItemId>SD1C</SupplierItemId> <BarCodeId>761294008508</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> </Item> <Item> <POLineNbr>3</POLineNbr> <BuyerItemId>FXBook</BuyerItemId> <BuyerItemDesc>Fantom X Hidden Manual</BuyerItemDesc> <Qty>20</Qty> <QtyUOM>EA</QtyUOM> <UCValue>9.98</UCValue> <UCCurrencyCode>USD</UCCurrencyCode> <RetailValue>19.95</RetailValue> <RetailCurrencyCode>USD</RetailCurrencyCode> <SupplierItemId>FantomXBook</SupplierItemId> <BarCodeId>761294001233</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> </Item> </Items> </PODetail> </NAMM_PO>
<?xml version="1.0" encoding="utf-8"?>
<NAMM_POStatusRequest version="2011.0">
<Timestamp>2011-07-19T10:34:02</Timestamp>
<Id>S2S3050_PO691630-1</Id>
<Supplier>
<PartyId>0761294001004</PartyId>
</Supplier>
<SoldTo>
<PartyId>1100001001675</PartyId>
</SoldTo>
<BuyerOrderIds>
<BuyerOrderId>123456</BuyerOrderId>
<BuyerOrderId>987654</BuyerOrderId>
<BuyerOrderId>654321</BuyerOrderId>
</BuyerOrderIds>
</NAMM_POStatusRequest> <?xml version="1.0" encoding="utf-8"?> <NAMM_POStatus version="2011.0"> <Id>DocumentIDNumber</Id> <POStatusRequestId>123456ZZZZ</POStatusRequestId> <Timestamp>2011-01-15T08:58:23</Timestamp> <BuyerOrderId>432543</BuyerOrderId> <DateOrdered>2011-01-15</DateOrdered> <BuyerName>Joe Schmoe</BuyerName> <Supplier> <PartyId>123456789012</PartyId> <Name>Korg Inc.</Name> <Address> <Attn /> <Address1>123 N Main St</Address1> <Address2 /> <Address3 /> <City>Anytown</City> <State>NY</State> <PostalCode>10011</PostalCode> <Country>United States</Country> <CountryCode>US</CountryCode> </Address> </Supplier> <SoldTo> <PartyId>987654321012</PartyId> <Name>Joe's Music Company</Name> <Address> <Attn /> <Address1>321 S Second St</Address1> <Address2 /> <Address3 /> <City>MyTown</City> <State>CA</State> <PostalCode>90456</PostalCode> <Country>United States</Country> <CountryCode>US</CountryCode> </Address> </SoldTo> <StatusCode>Modified</StatusCode> <PaymentTerms> <StatusCode>0</StatusCode> <StatusMessage /> <TermsCode /> <TermsPercent /> </PaymentTerms> <ShipmentTerms> <StatusCode>0</StatusCode> </ShipmentTerms> <Items> <Item> <POLineNbr>1</POLineNbr> <SequenceNbr>1</SequenceNbr> <StatusCode>Accepted</StatusCode> <ShipDate type="Estimated">2011-11-18</ShipDate> <SupplierOrderId>123456789123456789</SupplierOrderId> </Item> <Item> <POLineNbr>2</POLineNbr> <SequenceNbr>1</SequenceNbr> <StatusCode>Rejected</StatusCode> <StatusMessage>Discontinued</StatusMessage> <SupplierOrderId>123456789123456789</SupplierOrderId> </Item> <Item> <POLineNbr>3</POLineNbr> <SequenceNbr>1</SequenceNbr> <StatusCode>Modified</StatusCode> <Qty>25</Qty> <UCValue>149.94</UCValue> <ShipDate type="Actual">2011-07-07</ShipDate> <SupplierOrderId>123456789123456789</SupplierOrderId> </Item> <Item> <POLineNbr>3</POLineNbr> <SequenceNbr>2</SequenceNbr> <StatusCode>Modified</StatusCode> <StatusMessage>Backordered</StatusMessage> <Qty>25</Qty> <UCValue>149.94</UCValue> <ShipDate type="Estimated">2011-03-01</ShipDate> <SupplierOrderId>123456789123456789-2</SupplierOrderId> </Item> <Item> <POLineNbr>4</POLineNbr> <SequenceNbr>1</SequenceNbr> <StatusCode>Modified</StatusCode> <RetailValue>24.95</RetailValue> <UCValue>12.50</UCValue> <SupplierOrderId>123456789123456789</SupplierOrderId> </Item> <Item> <POLineNbr>5</POLineNbr> <SequenceNbr>1</SequenceNbr> <StatusCode>Modified</StatusCode> <StatusMessage>Backordered</StatusMessage> <EstimatedShipDate>2011-05-01</EstimatedShipDate> <SupplierOrderId>123456789123456789</SupplierOrderId> </Item> </Items> </NAMM_POStatus>
<?xml version="1.0" encoding="utf-8"?> <NAMM_ASN version="2009.2"> <Id>S2S3050_PO691634</Id> <Timestamp>2008-01-15T07:34:00</Timestamp> <ShipmentHeader> <ShipmentId>345678</ShipmentId> <Shipped>2008-01-15</Shipped> <EstDeliver>2008-01-22</EstDeliver> <Supplier> <PartyId>0761294001004</PartyId> <Name>Ladron Corporation</Name> <Address> <Address1>9900 S. Western Ave.</Address1> <City>Los Angeles</City> <State>CA</State> <PostalCode>90040</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </Supplier> <ShipFrom> <PartyId>0761294001004</PartyId> <Name>Ladron Corporation</Name> <Address> <Address1>9900 S. Western Ave.</Address1> <City>Los Angeles</City> <State>CA</State> <PostalCode>90040</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </ShipFrom> <ShipmentRefs> <PRONbr>SFO-123456</PRONbr> </ShipmentRefs> <ShipmentQty> <ContainerQty>5</ContainerQty> <ShipmentItemQty>36</ShipmentItemQty> </ShipmentQty> <TranspCode>S001</TranspCode> <TranspDesc>UPS Ground</TranspDesc> <SoldTo> <PartyId>1100001001675</PartyId> <Name>Joe's Music Store</Name> <Address> <Attn>Joe Owner</Attn> <Address1>321 Main Street</Address1> <City>Music City</City> <State>NY</State> <PostalCode>12345</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </SoldTo> <ShipTo> <PartyId>1100001001675</PartyId> <Name>Joe's Music Store</Name> <Address> <Attn>Joe Owner</Attn> <Address1>321 Main Street</Address1> <City>Music City</City> <State>NY</State> <PostalCode>12345</PostalCode> <Country>USA</Country> <CountryCode>US</CountryCode> </Address> </ShipTo> </ShipmentHeader> <Orders> <Order> <BuyerOrderId>345678</BuyerOrderId> <Containers> <Container> <ContainerId>345678-1</ContainerId> <Item> <ItemId> <BarCodeId>40761294008508</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <BuyerItemId>SD1Ladron</BuyerItemId> <SupplierItemId>SD1C</SupplierItemId> </ItemId> <POLineNbr>1</POLineNbr> <ItemQty> <Qty>1</Qty> <ItemUOMCode>EA</ItemUOMCode> </ItemQty> </Item> </Container> <Container> <ContainerId>345678-2</ContainerId> <Item> <ItemId> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <BuyerItemId>FX6</BuyerItemId> <SupplierItemId>OperaX6</SupplierItemId> </ItemId> <POLineNbr>2</POLineNbr> <ItemQty> <Qty>1</Qty> <ItemUOMCode>EA</ItemUOMCode> </ItemQty> </Item> </Container> <Container> <ContainerId>345678-3</ContainerId> <Item> <ItemId> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <BuyerItemId>FX6</BuyerItemId> <SupplierItemId>OperaX6</SupplierItemId> </ItemId> <POLineNbr>3</POLineNbr> <ItemQty> <Qty>1</Qty> <ItemUOMCode>EA</ItemUOMCode> </ItemQty> </Item> </Container> <Container> <ContainerId>345678-4</ContainerId> <Item> <ItemId> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <BuyerItemId>FX6</BuyerItemId> <SupplierItemId>OperaX6</SupplierItemId> </ItemId> <POLineNbr>4</POLineNbr> <ItemQty> <Qty>1</Qty> <ItemUOMCode>EA</ItemUOMCode> </ItemQty> </Item> </Container> <Container> <ContainerId>345678-5</ContainerId> <Item> <ItemId> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <BuyerItemId>FX6</BuyerItemId> <SupplierItemId>OperaX6</SupplierItemId> </ItemId> <POLineNbr>5</POLineNbr> <ItemQty> <Qty>1</Qty> <ItemUOMCode>EA</ItemUOMCode> </ItemQty> </Item> </Container> <Container> <ContainerId>345678-6</ContainerId> <Item> <ItemId> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <BuyerItemId>FXBook</BuyerItemId> <SupplierItemId>OperaXBook</SupplierItemId> </ItemId> <POLineNbr>6</POLineNbr> <ItemQty> <Qty>1</Qty> <ItemUOMCode>CTN</ItemUOMCode> </ItemQty> </Item> </Container> <Container> <ContainerId>345678-7</ContainerId> <Item> <ItemId> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> <BuyerItemId>FXBook</BuyerItemId> <SupplierItemId>OperaXBook</SupplierItemId> </ItemId> <POLineNbr>7</POLineNbr> <ItemQty> <Qty>1</Qty> <ItemUOMCode>CTN</ItemUOMCode> </ItemQty> </Item> </Container> </Containers> </Order> </Orders> </NAMM_ASN>
<?xml version="1.0" encoding="utf-8"?> <NAMM_Invoice version="2009.2"> <InvoiceHeader> <Id>S2S3050_PO691634</Id> <Timestamp>2008-01-15T08:34:00</Timestamp> <SoldTo> <PartyId>1100001001675</PartyId> <Name>Joe's Music Store</Name> </SoldTo> <InvoiceId>12345678</InvoiceId> <InvoiceType>D</InvoiceType> <Supplier> <PartyId>0761294001004</PartyId> <Name>Roland Corporation U.S.</Name> <Address> <Address1>5100 S Eastern Ave</Address1> <City>Los Angeles</City> <State>CA</State> <PostalCode>90040</PostalCode> <Country>United States</Country> <CountryCode>US</CountryCode> </Address> </Supplier> <RemitTo> <PartyId>0761294001004</PartyId> <Name>Roland Corporation U.S.</Name> <Address> <Attn>Accounts Receivable</Attn> <Address1>5100 S Eastern Ave</Address1> <City>Los Angeles</City> <State>CA</State> <PostalCode>90040</PostalCode> <Country>United States</Country> <CountryCode>US</CountryCode> </Address> </RemitTo> <BillTo> <PartyId>1100001001675</PartyId> <Name>Joe's Music Store</Name> <Address> <Attn>Accounts Payable</Attn> <Address1>Box 123</Address1> <City>Music City</City> <State>NY</State> <PostalCode>12345</PostalCode> <Country>United States</Country> <CountryCode>US</CountryCode> </Address> </BillTo> <ShipTo> <PartyId>1100001001676</PartyId> <Name>Joe's Music Store</Name> <Address> <Attn>Receiving Department</Attn> <Address1>321 Main Street</Address1> <City>Music City</City> <State>NY</State> <PostalCode>12345</PostalCode> <Country>United States</Country> <CountryCode>US</CountryCode> </Address> </ShipTo> <TermsCode>P014</TermsCode> <TranspCode>S001</TranspCode> <InvoiceDate>2008-01-15</InvoiceDate> <InvoiceDueDate>2008-02-14</InvoiceDueDate> <BuyerName>Joe Buyer</BuyerName> <SalesRep>Richard Rep</SalesRep> </InvoiceHeader> <InvoiceSummary> <TotalItemLines>3</TotalItemLines> <TotalItemQty>7</TotalItemQty> <LineTotal>6626.40</LineTotal> <FreightTotal>50.00</FreightTotal> <SalesTax>123.45</SalesTax> <MiscCharge>0.00</MiscCharge> <InvoiceTotal>6676.40</InvoiceTotal> </InvoiceSummary> <InvoiceDetail> <Items> <Item> <BuyerOrderId>123456</BuyerOrderId> <SupplierOrderId>123456</SupplierOrderId> <InvoiceLineNbr>1</InvoiceLineNbr> <POLineNbr>2</POLineNbr> <BuyerItemId>SD1Roland</BuyerItemId> <Qty>1</Qty> <QtyUOM>CTN</QtyUOM> <UCValue>479.40</UCValue> <UCCurrencyCode>USD</UCCurrencyCode> <ExtendedCostValue>479.40</ExtendedCostValue> <ExtendedCurrencyCode>USD</ExtendedCurrencyCode> <SupplierItemId>SD1</SupplierItemId> <SupplierItemDesc>Roland SD1</SupplierItemDesc> <PackListNbr>345678</PackListNbr> <ShipmentIds> <ShipmentId>345678</ShipmentId> </ShipmentIds> <DateShipped>2008-01-15</DateShipped> <BarCodeId>761294008508</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> </Item> <Item> <BuyerOrderId>123456</BuyerOrderId> <SupplierOrderId>123456</SupplierOrderId> <InvoiceLineNbr>2</InvoiceLineNbr> <POLineNbr>1</POLineNbr> <BuyerItemId>FX6</BuyerItemId> <Qty>4</Qty> <QtyUOM>EA</QtyUOM> <UCValue>1437.00</UCValue> <UCCurrencyCode>USD</UCCurrencyCode> <ExtendedCostValue>5748.00</ExtendedCostValue> <ExtendedCurrencyCode>USD</ExtendedCurrencyCode> <SupplierItemId>FantomX6</SupplierItemId> <SupplierItemDesc>Fantom X6 Keyboard</SupplierItemDesc> <PackListNbr>345678</PackListNbr> <ShipmentIds> <ShipmentId>345678</ShipmentId> </ShipmentIds> <DateShipped>2008-01-15</DateShipped> <BarCodeId>761294084991</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> </Item> <Item> <BuyerOrderId>123456</BuyerOrderId> <SupplierOrderId>123456</SupplierOrderId> <InvoiceLineNbr>3</InvoiceLineNbr> <POLineNbr>3</POLineNbr> <BuyerItemId>FXBook</BuyerItemId> <Qty>2</Qty> <QtyUOM>CTN</QtyUOM> <UCValue>199.50</UCValue> <UCCurrencyCode>USD</UCCurrencyCode> <ExtendedCostValue>399.00</ExtendedCostValue> <ExtendedCurrencyCode>USD</ExtendedCurrencyCode> <SupplierItemId>FantomXBook</SupplierItemId> <SupplierItemDesc>Fantom X Hidden Secrets</SupplierItemDesc> <PackListNbr>345678</PackListNbr> <ShipmentIds> <ShipmentId>345678</ShipmentId> </ShipmentIds> <DateShipped>2008-01-15</DateShipped> <BarCodeId>761294001233</BarCodeId> <BarCodeType>GTIN-12</BarCodeType> </Item> </Items> </InvoiceDetail> </NAMM_Invoice>
The terms codes reproduced below are used in the Purchase Order and Invoice documents. Further information about the International Chamber of Commerce terms codes (Incoterms) may be found at
http://www.iccwbo.org/incoterms/id3040/index.html
|
Terms Code |
Terms Percent |
Terms Percent Days |
Terms Days |
Description (No Node) |
|
P001 |
0 |
|
30D |
NET 30 DAYS |
|
P002 |
0 |
|
45D |
NET 45 |
|
P003 |
0 |
|
60D |
NET 60 |
|
P004 |
0 |
|
90D |
NET 90 |
|
P005 |
0 |
|
0D |
COD |
|
P006 |
0 |
|
0D |
PREPAID CHECK |
|
P007 |
0 |
|
45D |
CREDIT CARD |
|
P008 |
0 |
|
10D |
NET 10 |
|
P009 |
0 |
|
15D |
NET 15 |
|
P010 |
0 |
|
20D |
NET 20 |
|
P011 |
1 |
10D |
30D |
1% 10/NET 30 |
|
P012 |
2 |
10D |
30D |
2% 10/NET 30 |
|
P013 |
2 |
15D |
30D |
2% 15/NET 30 |
|
P014 |
2 |
20D |
30D |
2% 20/NET 30 |
|
P015 |
3 |
10D |
30D |
3% 10/NET 30 |
|
P016 |
3 |
21D |
30D |
3% 21/NET 30 |
|
P017 |
5 |
20D |
30D |
5% 20/NET 30 |
|
P018 |
3 |
30D |
31D |
3% 30/NET 31 |
|
P019 |
5 |
30D |
31D |
5% 30/NET 31 |
|
P020 |
10 |
30D |
31D |
10% 30/NET 31 |
|
P021 |
0 |
|
90D |
3 EQUAL PAYMENTS |
|
P022 |
2 |
27D |
30D |
2% 27/NET 30 |
|
P023 |
1 |
20D |
30D |
1% 20/NET 30 |
|
P024 |
1.5 |
20D |
30D |
1.5% 20/NET 30 |
|
P025 |
3 |
14D |
30D |
3% 14/NET 30 |
|
P026 |
2 |
30D |
31D |
2% 30/NET 31 |
|
P027 |
1 |
15D |
30D |
1% 15/NET 30 |
|
P028 |
1.2 |
30D |
60D |
1.2% 30/NET 60 |
|
P998 |
|
|
|
USE DISCOUNT AND DAYS NODES |
|
P999 |
|
|
|
USE CUSTOMER DEFAULT |
The International Chamber of Commerce (Inco) shipping terms codes reproduced below are used in the Invoice and Purchase Order documents.
|
Code |
Description |
|
Group E: Departure adsf |
|
EXW |
EX Works |
|
Group F: Main carriage unpaid adsf |
|
FCA |
Free Carrier |
|
FAS |
Free Alongside Ship |
|
FOB |
Free On Board |
|
Group C: Main carriage paid adsf |
|
CFR |
Cost and Freight |
|
CIF |
Cost, Insurance and Freight |
|
CPT |
Carriage Paid To |
|
CIP |
Carriage and Insurance Paid to |
|
Group D: Arrival adf |
|
DAF |
Delivered At Frontier |
|
DES |
Delivered Ex Ship |
|
DEQ |
Delivered Ex Quay |
|
DDU |
Delivered Duty Unpaid |
|
DDP |
Delivered Duty Paid |
The shipping codes reproduced below are used in the Purchase Order and Advanced Shipping Notification documents.
|
Code |
Description |
Carrier |
Time |
|
S001 |
UPS/Ground |
UPS |
Ground |
|
S002 |
UPS/Next Day Air |
UPS |
1DayAM |
|
S003 |
UPS/2nd Day Air |
UPS |
2Day |
|
S004 |
UPS/3-Day Select |
UPS |
3Day |
|
S021 |
FedEx Ground |
FedEx |
Ground |
|
S005 |
FedEx/Next Day Air |
FedEx |
1DayPM |
|
S006 |
FedEx/2nd Day Air |
FedEx |
2Day |
|
S007 |
FedEx/Next Day Priority Air |
FedEx |
1DayAM |
|
S008 |
FedEx/2nd Day Priority Air |
FedEx |
2Day |
|
S022 |
FedEx Freight |
FedEx |
LTL |
|
S024 |
FEDX/3-Day |
FedEx |
3Day |
|
S009 |
Will Call |
|
|
|
S010 |
Drop Ship/Misc Carrier |
|
|
|
S023 |
Drop-Ship UPS/Ground Residential |
UPS |
GroundResidential |
|
S011 |
Drop-Ship UPS/Ground |
UPS |
Ground |
|
S012 |
Drop-Ship UPS/Next Day Air |
UPS |
1DayAM |
|
S013 |
Drop-Ship UPS/2nd Day Air |
UPS |
2Day |
|
S014 |
Drop-Ship UPS/3 Day Select |
UPS |
3Day |
|
S015 |
Drop-Ship FEDX/Next Day Air |
FedEx |
1DayPM |
|
S016 |
Drop-Ship FEDX/2nd Day Air |
FedEx |
2Day |
|
S017 |
Drop-Ship FEDX/Nxt Day Priority Air |
FedEx |
1DayAM |
|
S018 |
Drop-Ship FEDX/2nd Day Priority Air |
FedEx |
2Day |
|
S019 |
Drop-Ship FEDX/3-Day |
FedEx |
3Day |
|
S020 |
Misc Carrier/Include Remarks |
|
|
|
S031 |
international AIR shipments |
|
|
|
S032 |
international LTL shipments |
|
|
|
S033 |
international OCEAN shipments |
|
|
|
S034 |
international SMALL PACKAGE shipments |
|
|
|
S035 |
international TRUCKLOAD shipments |
|
|
|
S998 |
Use Carrier and Time Codes |
|
|
|
S999 |
Use Customer Default (Bestway) |
|
|
The status codes reproduced below are used in the Functional Acknowledgement document.
|
Status Code |
Description |
|
C01 |
Received |
|
C02 |
Error |
The UOM codes reproduced below are used in the Advanced Shipment Notice, Invoice, Item, and Purchase Order documents.
|
Code |
Description |
|
BAG |
Bag |
|
BKT |
Bucket |
|
BND |
Bundle |
|
BOWL |
Bowl |
|
BX |
Box |
|
CRD |
Card |
|
CM |
Centimeters |
|
CS |
Case |
|
CTN |
Carton |
|
DZ |
Dozen |
|
EA |
Each |
|
FT |
Foot |
|
GAL |
Gallon |
|
GROSS |
Gross |
|
IN |
Inches |
|
KIT |
Kit |
|
LOT |
Lot |
|
PC |
Piece |
|
PK |
Pack |
|
PK100 |
Pack 100 |
|
PK50 |
Pack 50 |
|
PR |
Pair |
|
RACK |
Rack |
|
RL |
Roll |
|
SET |
Set |
|
SET3 |
Set of 3 |
|
SET4 |
Set of 4 |
|
SET5 |
Set of 5 |
|
SGL |
Single |
|
SHT |
Sheet |
|
SQFT |
Square ft |
|
TUBE |
Tube |
|
YD |
Yard |
NAMM maintains a comprehensive list of musical product categories, including category descriptions, level paths, unique code numbers, and inactive dates, for use with the B2B documents. Although the full list of well over 700 categories is too lengthy to publish in this guide, a small sample is shown below.
|
Code |
Level Path |
Custom Category Description |
Inactive Date |
|
. . . |
. . . |
. . . |
. . . |
|
1011109364 |
Accessories >> Audio >> Cables/Connectors >> Jacks, Plugs, Connectors |
Jacks, Plugs & Connectors |
|
|
1011109520 |
Accessories >> Audio >> Cables/Connectors >> Power Cables and Cords |
Power Cables |
|
|
1011159122 |
Accessories >> Audio >> Parts >> Amplifier Hardware |
Amplifier Parts & Hardware |
|
|
1011159576 |
Accessories >> Audio >> Parts >> Speakers - Components |
Speaker Parts |
|
|
1011167158 |
Accessories >> Audio >> Power >> Batteries |
Batteries |
|
|
. . . |
. . . |
. . . |
. . . |
The full list is available online as an HTML page at
http://b2b.namm.net/ItemCategory/Public/ViewCategoryList.aspx
On this page, the list is sortable by column value; click a column header to sort in ascending order, click again to sort in descending order.
The full list is also available online as an XML stream at
http://b2b.namm.net/ItemCategory/XMLCategoryList
On this page, right-click and choose "View Source" to see the full XML source code.
Links to the two pages listed above may be found at http://b2b.namm.net/ItemCategory/Public/
Any given XML element in the NAMM B2B standard might appear in multiple documents, making consistent element definition, validation, and use across documents critical. It is therefore useful to be able to determine, for any given tag, the documents and context in which it appears.
Below is an alphabetical list of all XML elements used in the B2B standard documents, the documents in which they appear, their data types, lengths, and any pertinent notes about content, range, source, or values.
Document name abbreviations used in the “Appears In” column are:
AS = Advanced Shipment Notice
FA = Functional Acknowledgement
IN = Invoice
IT = Item
PB = Price Book
PO = Purchase Order
PR = Purchase Order Status Request
PS = Purchase Order Status
PY = Party
ST = Sell Through
Data type abbreviations used in the “Type” column are:
C = Complex/Container
D = Date
F = Flag (Y/N, C/D, etc.)
I = Integer
N = Numeric (decimal)
S = String
U = URL/URI
|
Tag |
Appears In |
Type |
Len |
Notes |
|
<Address> |
AS IN PB PO PS PY ST |
C |
- |
|
|
<Address1> |
AS IN PB PO PS PY ST |
S |
35 |
Based on UPS fields |
|
<Address2> |
AS IN PB PO PS PY ST |
S |
35 |
Based on UPS fields |
|
<Address3> |
AS IN PB PO PS PY ST |
S |
35 |
Based on UPS fields |
|
<AnnounceDate> |
IT |
D |
10 |
ISO format: YYYY-MM-DD |
|
<ASNRequirement> |
PO |
F |
1 |
“Y” or “N” |
|
<Attn> |
AS IN PB PO PS PY ST |
S |
35 |
Based on UPS fields |
|
<Audio> |
IT |
U |
|
Audio URL |
|
<Audios> |
IT |
C |
- |
|
|
<Availability> |
IT |
C |
- |
|
|
<Available> |
IT |
S |
|
"YES", "NO", "LOW", "MEDIUM", or "HIGH" |
|
<AvailableDate> |
IT |
D |
10 |
ISO format: YYYY-MM-DD |
|
<Backorder> |
PO |
F |
1 |
“Y” or “N” |
|
<Barcode> |
IT |
C |
- |
|
|
<BarCodeId> |
AS IN PB PO ST |
S |
14 |
GTIN-12 (UPC), GTIN-13 (EAN/JAN), GTIN-14 (GTIN-14), or Vendor Part Number |
|
<Barcodes> |
IT |
C |
- |
|
|
<BarCodeType> |
AS IN PB PO ST |
S |
10 |
“GTIN-12”, “GTIN-13”, “GTIN-14”, or “PartNumber” |
|
<BillTo> |
IN PO |
C |
- |
|
|
<BrandName> |
IT |
S |
50 |
Item brand name |
|
<Bullet> |
IT |
S |
|
Item bullet point |
|
<Bullets> |
IT |
C |
- |
|
|
<BuyerItemDesc> |
AS PO |
S |
50 |
Buyer’s item description |
|
<BuyerItemId> |
AS IN PO ST |
S |
25 |
Buyer’s item ID |
|
<BuyerName> |
IN PO PS |
S |
35 |
Buyer company name |
|
<BuyerOrderId> |
AS IN PO PR PS |
S |
25 |
Buyer’s order ID |
|
<BuyerOrderIds> |
PR |
C |
- |
|
|
<Category> |
IT |
S |
|
Item category |
|
<City> |
AS IN PB PO PS PY ST |
S |
30 |
Based on UPS fields |
|
<Comments> |
IN |
S |
250 |
Comments |
|
<Condition> |
IT |
S |
|
Item condition |
|
<ConfNbr> |
AS |
S |
25 |
Confirmation number |
|
<Container> |
AS IT |
C |
- |
|
|
<ContainerId> |
AS |
S |
25 |
Container ID |
|
<ContainerQty> |
AS |
I |
6 |
6 digits, as 999999 |
|
<Containers> |
AS IT |
C |
- |
|
|
<Contributor> |
IT |
S |
|
Item contributor |
|
<Copyright> |
IT |
C |
- |
|
|
<CopyrightLine> |
IT |
S |
|
Copyright line (text) |
|
<Country> |
AS IN PB PO PS PY ST |
S |
50 |
Country name |
|
<CountryCode> |
AS IN PB PO PS PY ST |
S |
2 |
ISO standard |
|
<CountryOrigin> |
IT |
S |
50 |
Item country of origin |
|
<Credits> |
IT |
C |
- |
|
|
<Data> |
IT |
C |
- |
|
|
<DateBeginShip> |
PO |
D |
10 |
ISO format: YYYY-MM-DD |
|
<DateCancel> |
PO |
D |
10 |
ISO format: YYYY-MM-DD |
|
<DateEndShip> |
PO |
D |
10 |
ISO format: YYYY-MM-DD |
|
<DateOrdered> |
PO PS |
D |
10 |
ISO format: YYYY-MM-DD |
|
<DateShipped> |
IN |
D |
10 |
ISO format: YYYY-MM-DD |
|
<DBA> |
PY |
S |
35 |
Doing Business As name |
|
<Description> |
PY |
S |
|
Partner location description |
|
<DimUOM> |
IT |
S |
5 |
From UOM table |
|
<Document> |
IT |
U |
|
Document URL |
|
<Documents> |
IT |
C |
- |
|
|
<Email> |
PY |
S |
100 |
Email address |
|
<EndDate> |
PY ST |
D |
10 |
ISO format: YYYY-MM-DD |
|
<EndOfProductionDate> |
IT |
D |
10 |
ISO format: YYYY-MM-DD |
|
<EstDeliver> |
AS |
D |
10 |
ISO format: YYYY-MM-DD |
|
<EstimatedShipDate> |
PS |
D |
10 |
ISO format: YYYY-MM-DD |
|
<ExtendedAttributes> |
IT |
C |
- |
|
|
<ExtendedCostValue> |
IN |
N |
10 |
5.4, as 12345.6789 |
|
<ExtendedCurrencyCode> |
IN |
S |
3 |
ISO standard currency code |
|
<Fax> |
PY |
S |
24 |
Fax number |
|
<FreightTotal> |
IN |
N |
10 |
5.4, as 12345.6789 |
|
<Height> |
IT |
N |
10 |
5.4, as 12345.6789 |
|
<ICQtyPerUOM> |
AS PO |
N |
10 |
5.4, as 12345.6789 |
|
<ICUOM> |
AS PO |
S |
5 |
From UOM table |
|
<Id> |
AS FA IN IT PB PO PR PS ST |
S |
50 |
Unique document ID |
|
<Image> |
IT |
U |
256 |
Image URL |
|
<Images> |
IT |
C |
- |
|
|
<IncoTermsCode> |
IN PO |
S |
3 |
From Inco Terms table |
|
<IncoTermsDesc> |
IN PO |
S |
35 |
From Inco Terms table |
|
<InvoiceDate> |
IN |
D |
10 |
ISO format: YYYY-MM-DD |
|
<InvoiceDetail> |
IN |
C |
- |
|
|
<InvoiceDueDate> |
IN |
D |
10 |
ISO format: YYYY-MM-DD |
|
<InvoiceHeader> |
IN |
C |
- |
|
|
<InvoiceId> |
IN |
S |
32 |
|
|
<InvoiceLineNbr> |
IN |
I |
6 |
6 digits, as 999999 |
|
<InvoiceSummary> |
IN |
C |
- |
|
|
<InvoiceTotal> |
IN |
N |
10 |
5.4, as 12345.6789 |
|
<InvoiceType> |
IN |
F |
1 |
“C” or “D” (Credit/Debit invoice) |
|
<Item> |
AS IN IT PB PO PS ST |
C |
- |
|
|
<ItemAttrs> |
AS |
C |
- |
|
|
<ItemDescLong> |
IT |
S |
|
Long item description |
|
<ItemFamily> |
IT |
S |
|
Item family |
|
<ItemId> |
AS |
C |
- |
|
|
<ItemQty> |
AS |
C |
- |
|
|
<Items> |
IN IT PB PO PS ST |
C |
- |
|
|
<ItemUOMCode> |
AS |
S |
5 |
From UOM table |
|
<ItemUOMDesc> |
AS |
S |
15 |
From UOM table |
|
<Keyword> |
IT |
S |
|
Item keyword |
|
<Keywords> |
IT |
C |
- |
|
|
<Kit> |
IT |
F |
1 |
“Y” or “N” |
|
<Length> |
IT |
N |
10 |
5.4, as 12345.6789 |
|
<Level> |
PB |
C |
- |
|
|
<LevelMax> |
PB |
I |
|
Level maximum |
|
<LevelMin> |
PB |
I |
|
Level minimum |
|
<Levels> |
PB |
C |
- |
|
|
<LevelUOM> |
PB |
S |
|
From UOM table |
|
<LineTotal> |
IN |
N |
10 |
5.4, as 12345.6789 |
|
<Location> |
PY ST |
C |
- |
|
|
<Locations> |
PY ST |
C |
- |
|
|
<MarketingInfo> |
IT |
C |
- |
|
|
<MasterBOL> |
AS |
S |
25 |
Master Bill Of Lading ID |
|
<MCQtyPerUOM> |
AS PO |
I |
6 |
6 digits, as 999999 |
|
<MCUOM> |
AS PO |
S |
5 |
From UOM table |
|
<Media> |
IT |
C |
- |
|
|
<MiscCharge> |
IN |
N |
10 |
5.4, as 12345.6789 |
|
<Name> |
AS IN PB PO PS PY ST |
S |
35 |
Based on UPS fields |
|
<NAMM_ASN> |
AS |
C |
- |
Root container/file identifier |
|
<NAMM_FunctionalAcknowledgement> |
FA |
C |
- |
Root container/file identifier |
|
<NAMM_Invoice> |
IN |
C |
- |
Root container/file identifier |
|
<NAMM_ITEM> |
IT |
C |
- |
Root container/file identifier |
|
<NAMM_PARTY> |
PY |
C |
- |
Root container/file identifier |
|
<NAMM_POStatusRequest> |
PR |
C |
- |
Root container/file identifier |
|
<NAMM_POStatus> |
PS |
C |
- |
Root container/file identifier |
|
<NAMM_PO> |
PO |
C |
- |
Root container/file identifier |
|
<NAMM_PRICEBOOK> |
PB |
C |
- |
Root container/file identifier |
|
<NAMM_SELLTHROUGH> |
ST |
C |
- |
Root container/file identifier |
|
<Order> |
AS |
C |
- |
|
|
<Orders> |
AS |
C |
- |
|
|
<PackListNbr> |
IN |
S |
25 |
Packing list number |
|
<PartyId> |
AS FA IN PB PO PR PS PY ST |
S |
25 |
GLN or NAMM ID. If using GLN, then 13 digits w/possible leading zeros denoting location. Otherwise, NAMM ID + “*” + five digits denoting location. |
|
<PartyIdType> |
PY |
S |
4 |
“GLN” or “NAMM” |
|
<PaymentTerms> |
PS |
C |
- |
|
|
<Phone> |
PY |
S |
24 |
Phone number |
|
<POComments> |
PO |
S |
250 |
Comments |
|
<PODetail> |
PO |
C |
- |
|
|
<POFileType> |
PO |
S |
1 |
“P” or “A”, indicating Pre-accepted or Accepted PO |
|
<POHeader> |
PO |
C |
- |
|
|
<POLineNbr> |
AS IN PO PS |
I |
6 |
6 digits, as 999999 |
|
<PORevisionNumber> |
PO |
I |
6 |
6 digits, as 999999 |
|
<PostalCode> |
AS IN PB PO PS PY ST |
S |
9 |
ZIP 5+4 format w/o dash |
|
<POStatusIndicator> |
PO |
S |
1 |
“N” or “U”, indicating New or Updated PO |
|
<POStatusRequestId> |
PS |
S |
|
Unique document ID |
|
<Price> |
IT PB |
N |
10 |
5.4, as 12345.6789 |
|
<Pricing> |
IT |
C |
- |
|
|
<PrimaryCategory> |
IT |
S |
|
Item primary category |
|
<ProductURL> |
IT |
U |
500 |
URL for product information |
|
<PRONbr> |
AS |
S |
25 |
Shipment PRO number |
|
<Publisher> |
IT |
S |
|
Musical composition publisher |
|
<Qty> |
AS IN PO PS ST |
N |
10 |
5.4, as 12345.6789 |
|
<QtyOnHand> |
IT ST |
I |
|
Quantity on hand |
|
<QtyPerUOM> |
IT |
I |
|
Quantity per UOM |
|
<QtyUOM> |
IN PO ST |
S |
5 |
From UOM table |
|
<QueryURL> |
IT |
S |
|
Query URL |
|
<RelatedItem> |
IT |
C |
- |
|
|
<RelatedItems> |
IT |
C |
- |
|
|
<RemitTo> |
IN |
C |
- |
|
|
<ReplacementID> |
IT |
S |
25 |
The SupplierItemID that replaces the item |
|
<RetailCurrencyCode> |
IN PO |
S |
3 |
ISO standard currency code |
|
<RetailValue> |
IN PO PS |
N |
10 |
5.4, as 12345.6789 |
|
<RevisionDate> |
PY |
D |
10 |
ISO format: YYYY-MM-DD |
|
<SalesRep> |
IN |
S |
35 |
Sales rep name |
|
<SalesTax> |
IN |
N |
10 |
5.4, as 12345.6789 |
|
<SalesTotal> |
ST |
N |
10 |
5.4, as 12345.6789 |
|
<SalesTotalCurrencyCode> |
ST |
S |
3 |
ISO standard currency code |
|
<SealId> |
AS |
S |
25 |
Container seal ID |
|
<SecondaryCategories> |
IT |
C |
- |
|
|
<SequenceNbr> |
PS |
I |
|
PO item sequence number |
|
<Serialized> |
IT |
F |
1 |
“Y” or “N” |
|
<SerialNbr> |
AS |
S |
25 |
Item serial number |
|
<SerialNbrs> |
AS |
C |
- |
|
|
<ShipDate> |
PS |
D |
|
ISO format: YYYY-MM-DD |
|
<ShipFrom> |
AS |
C |
- |
|
|
<ShipInstructions> |
IN PO |
S |
250 |
Shipping instructions |
|
<ShipmentHeader> |
AS |
C |
- |
|
|
<ShipmentId> |
AS IN |
S |
25 |
Shipment ID |
|
<ShipmentIds> |
IN |
C |
- |
|
|
<ShipmentItemQty> |
AS |
I |
6 |
6 digits, as 999999 |
|
<ShipmentQty> |
AS |
C |
- |
|
|
<ShipmentRefs> |
AS |
C |
- |
|
|
<ShipmentTerms> |
PS |
C |
- |
|
|
<ShipmentType> |
AS |
S |
25 |
Shipment type |
|
<Shipped> |
AS |
D |
10 |
ISO format: YYYY-MM-DD |
|
<ShipperTrackingNumber> |
AS |
S |
25 |
Tracking number |
|
<ShipTo> |
AS IN PO |
C |
- |
|
|
<SoldTo> |
AS FA IN PB PO PR PS ST |
C |
- |
|
|
<StartDate> |
PY ST |
D |
10 |
ISO format: YYYY-MM-DD |
|
<State> |
AS IN PB PO PS PY ST |
S |
2 |
State code |
|
<StatusCode> |
FA PS |
S |
3 |
Status code |
|
<StatusMessage> |
FA PS |
S |
10 |
Status message |
|
<StdContainer> |
AS |
C |
- |
|
|
<StdContainerType> |
AS |
S |
|
Container type |
|
<StdPack> |
AS |
C |
- |
|
|
<StdPackType> |
AS |
S |
|
Package type |
|
<SubTitle> |
IT |
S |
|
Item topic subtitle |
|
<SuperTitle> |
IT |
S |
|
Item topic supertitle |
|
<Supplier> |
AS FA IN PB PO PR PS ST |
C |
- |
|
|
<SupplierId> |
IT |
S |
25 |
GLN or NAMM ID. If using GLN, then 13 digits w/possible leading zeros denoting location. Otherwise, NAMM ID + “*” + five digits denoting location. |
|
<SupplierItemDesc> |
AS IN IT |
S |
50 |
Supplier item description |
|
<SupplierItemId> |
AS IN IT PB PO ST |
S |
25 |
Supplier item ID |
|
<SupplierModel> |
IT |
S |
50 |
Supplier model |
|
<SupplierOrderId> |
IN PS |
S |
25 |
Supplier’s order ID |
|
<TermsCode> |
IN PO PS |
S |
15 |
From Terms Code table or partner-specific codes |
|
<TermsDate> |
IN PO |
D |
10 |
ISO format: YYYY-MM-DD. Required if TermsCode is P998 |
|
<TermsDays> |
IN PO |
I |
6 |
6 digits, as 999999. Required if TermsCode is P998 |
|
<TermsPercent> |
IN PO PS |
N |
6 |
3.2, as 100.00. Required if TermsCode is P998 |
|
<TermsPercentDays> |
IN PO |
I |
6 |
6 digits, as 999999. Required if TermsCode is P998 |
|
<Timestamp> |
AS FA IN IT PB PO PR PS ST |
S |
19 |
YYYY-MM-DD + “T” + HH:MM:SS |
|
<Title> |
IT |
S |
|
Item title |
|
<Topic> |
IT |
C |
- |
|
|
<TotalItemLines> |
IN |
I |
6 |
6 digits, as 999999 |
|
<TotalItemQty> |
IN |
I |
6 |
6 digits, as 999999 |
|
<TradingPartner> |
PY |
C |
- |
|
|
<TranspCarrier> |
IN PO |
S |
15 |
Required if TranspCode is S998 |
|
<TranspCode> |
AS IN PO |
S |
15 |
From Terms Code table or partner-specific codes |
|
<TranspDesc> |
AS IN PO |
S |
50 |
Transportation description |
|
<TranspTerms> |
IN PO |
S |
|
Transportation terms |
|
<TranspTime> |
IN PO |
I |
6 |
6 digits, as 999999 |
|
<Type> |
IT |
S |
10 |
“GTIN-12”, “GTIN-13”, “GTIN-14”, or “PartNumber” |
|
<UCCurrencyCode> |
IN PO |
S |
3 |
ISO standard currency code |
|
<UCValue> |
IN PO PS |
N |
10 |
5.4, as 12345.6789 |
|
<UnAvailableDate> |
IT |
D |
10 |
ISO format: YYYY-MM-DD |
|
<UOM> |
IT |
S |
5 |
From UOM table |
|
<URL> |
PY |
U |
500 |
Partner company URL |
|
<Vehicle> |
AS |
C |
- |
|
|
<VehicleId> |
AS |
S |
25 |
Vehicle ID |
|
<VehicleType> |
AS |
S |
|
Vehicle type |
|
<Video> |
IT |
U |
|
Video URL |
|
<Videos> |
IT |
C |
- |
|
|
<Volume> |
AS |
C |
- |
|
|
<VolumeUOMCode> |
AS |
S |
5 |
From UOM table |
|
<VolumeUOMDesc> |
AS |
S |
15 |
From UOM table |
|
<VolumeValue> |
AS |
N |
10 |
5.4, as 12345.6789 |
|
<WarrantyLabTerm> |
IT |
I |
6 |
6 digits, as 999999 |
|
<WarrantyLabUOM> |
IT |
S |
5 |
From UOM table |
|
<WarrantyPartTerm> |
IT |
I |
6 |
6 digits, as 999999 |
|
<WarrantyPartUOM> |
IT |
S |
5 |
From UOM table |
|
<Weight> |
AS IT |
N |
10 |
5.4, as 12345.6789 |
|
<WeightUOM> |
IT |
S |
5 |
From UOM table |
|
<WeightUOMCode> |
AS |
S |
5 |
From UOM table |
|
<WeightUOMDesc> |
AS |
S |
15 |
From UOM table |
|
<WeightValue> |
AS |
N |
10 |
5.4, as 12345.6789 |
|
<Width> |
IT |
N |
10 |
5.4, as 12345.6789 |
Although XML is a precise and efficient method for storing and transmitting data, it can be difficult for a person to read and understand. A technology called XSLT (eXtensible Stylesheet Language Transformations) exists that allows you to convert (transform) the data in an XML document into a more readable, browser-renderable format such as HTML.
The basic steps involved in this process are:
Write an XSLT transform for a specific type of XML file (e.g., invoice-v2011.1.xml)
Associate the two files by adding a reference to the XSLT transform inside the XML file
Open the XML file in a browser; the browser executes the transform and displays the HTML
While the creation of XSLT transforms is a decidedly technical task, it is not particularly difficult, and can result in attractive and usable document displays. Your company can create transforms that include your own logo, watermark, fonts, and other information, and that cause the data in the "raw" XML file to be organized and displayed in a visual format of your choice. The screen shot below shows a transformed sample invoice.
![implementationguide_v2012-3.jpg [image]](/files/IG-Transform.jpg)
NAMM provides further information and maintains some XSLT transform examples at http://www.namm.org/initiatives/b2b/docs/xslt-transforms-guide. On that page, you can open some XML files that use pre-written XSLT transforms to get an idea of what is possible. Note: You must be logged in to the NAMM site to access this page. If you have an account, you may sign in here: https://www.namm.org/user; if you do not have an account, you may create one here: https://www.namm.org/user/register. NAMM web site accounts are free.
You can learn more about XSLT at the World Wide Web Consortium's (W3C) W3Schools training site (http://w3schools.com/xsl/default.asp).