Back to blog
Reference··5 min read

Bank statement abbreviations: what those codes actually mean

ACH, POS, SQ*, DDA, NSF, INT — a reference for the cryptic abbreviations and merchant codes on your bank statement, and why your $12 charge shows up as something unreadable.

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; RDC specifically 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.
Fee codes are the highest-value lines to decode. NSF and overdraft fees run $25–$35 each and are frequently reversible with a quick phone call — but only if you notice them.

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 BAKERY is 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-7 are 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

  1. Strip the prefix. Drop the POS/ACH and the processor tag; whatever's left is the merchant.
  2. Search the exact string. Including the phone number. Cryptic descriptors are extremely well documented by other confused people.
  3. Call the number in the descriptor. It's there for exactly this, and it identifies a charge faster than the bank can.
  4. Check the date against your calendar. Posting lags spending by a few days, so look slightly earlier than the date on the line.
  5. 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.