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.

More Information

See M12 File Samples and Specifications.