Skip to content
StatementSmith

Bank Statement Abbreviations Explained

Statement descriptions are compressed into a fixed number of characters, which is why they read like a licence plate. Here is what the common codes mean, grouped by what they actually tell you.

Published 9 August 2026 · 8 min read

The short answer

Most codes answer one of two questions: how the money moved, or what happened to it. The network names such as BACS, CHAPS, ACH and SEPA are standard and mean the same thing everywhere. The short internal codes for fees, transfers and adjustments are the bank's own, and the same three letters can mean different things at two banks.

So treat what follows as the common readings rather than a specification, and check anything that carries real money against the bank's own glossary.

UK payment methods

CodeMeansIn practice
BAC, BACSBankers' Automated Clearing ServicesThe standard UK bank transfer. Salaries and supplier runs. Takes about three working days.
FP, FPSFaster PaymentsNear-instant transfer between UK accounts. Most app-initiated payments.
CHAPSClearing House Automated Payment SystemSame-day high-value transfer. Property deals, large settlements. Carries a fee.
DD, D/DDirect DebitThe payee pulls the money on a schedule you authorised. Utilities, subscriptions.
SO, S/OStanding OrderYou push a fixed amount on a schedule. Rent, savings.
BGCBank Giro CreditA credit paid in, often over a counter or by a third party.
BPBill PaymentA one-off payment to a registered payee.
TFR, TRFTransferMovement between accounts, often your own.

The distinction people most often need is the first two. A BACS payment initiated on Monday lands on Wednesday, so a supplier chasing on Tuesday has not been paid late: the money is in the system. A Faster Payment is effectively immediate, which is why banks charge more attention to it in fraud checks.

US payment methods

CodeMeansIn practice
ACHAutomated Clearing HouseThe US batch transfer network. Payroll, bill pay, most business-to-business payments.
EFTElectronic Funds TransferA general term for any electronic movement, ACH included.
WIREWire transferSame-day, high value, irreversible, fee-carrying.
POSPoint of SaleA card payment made in person at a terminal.
ATMAutomated Teller MachineCash withdrawal or deposit at a machine.
DEPDepositMoney paid in.
WD, WDLWithdrawalMoney taken out.
CHK, CKCheque or checkUsually followed by the cheque number.

ACH entries commonly carry a company identifier alongside the name, which is why a subscription can appear under a processor's name rather than the service you signed up to. It is also why the same charge can look different from one month to the next if the merchant changed processor.

European and international

CodeMeans
SEPASingle Euro Payments Area: the euro-zone transfer scheme
SCTSEPA Credit Transfer: a push payment
SDDSEPA Direct Debit: a pull payment
IBANInternational Bank Account Number: identifies the account
BIC, SWIFTThe code identifying the bank itself
FXA foreign exchange transaction, or the fee on one

Cross-border payments frequently arrive as two lines: the payment and a separate charge for converting it. If a receipt and a statement line disagree by a small percentage, the difference is usually sitting a row or two away under an FX code.

Direction and status

CodeMeansNote
DRDebitMoney out of your account. See the note below: it means the opposite in bookkeeping.
CRCreditMoney into your account.
ODOverdraftThe balance is below zero, or a charge relating to that.
NSFNon-Sufficient FundsA payment was refused because the balance was too low. Usually carries a fee.
RTN, RETReturnedA payment came back, such as a bounced cheque or a rejected direct debit.
REVReversalAn earlier transaction was undone.
ADJAdjustmentA correction made by the bank.
PENDPendingAuthorised but not settled. Affects the available balance, not the statement.

DR and CR are the trap. On a statement, credit means money in, because the statement is written from the bank's point of view. In your own books the same deposit is a debit to the bank account. Both are correct: see how to read a bank statement.

Fees, interest and account codes

CodeMeans
CHG, CHGSCharges: a bank fee
INTInterest, paid to you or charged to you
SVC, SCService charge: usually the account maintenance fee
MTCMaintenance charge
BALBalance
MEMOA memo line rather than a transaction
REFReference: the payer's or payee's own identifier
SALSalary
PMT, PYMTPayment
INVInvoice
RECURA recurring card payment: a subscription

Fee lines are the ones most often left out of the books, because they arrive on their own rather than being something anyone did. On a business account they are deductible, so skipping them is a small ongoing cost rather than a tidiness problem.

Codes that look alike and are not

A few pairs cause more trouble than the rest put together.

  • DD and SO. A standing order is a fixed amount you push on a schedule you control. A direct debit is an authorisation for the payee to pull whatever they are owed. Cancelling them is done in different places, and cancelling the wrong one is how a subscription survives.
  • INT as interest and INT as international. Some banks use the same three letters for both. The amount usually settles it: interest is small and regular, an international transfer is neither.
  • REV and RTN. A reversal is the bank undoing its own entry. A return is a payment that failed and came back, usually with a fee attached. The second one costs money and often needs chasing.
  • CR as credit and CR as credit card. In a description field, CR beside an account number is more likely to be the card than the direction.

Why descriptions get cut off

Half of what looks like an abbreviation is not one: it is a full description that ran out of room.

Bank statement descriptions pass through several systems with fixed field widths, and each one truncates. The OFX format that statement files are built on limits its main name field to 32 characters, so AMAZON MARKETPLACE PAYMENTS LTD arrives complete and AMAZON MARKETPLACE PAYMENTS LIMITED does not.

This is why the same merchant appears under two or three slightly different names in the same account, and why a name can change without the merchant changing anything. It is worth knowing before spending time investigating an unfamiliar payee that turns out to be a familiar one wearing a shorter name.

Working out a code that is not listed here

  1. Check the amount and the date against something you already know. Most unfamiliar entries are a recognisable payment under an unrecognisable trading name.
  2. Search the full description string, not the abbreviation. Payment processors appear under names that have nothing to do with the shop you actually paid.
  3. Look for the same code elsewhere in the statement. A code appearing monthly at the same amount is a subscription or a fee, whatever it is called.
  4. Check the bank's own glossary. Most publish one, and it is authoritative for their internal codes in a way no general list can be.
  5. Ask the bank. They can see the unabbreviated record, and for a genuinely unrecognised payment that is the right step rather than the last one.

When an unfamiliar entry is worth worrying about

Most are not. A few are, and the pattern is fairly consistent: small, recent, and not matched by anything you did.

  • A small round amount you cannot place, often under a pound or a dollar. Card testing frequently starts this way.
  • A recurring charge you do not remember starting, particularly one that appeared shortly after a free trial.
  • A merchant name in a country you have not bought from, with no travel or online order to explain it.

In any of those cases, contact the bank rather than the merchant name in the description. That name is frequently the processor rather than whoever took the money, and calling it gets you nowhere.

Reading a whole statement rather than one line

Codes are easiest to decode in bulk. Sorting a statement by description groups every instance of the same code together, at which point a fee that occurs monthly is obvious in a way it never is while scrolling.

That works in any spreadsheet, and the only thing to get right is that the dates and amounts arrive as dates and numbers rather than text, otherwise sorting produces nonsense and totalling produces zero.

You can do that with a bank's CSV export and a careful import dialog. If you would rather skip the dialog, converting the export to a workbook writes real date and number cells so it sorts and totals on arrival. It runs in your browser and needs no account.

Get your statement into a spreadsheet

Frequently asked questions

What does BAC mean on a bank statement? A payment through BACS, the standard UK bank transfer network. It takes about three working days and is what most salaries and supplier payments run on. A near-instant transfer is usually shown as FP or FPS instead.

What is the difference between a direct debit and a standing order? A standing order is a fixed amount you push on a schedule you control. A direct debit is an authorisation for the payee to pull whatever they are owed, which is why utility bills use it and rent usually does not.

What does NSF mean? Non-Sufficient Funds: a payment refused because the balance would not cover it. It normally carries a fee, and the refused payment often reappears later as a retry.

Why does the same shop appear under different names? Because descriptions are truncated at fixed field widths as they pass between systems, and because many merchants bill under a trading entity or a payment processor rather than their shop name.

Do these codes mean the same thing at every bank? Mostly, within a country, but not reliably. The network names such as BACS, CHAPS, ACH and SEPA are standard. The short internal codes for fees, adjustments and transfers are the bank's own, and the same three letters can differ between two banks.

Where can I find my own bank's list? Most publish a glossary in their help centre, usually under a heading about understanding your statement. For internal codes that is the authoritative source, and it is worth checking before assuming a general list applies.

Read next

Try it on the statement that’s annoying you right now.

No account, no card, no limit. If the layout isn’t recognised you will know immediately, rather than after a support ticket.

Convert a statement