Bank statements are written in a shorthand that made sense to a 1980s mainframe and nobody since. A simple coffee purchase can show up as POS DEB SQ *BLUE BOTTLE, and a transfer as ACH DEBIT. This is a reference for the abbreviations and merchant codes you'll actually run into, grouped by what they tell you.
How a descriptor is put together
Before the lists, it helps to know that most transaction lines are three things concatenated: how the money moved (a bank code like POS or ACH), who processed it (a prefix like SQ *), and who you actually paid (the merchant name, often truncated to fit a fixed character limit).
POS DEB SQ *BLUE BOTTLE SAN FRANCISCO CA reads as: debit-card purchase → processed by Square → at Blue Bottle → in San Francisco. Once you see the three parts, most descriptors stop being cryptic.That character limit is why merchant names get mangled. The field is short, so a long legal entity name gets truncated mid-word, and the part that survives is often the least recognizable half.
Transaction type codes
These describe how money moved — the mechanism, not the merchant.
- ACH — Automated Clearing House. Electronic bank-to-bank transfer. Payroll direct deposits, most bill payments, and app transfers ride ACH.
- POS — Point of Sale. A debit card purchase made in person or online.
- DEB / DR — Debit. Money leaving the account.
- CR — Credit. Money coming in — a deposit, refund, or reversal.
- ATM — A cash withdrawal or deposit at a machine.
- EFT — Electronic Funds Transfer, a catch-all for electronic movement.
- WT / WIRE — A wire transfer, usually for larger or time-sensitive amounts.
- ETF / RECUR — Some banks flag recurring card payments this way.
- XFER / TFR — A transfer between your own accounts. Not spending, however large — one of the easiest lines to miscount.
- DEP / RDC — A deposit;
RDCspecifically means Remote Deposit Capture, a cheque photographed in a mobile app. - CHK / CK — A cheque, usually followed by its number.
- PREAUTH — A pre-authorized (recurring) payment you set up with a merchant.
- REV / ADJ — A reversal or adjustment. The bank undoing or correcting something, often paired with the original line.
- RTN / RETURN — A returned item — a payment that failed, typically followed by a fee line.
- IAT — International ACH Transaction. An electronic transfer that touched a non-US bank.
Reading an ACH line specifically
ACH entries carry structured fields that some banks print in full. You'll see the originating company's name, then a short description of what the entry is for — DIR DEP, PAYROLL, PAYMENT, BILL PAY — and sometimes a company ID number. Labels like DES: or ID: mark those fields. When a mystery charge is an ACH pull, the company name in that field is usually the real answer, even when the top-line merchant looks unfamiliar.
Account and balance codes
- DDA — Demand Deposit Account. Banker-speak for your checking account.
- SAV — Savings account.
- BAL — Balance.
- AVAIL BAL — Available balance (excludes holds and pending items).
- INT — Interest, either earned (savings) or charged (credit).
- APY / APR — Annual Percentage Yield (what you earn) and Annual Percentage Rate (what you're charged).
- YTD — Year to date. Usually attached to interest earned or fees paid, and worth reading — it's the annual total you never otherwise calculate.
- MEMO — A memo-posted item: recorded but not yet fully settled.
Fee codes — the ones worth reading
- NSF — Non-Sufficient Funds. A payment bounced, and you were charged for it.
- OD / ODP — Overdraft / Overdraft Protection.
- SVC CHG — Service charge, usually a monthly maintenance fee.
- FEE / INTL FEE — A generic or foreign-transaction fee.
- RTN ITEM FEE — Charged when a deposit you made bounced, or a payment you sent was returned.
- STOP PAY — A stop-payment order you requested on a cheque.
- EXCESS ACTIVITY — Too many withdrawals from a savings account. Historically this enforced Regulation D's six-per-month limit; the Fed suspended that limit in 2020, but some banks still apply a policy of their own.
- DORMANCY / INACTIVITY — A fee for an account you haven't touched in a long time.
Merchant prefixes: why Square, PayPal, and Amazon look weird
The most confusing strings usually aren't the bank's codes at all — they're the payment processor stamping its own prefix in front of the real merchant.
- SQ* — Square.
SQ *TARTINE BAKERYis a small business that takes payments through Square. - PP* / PAYPAL * — A PayPal-processed payment. The name after it is the actual seller.
- TST* / TOAST — Toast, a restaurant point-of-sale system.
- AMZN MKTP / AMZN.COM — Amazon Marketplace vs. Amazon retail.
- APPLE.COM/BILL — An Apple charge, frequently several App Store subscriptions billed as one line. The statement can't break it apart; the subscriptions screen on your device can.
- GOOGLE * — The same pattern on Android, with the service name after the asterisk.
- SP * / stripe-ish prefixes — A Shopify or Stripe-processed purchase from an independent store.
- Phone numbers and city codes — trailing digits like
866-579-7are the merchant's customer-service line, appended by the card network.
The city in a descriptor is the merchant's registered location, not where you were. An online order can show a town you've never visited, which is why “I've never been to Delaware” is rarely evidence of fraud on its own.
Decoding an unfamiliar line, in order
- Strip the prefix. Drop the
POS/ACHand the processor tag; whatever's left is the merchant. - Search the exact string. Including the phone number. Cryptic descriptors are extremely well documented by other confused people.
- Call the number in the descriptor. It's there for exactly this, and it identifies a charge faster than the bank can.
- Check the date against your calendar. Posting lags spending by a few days, so look slightly earlier than the date on the line.
- Then treat it as unauthorized. If it's genuinely not yours, the dispute deadlines run from the statement date, so don't sit on it.
The point: readable transactions in one step
You can decode these by hand, but it's slow and easy to skim past a subscription hiding behind a processor prefix. Sortlumo does the translation automatically — SQ*TARTINE becomes Tartine Bakery, NETFLIX.COM 866-579 becomes Netflix — so your converted statement reads in plain English and every line lands in the right category. If you're still learning the layout, our guide to reading a bank statement walks through the rest of the page, and the subscription audit covers what to do with the recurring ones you uncover.