All Tools
Tools/IPM & CTF Decoder
📄
MessagingBeta

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’.
Something wrong or missing? Report a problem— we check reports against the specs and fix them.