ISO 8583 Parser
online lookup

ISO 8583 DE3 Processing Code Decoder

Six digits, three parts: what is being done, which account it comes from, which it goes to.

01
Digits 1–2 · Transaction type
Cash withdrawal
30
Digits 3–4 · From account
Credit account
00
Digits 5–6 · To account
Default / unspecified
CodeMeaning
00Goods and services (purchase)
01Cash withdrawal
02Adjustment
09Purchase with cashback
17Quasi-cash / fast cash
18Service charge
20Returns / refund
21Deposit
28Prepaid load
30Balance inquiry
31Statement / mini-statement
40Transfer
50Payment
72Pre-authorization
91PIN change
92PIN unblock
CodeMeaning
00Default / unspecified
10Savings account
20Checking (current) account
30Credit account
38Credit card account
40Universal account
50Investment account
60Electronic purse

Three parts, three jobs

DE3 is six digits. The first two are the transaction type (purchase, cash withdrawal, refund, balance inquiry…), the middle two the from-account type, and the last two the to-account type. When only one account is involved the last four are usually 00; transfers are where both halves carry a value.

Why it matters as much as MCC or DE39

The processing code decides which billing and interest rules apply. The clearest case is 01, cash withdrawal: it follows entirely different accounting from 00 purchase — cash advances typically have no interest-free period, with interest accruing from the day of the withdrawal, plus a cash advance fee. When a cardholder asks why they are being charged interest before the due date, the answer is usually that the transaction carried processing code 01, not 00.

Troubleshooting tip: when a billing complaint doesn't add up, check the first two digits of DE3 first. A purchase mis-flagged as a cash advance, or a refund treated as a purchase, throws the accounting off completely — and neither raises an error during authorization.

Networks add their own

The values above are the common ground. Card networks and issuing platforms layer private codes on top, and the same value can mean different things on different networks. For a live integration the counterparty's specification wins; use this table to orient yourself quickly.


The account digits are where the schemes stop agreeing

The first two digits of DE3 — the transaction type — are the stable part. Sources broadly agree on what a purchase, a cash advance or a refund looks like there. The last four, the from-account and to-account types, are where a value copied from one specification stops being reliable against another.

The reason is structural rather than accidental. Account type codes have to describe products that differ by issuer and by market — several kinds of savings, credit, prepaid and stored-value account, some of which exist in one country and not the next. Rather than force a single list, the networks fill parts of the range themselves, so 00 meaning "default or not applicable" is dependable while a specific account type in the higher values may not be.

In practice: treat the transaction-type digits as portable and the account digits as counterparty-specific. If a transaction is being routed or declined on account type and you are working from a generic table, that is the first thing to check against the specification you were actually given. Where the schemes diverge more broadly is set out in why "the same" ISO 8583 parses differently.

Blocked at work? This table and 13 other tools also come as self-contained HTML files that run from your disk, with no network at all — for the machines that cannot reach this site. Offline edition, US$39 one-time.