The M12 Format is MIL-Comply’s original import file format, dating back to the 1990s. It has evolved to keep pace with the ever more complex world of defense supply chain compliance. The M12 import supports the full range of MIL-Comply outputs, from Mil-Std-129R container labels to WAWF Receiving Reports and Invoices.
Like the CSVmp format, M12 works with both Comply/Labeling and Comply/Shipper. And like the CSV format, it can serve as the starting point for a shipment with the user entering additional data, or it may contain all of the data required for its purpose.
The M12 is a key-value pairs format that looks like the following, which is a shipment of a single line item, quantity of two, each with a UID.
XREF: FY21-000221 PIIN: N00535-20-G-TEST SPIIN: N0010420FX000 CLIN: 0001AA NSN: 1005-01-235-1674 PN: WIDG-364223-AR2 MFRCAGE: 1HLD9 NOUN: WIDGET ASSEMBLY QTY: 2 UI: EA PRESMETH: M10 PKGDATE: 03/21 UID2: D1HLD9WIDG-364223-AR20000001 UID2: D1HLD9WIDG-364223-AR20000002
Basic Rules for the M12 Format
The structure of an M12 file is fairly basic. It must have an XREF as the first element, which is a unique reference number to be assigned to the shipment/document. MIL-Comply will automatically assign one if blank, but the XREF key is required to identify the file as an M12 for document creation. There can be multiple shipments in the same file, so the XREF is an important marker.
The file must have a contract number (PIIN) and may have a delivery order number (SPIIN). Generally speaking, a PIID may be used as a contract number, but our preference is to include the contract number as well. When a PIID is present it will be used in place of the contract on Mil-Std-129 labels. For WAWF transactions it is possible for Shipper to substitute the PIID for the contract, however that causes visibility of the contract number to be lost. WAWF has no problem figuring out what to do when both Contract and PIID are used.
Shipment numbers may be include, using SHIPNUM. In the absence of such, MIL-Comply will assign the next available shipment number for the contract/order, based on the shipments in its database. The user is provided the opportunity to confirm the contract, order, shipment and reference numbers before the document is created. Duplications of a reference number or a shipment number for a contract/order will be prevented at that time.
The shipment-level data of an M12 ends with the first CLIN. All data after that is applied to the CLIN until the next CLIN is encountered. An XREF or end of the file marks the end of the shipment.
A More Robust Example
Adding sufficient data to add a Military Shipment Label (MSL) to the shipment above creates a robust example. It is fairly close to being enough to support a WAWF Receiving Report (DD250).
XREF: FY21-000221 PIIN: N00535-20-G-TEST SPIIN: N0010420FX000 SHIPFROM: 1HLD9\MIL-PAC TECHNOLOGY\1672 MAIN STREET\RAMONA,CA,92065 SHIPTO: N63402\STRATEGIC WEAPONS FAC\PAC MANPOWER\6403 SKIPJACK CIRCLE\SILVERDALE,WA,98315 MARKFOR: \M/F: N0010420FX000\RECEIVING OFFICER\NON-MILSTRIP\OPERATION ENDURING FREEDOM METHSHIP: 5 FMS: FMS PROJ: PRJ TP-NUM: 2 RDD:123 CLIN: 0001AA NSN: 1005-01-235-1674 PN: WIDG-364223-AR2 MFRCAGE: 1HLD9 NOUN: WIDGET ASSEMBLY QTY: 2 UI: EA PRESMETH: M10 PKGDATE: 03/21 UID2: D1HLD9WIDG-364223-AR20000001 UID2: D1HLD9WIDG-364223-AR20000002
Note that the MARKFOR starts with a backslash, as it has no address code (DODAAC). It is the only “address” allowed to be like that, and internally, MIL-Comply stores it as Mark-For Instructions. It is transmitted to WAWF that way as well. The distinction may be made more clear in the M12 file by using the MFINSTRUCT key instead.
There is an alternate method of entering address by their components, which allows for greater accuracy and control of how they would be sent to WAWF in EDI Receiving Reports.