ISO 8583 Parser
Free · Reference · ~6 min read · Updated 2026-09-02

TLID vs Visa TID: How Each Scheme Links One Transaction's Lifetime

A card transaction is not one record: authorization, completion, reversal, partial or full refund and chargeback are each their own message. Linking them back into one transaction uses TLID on Mastercard and the Transaction Identifier on Visa. Where they sit, who generates them, and whether a refund message is required to carry the original value all differ — and that last difference decides whether refund matching can be deterministic.
On this page: Mastercard's TLID · The three DE105 subelements · Visa's Transaction Identifier · Where they differ · What you can do with them · Three things that catch people

Mastercard's TLID

The specification name is Transaction-Link-Identifier. The industry also says Transaction Life-Cycle ID; both refer to the same value, and only the first is the specification name. Use it in interface documents and code comments.

ItemValue
Message positionDE 105, subelement SE 001
Length and typeFixed 22 characters, ANS
Generated byMastercard, returned in the authorization response (0110)
Carried byThe acquirer, into the First Presentment/1240 clearing message
CoversPurchase, pre-authorization completion, cancellation, partial and full refund, chargeback

DE 105 is a composite field built from repetitions of «SE number (3) + length (3) + data». Parse it by walking that three-part shape; SE 001 is one subelement among several.

The three DE105 subelements

Three lifecycle-related subelements live in the same DE 105, with different responsibility for sending them:

SubelementSent byPurpose
SE 001AcquirerThe TLID itself. For a standard lifecycle transaction this one is enough
SE 002AcquirerEconomically linked TLID, for transactions such as refunds that stand alone but relate to another transaction
SE 003MastercardLifecycle validation result. After the scheme validates or corrects SE 001, this reports what it did

SE 003 is filled in by the scheme; acquirers do not send it. Seeing it in a received message means the scheme checked or changed the SE 001 that was sent.

Visa's Transaction Identifier

The Visa equivalent is the Transaction Identifier, usually shortened to TID. VisaNet generates it during authorization and returns it in the response; clearing carries the same value. The purpose matches TLID: tie later messages back to the original authorization.

Refunds are where they part. For a Credit Voucher, BASE II states that the original Transaction Identifier may be carried — may, not must. An acquirer that omits it is still compliant, and the refund then carries an identifier the acquirer obtained on its own, which will not line up with the purchase.

This is the same shape of difference as the time zone of DE 7: Visa leaves several fields to the acquirer's discretion where Mastercard states a hard requirement. On a Visa link, anything the specification words as may cannot be designed for as always present.

Where they differ

Mastercard TLIDVisa TID
Generated byMastercardVisaNet
ReturnedIn the authorization responseIn the authorization response
Message positionDE 105 SE 001Transaction Identifier field in authorization and clearing
Length22 characters, ANSNumeric; length per the scheme's own documentation
Refund carries the originalRequiredWorded as may; the acquirer decides

What you can do with them

  1. Match a refund to its purchase. Where a TLID is present the link is deterministic and does not need to be guessed from amount plus time. On Visa, the share of refunds that do carry the original TID is equally deterministic; the rest has to fall back to other keys — see how refunds match the original transaction
  2. Line authorization up with clearing. The two sides are different message systems with different field layouts — see Mastercard authorization vs clearing. A lifecycle identifier is one of the few values that exists on both sides and keeps the same value
  3. Rebuild context during a dispute. When a chargeback arrives, use it to pull the earlier authorization, completion and partial refunds for that transaction

Three things that catch people

  1. Treating the Visa side as always present. Hard-coding "a refund carries the original TID" will miss whole batches from acquirers that do not send it. The design needs a fallback path
  2. Using the industry nickname as the specification name. Transaction Life-Cycle ID is colloquial; the specification only has Transaction-Link-Identifier. Search the specification with the latter
  3. Reading DE 105 at a fixed offset. It is a composite field: subelements vary in presence and order. Walk it by SE number and length rather than slicing by position

Read next