IPM & CTF Decoder
Decode Mastercard IPM clearing records (RDW/VBS, 1014 blocking, EBCDIC or ASCII, MTI, bitmaps, data elements and PDS) and Visa Base II 168-byte TCRs field by field.
Mastercard IPM
Mastercard Integrated Product Message clearing file: ISO 8583:1993-based records (MTI, two binary bitmaps, data elements) in EBCDIC or ASCII, each prefixed by a 4-byte record descriptor word (VBS) and usually 1014-blocked. Mastercard-specific data travels as PDS (private data subelements) inside DE48, DE62 and DE123–125.
Sources — beta
IPM: file blocking, RDW, encodings and the data-element layouts and lengths follow the open-source cardutil parser and are checked against it. The MTI, DE24 function-code and PDS names come from Mastercard’s public summaries only (single source).
Visa Base II: Visa publishes its TCR layouts only to members (“BASE II Clearing: Interchange Formats”). The TCR 0 and TCR 5 field positions and the TC names here come from circulated copies of that manual and have not been checked against a second source — confirm against your Visa documentation.
IPM file structure
IPM file (VBS records, usually 1014-blocked) ┌────────────────────────────────────────────────────────────┐ │ RDW (4-byte length) + 1644 / DE24 = 697 File header │ │ PDS 0105 File ID, PDS 0122 processing mode │ ├────────────────────────────────────────────────────────────┤ │ RDW + 1240 / 200 First presentment ×N │ │ RDW + 1442 / 450 First chargeback … │ │ RDW + 1740 / 700 Fee collection … │ ├────────────────────────────────────────────────────────────┤ │ RDW + 1644 / DE24 = 695 File trailer │ │ PDS 0301 file amount checksum, PDS 0306 message count │ ├────────────────────────────────────────────────────────────┤ │ RDW = 00000000 end of file, then x’40’ padding to 1014 │ └────────────────────────────────────────────────────────────┘ 1014 blocking: every 1012 bytes of VBS data are followed by x’4040’.