{"id":1262,"date":"2026-09-01T11:57:58","date_gmt":"2026-09-01T04:57:58","guid":{"rendered":"https:\/\/easystatementsheet.com\/blog\/bank-statement-fields-explained\/"},"modified":"2026-09-07T14:50:58","modified_gmt":"2026-09-07T07:50:58","slug":"bank-statement-fields-explained","status":"publish","type":"post","link":"https:\/\/easystatementsheet.com\/blog\/bank-statement-fields-explained\/","title":{"rendered":"Bank Statement Fields Explained: 30+ Fields in 4 Tiers"},"content":{"rendered":"<p>A bank statement has 30+ fields, organized in 4 tiers: 4 core transaction fields (date, description, amount, balance), 8 transaction metadata fields (transaction type, code, check number, etc.), 12+ account metadata fields (account number, routing, branch), and 6 summary fields (opening\/closing balance, fees, interest). The 4 core fields appear in every export; the other 25+ vary by bank and by export format (PDF, CSV, OFX, QFX).<\/p>\n\n<blockquote>\n<p><strong>TL;DR.<\/strong> A bank statement export (CSV, OFX, QFX) has 30+ fields in 4 tiers: 4 core transaction fields (date, description, amount, balance), 8 transaction metadata fields (type, code, check number, reference, etc.), 12+ account metadata fields (account number, routing, branch, statement date, etc.), and 6 summary fields (opening\/closing balance, total deposits, total withdrawals, fees, interest). The 4 core fields appear in every export; the 25+ others vary by bank and export format. The data types: dates as ISO or US format, amounts as decimal with sign convention, codes as alphanumeric.<\/p>\n<\/blockquote>\n\n<h2>What &#8220;Bank Statement Fields&#8221; Means<\/h2>\n\n<p>The fields on a bank statement are the individual data points that the bank provides about the account and the activity. The fields are organized in a hierarchy: the most important fields (the core transaction fields) appear on every statement; the supporting fields (the transaction metadata) appear on most; the background fields (the account metadata) appear once per statement; the summary fields (the totals) appear at the end.<\/p>\n\n\n<p class=\"wp-block-paragraph\">What most guides miss about this workflow is that the quality depends on the mechanism, not on the tool. Two tools that look different on the surface often run the same 4-step process underneath: read, find, parse, verify. The difference is in how well each step handles edge cases (merged cells, missing balances, non-standard date formats, scanned vs digital input). Choosing between tools based on UI alone misses the actual quality lever.<\/p>\n\n\n<p>The field hierarchy is the same across all US bank statements, but the specific field names, formats, and order vary by bank. A user who switches banks has to learn the new bank&#8217;s field conventions. A user who writes software to parse bank statements has to handle the variation.<\/p>\n\n<h3>The 4-Tier Field Hierarchy<\/h3>\n\n<ul>\n<li><strong>Tier 1: Core transaction fields<\/strong> (4 fields): date, description, amount, balance. Every transaction has these 4.<\/li>\n<li><strong>Tier 2: Transaction metadata fields<\/strong> (8 fields): transaction type, transaction code, check number, reference number, posting date, value date, merchant ID, original currency. Most transactions have these.<\/li>\n<li><strong>Tier 3: Account metadata fields<\/strong> (12+ fields): account number, routing number, account type, branch code, statement date, statement cycle, customer ID, account holder, etc. These appear once per statement, in the header.<\/li>\n<li><strong>Tier 4: Summary fields<\/strong> (6 fields): opening balance, closing balance, total deposits, total withdrawals, total fees, total interest. These appear at the end of the statement.<\/li>\n<\/ul>\n\n<h3>The Difference Between &#8220;Fields&#8221; and &#8220;Information&#8221;<\/h3>\n\n<p>The information on a bank statement (covered in the <a href=\"\/blog\/what-information-is-on-a-bank-statement\/\">what information is on a bank statement<\/a> article) is the conceptual content: the account number, the transactions, the balances. The fields are the specific data points that carry the information.<\/p>\n\n<p>For example, the opening balance is information. The field that carries it is called &#8220;Opening Balance&#8221; in some banks, &#8220;Beginning Balance&#8221; in others, &#8220;Prior Balance&#8221; in others. The information is the same; the field name and format vary.<\/p>\n\n<h2>The 4 Core Transaction Fields<\/h2>\n\n<p>The 4 fields that appear for every transaction on every bank statement.<\/p>\n\n<h3>1. Date<\/h3>\n\n<p>The date the transaction posted to the account. The format varies: &#8220;MM\/DD\/YYYY&#8221; (US), &#8220;YYYY-MM-DD&#8221; (ISO), &#8220;DD\/MM\/YYYY&#8221; (European), or spelled-out (&#8220;January 15, 2025&#8221;).<\/p>\n\n<p>The data type is date. The value is the calendar date, not the time. The time of day is not included in the bank statement (only the calendar date).<\/p>\n\n<p>For some transactions (checks, ACH), the date the user initiated the transaction may differ from the posting date by 1-3 days. Some banks show both dates; some show only the posting date.<\/p>\n\n<h3>2. Description<\/h3>\n\n<p>The merchant name, payee, or transaction memo. The format varies widely: &#8220;STARBUCKS #1234 SEATTLE WA&#8221;, &#8220;ACH CREDIT FROM ACME CORP&#8221;, &#8220;CHECK #1001&#8221;, &#8220;WIRE TRANSFER OUT&#8221;.<\/p>\n\n<p>The data type is text (string). The length varies: 20-100 characters typically. The bank may truncate long names.<\/p>\n\n<p>For a <a href=\"\/blog\/bank-statement-converter\/\">bank statement converter<\/a>, the description is the most important field for matching transactions to the user&#8217;s records (invoices, bills, receipts).<\/p>\n\n<h3>3. Amount<\/h3>\n\n<p>The dollar amount of the transaction. The sign convention varies: most banks use positive for deposit and negative for withdrawal, but some use the opposite, and some use a separate debit\/credit column.<\/p>\n\n<p>The data type is decimal. The precision is typically 2 decimal places. The currency is typically US dollars, but multi-currency accounts may have a different currency.<\/p>\n\n<p>For a converter, the sign convention is the most common source of error. The converter has to know which convention the bank uses and normalize to a single convention for the output.<\/p>\n\n<h3>4. Balance<\/h3>\n\n<p>The running account balance after the transaction. Optional in some bank statements, mandatory in others.<\/p>\n\n<p>The data type is decimal. The precision is typically 2 decimal places. The value is the closing balance from the prior transaction plus the amount of the current transaction.<\/p>\n\n<p>For a converter, the balance is the verification field. The sum of the transaction amounts should equal the difference between the closing balance and the opening balance. If it does not, the converter flags the statement for manual review.<\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/easystatementsheet.com\/blog\/wp-content\/uploads\/what-information-is-on-a-bank-statement.jpg\" alt=\"Bank Statement Fields Explained: 30+ Fields in\" title=\"\"><figcaption>Bank Statement Fields Explained: 30+ Fields in<\/figcaption><\/figure>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/easystatementsheet.com\/blog\/wp-content\/uploads\/bank-statement-anatomy.jpg\" alt=\"Bank Statement Fields Explained: 30+ Fields in\" title=\"\"><figcaption>Bank Statement Fields Explained: 30+ Fields in<\/figcaption><\/figure>\n\n\n<div class=\"easys-ess-cta-in-article easys-entity-placement\" id=\"easys-1586064825\"><div id=\"easys-1237426400\" role=\"region\" aria-label=\"Advertisements\"><div style=\"border:1px solid #e1e7e2;border-radius:8px;padding:20px;margin:28px 0;background:#f7faf7\">\r\n  <p style=\"margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.3\">From Bank Statement to QuickBooks-Ready File<\/p>\r\n  <p style=\"margin:0 0 16px;line-height:1.6\">That manual cleanup you just read about? This tool skips it. Turn your PDF into QBO for QuickBooks without storing your data anywhere.<\/p>\r\n  <a href=\"https:\/\/easystatementsheet.com\/?utm_source=blog&utm_campaign=ess-cta-02\" style=\"display:inline-block;background:#1e7a4c;color:#fff;text-decoration:none;padding:10px 18px;border-radius:6px;font-weight:600\">Start Converting<\/a>\r\n<\/div><\/div><\/div><h2>The 8 Transaction Metadata Fields<\/h2>\n\n<p>The 8 fields that appear for most transactions but vary by bank.<\/p>\n\n<h3>1. Transaction Type<\/h3>\n\n<p>A label that identifies the type of transaction: &#8220;Deposit,&#8221; &#8220;Withdrawal,&#8221; &#8220;Check,&#8221; &#8220;ACH Debit,&#8221; &#8220;ACH Credit,&#8221; &#8220;Wire Out,&#8221; &#8220;Wire In,&#8221; &#8220;ATM,&#8221; &#8220;Fee,&#8221; &#8220;Interest,&#8221; etc.<\/p>\n\n<p>The data type is text. The values are bank-specific.<\/p>\n\n<h3>2. Transaction Code<\/h3>\n\n<p>A short alphanumeric code that identifies the transaction: &#8220;ACH,&#8221; &#8220;WIR,&#8221; &#8220;CHK,&#8221; &#8220;ATM,&#8221; &#8220;DBC&#8221; (debit card), etc.<\/p>\n\n<p>The data type is text. The codes are typically 2-5 characters.<\/p>\n\n<h3>3. Check Number<\/h3>\n\n<p>For check transactions, the check number from the check itself.<\/p>\n\n<p>The data type is integer. The value is the check number, typically 4-6 digits.<\/p>\n\n<h3>4. Reference Number<\/h3>\n\n<p>A unique identifier for the transaction, used for tracking and dispute. The format varies: &#8220;TXN123456789,&#8221; &#8220;REF000123,&#8221; &#8220;20250115-001,&#8221; etc.<\/p>\n\n<p>The data type is text. The value is bank-specific.<\/p>\n\n<h3>5. Posting Date<\/h3>\n\n<p>The date the bank processed the transaction. May differ from the transaction date (the date the user initiated the transaction) by 1-3 days for checks and ACH.<\/p>\n\n<p>The data type is date. The format is the same as the transaction date format.<\/p>\n\n<h3>6. Value Date<\/h3>\n\n<p>The date used for interest calculation. May differ from the posting date by a few days.<\/p>\n\n<p>The data type is date. The format is the same.<\/p>\n\n<h3>7. Merchant ID<\/h3>\n\n<p>A unique identifier for the merchant, often the same as the MCC (Merchant Category Code). Used for reconciliation and rewards programs.<\/p>\n\n<p>The data type is integer. The value is typically 4 digits.<\/p>\n\n<h3>8. Original Currency<\/h3>\n\n<p>For multi-currency accounts, the currency of the original transaction (before conversion to the account currency). For US bank accounts, this is usually the same as the account currency.<\/p>\n\n<p>The data type is text (ISO 4217 code: &#8220;USD,&#8221; &#8220;EUR,&#8221; &#8220;GBP,&#8221; etc.).<\/p>\n\n<h2>The 12+ Account Metadata Fields<\/h2>\n\n<p>The 12+ fields that appear once per statement, in the header or footer.<\/p>\n\n<h3>1. Account Number<\/h3>\n\n<p>The unique account identifier. The format varies: 4-17 digits typically. Often partially masked for security (&#8220;<em>*<\/em>*1234&#8243;).<\/p>\n\n<p>The data type is text. The value is the account number.<\/p>\n\n<h3>2. Routing Number<\/h3>\n\n<p>The bank&#8217;s 9-digit routing number (ABA number). Used for ACH and wire transfers.<\/p>\n\n<p>The data type is integer. The value is 9 digits.<\/p>\n\n<h3>3. Account Type<\/h3>\n\n<p>The type of account: &#8220;Checking,&#8221; &#8220;Savings,&#8221; &#8220;Money Market,&#8221; &#8220;CD,&#8221; &#8220;IRA,&#8221; etc.<\/p>\n\n<p>The data type is text. The values are bank-specific.<\/p>\n\n<h3>4. Branch Code<\/h3>\n\n<p>Identifies the specific branch that holds the account. Optional.<\/p>\n\n<p>The data type is text. The value is bank-specific.<\/p>\n\n<h3>5. Statement Date<\/h3>\n\n<p>The date the statement was generated. May differ from the statement period end date by a few days.<\/p>\n\n<p>The data type is date. The format is the same as the transaction date.<\/p>\n\n<h3>6. Statement Cycle<\/h3>\n\n<p>The cycle number (e.g., &#8220;Cycle 1&#8221; of the month, or the sequential number of the statement). Used for tracking statements.<\/p>\n\n<p>The data type is integer. The value is the cycle number.<\/p>\n\n<h3>7. Customer ID<\/h3>\n\n<p>The bank&#8217;s internal identifier for the customer. Different from the account number.<\/p>\n\n<p>The data type is text. The value is bank-specific.<\/p>\n\n<h3>8. Account Holder Name<\/h3>\n\n<p>The legal name of the account holder.<\/p>\n\n<p>The data type is text. The value is the customer&#8217;s name.<\/p>\n\n<h3>9. Account Holder Address<\/h3>\n\n<p>The address on file for the account holder. May be omitted for privacy.<\/p>\n\n<p>The data type is text. The value is the address.<\/p>\n\n<h3>10. Bank Name and Address<\/h3>\n\n<p>The name and address of the bank. Standard on every statement.<\/p>\n\n<p>The data type is text. The value is the bank&#8217;s information.<\/p>\n\n<h3>11. Customer Service Phone<\/h3>\n\n<p>The phone number for customer service. Required by Regulation E.<\/p>\n\n<p>The data type is text. The value is the phone number.<\/p>\n\n<h3>12. FDIC\/NCUA Notice<\/h3>\n\n<p>The standard insurance notice. Required by federal regulation.<\/p>\n\n<p>The data type is text. The value is the standard notice.<\/p>\n\n<h2>The 6 Summary Fields<\/h2>\n\n<p>The 6 fields that appear at the end of the statement, summarizing the period.<\/p>\n\n<h3>1. Opening Balance<\/h3>\n\n<p>The account balance at the start of the statement period. Equals the prior statement&#8217;s closing balance.<\/p>\n\n<p>The data type is decimal. The value is the prior closing balance.<\/p>\n\n<h3>2. Closing Balance<\/h3>\n\n<p>The account balance at the end of the statement period. The most important number on the statement.<\/p>\n\n<p>The data type is decimal. The value is the current balance.<\/p>\n\n<h3>3. Total Deposits<\/h3>\n\n<p>The sum of all deposits in the period.<\/p>\n\n<p>The data type is decimal. The value is the sum of positive transactions.<\/p>\n\n<h3>4. Total Withdrawals<\/h3>\n\n<p>The sum of all withdrawals in the period.<\/p>\n\n<p>The data type is decimal. The value is the sum of negative transactions (in absolute value).<\/p>\n\n<h3>5. Total Fees<\/h3>\n\n<p>The sum of all fees in the period (overdraft, monthly maintenance, ATM, etc.).<\/p>\n\n<p>The data type is decimal. The value is the sum of fee transactions.<\/p>\n\n<h3>6. Total Interest<\/h3>\n\n<p>The interest earned (or charged) in the period.<\/p>\n\n<p>The data type is decimal. The value is the interest amount.<\/p>\n\n\n<p class=\"wp-block-paragraph\">A common failure mode bookkeepers report is treating this as a single operation rather than a chain of dependent steps. The temptation is to find a tool that &#8216;just works&#8217; and stop investigating the mechanism. The result is a wrong-fix cycle: the tool gives partial output, the bookkeeper spends 30+ minutes troubleshooting, the fix is for the wrong step, and the same error recurs on the next statement. The fix: identify which step failed and apply the right intervention to that step.<\/p>\n\n\n<h2>How the Fields Vary by Bank<\/h2>\n\n<p>The 4 core fields appear in every export, but the field names and formats vary by bank.<\/p>\n\n<h3>Field Name Variations<\/h3>\n\n<div style=\"overflow-x:auto;\"><table><thead>\n<tr><th>Concept<\/th><th>Bank A<\/th><th>Bank B<\/th><th>Bank C<\/th><\/tr><\/thead><tbody>\n<tr><td>Opening balance<\/td><td>Opening Balance<\/td><td>Beginning Balance<\/td><td>Prior Balance<\/td><\/tr>\n<tr><td>Closing balance<\/td><td>Closing Balance<\/td><td>Ending Balance<\/td><td>New Balance<\/td><\/tr>\n<tr><td>Description<\/td><td>Description<\/td><td>Transaction Detail<\/td><td>Memo<\/td><\/tr>\n<tr><td>Amount<\/td><td>Amount<\/td><td>Transaction Amount<\/td><td>Debit\/Credit<\/td><\/tr>\n<\/tbody><\/table><\/div>\n\n<p>A <a href=\"\/blog\/bank-statement-converter\/\">bank statement converter<\/a> has to handle the field name variations. The converter maps the bank&#8217;s field names to the converter&#8217;s standard field names, regardless of the bank&#8217;s specific terminology.<\/p>\n\n<h3>Format Variations<\/h3>\n\n<ul>\n<li><strong>Date<\/strong>: MM\/DD\/YYYY vs YYYY-MM-DD vs DD\/MM\/YYYY<\/li>\n<li><strong>Amount<\/strong>: positive\/negative vs separate debit\/credit vs parentheses for negative<\/li>\n<li><strong>Description<\/strong>: truncated vs full vs wrapped to multiple lines<\/li>\n<li><strong>Balance<\/strong>: running balance per transaction vs closing balance only<\/li>\n<\/ul>\n\n<p>A converter has to handle the format variations. The converter parses the bank&#8217;s format and outputs a standard format (e.g., ISO dates, signed decimals, single line for description).<\/p>\n\n<p>To understand the layout first, read <a href=\"\/blog\/bank-statement-anatomy\/\">bank statement anatomy<\/a>. For the basic definition, see <a href=\"\/blog\/what-is-a-bank-statement\/\">what is a bank statement<\/a>. For a content overview, see <a href=\"\/blog\/what-information-is-on-a-bank-statement\/\">what information is on a bank statement<\/a>. For the output spec, see <a href=\"\/blog\/bank-statement-csv-format\/\">bank statement CSV format<\/a>.<\/p>\n\n<p>If you are not sure whether you have a statement or a transaction history, see <a href=\"\/blog\/bank-statement-vs-transaction-history\/\">bank statement vs transaction history<\/a>. To see how the data is pulled out, see <a href=\"\/blog\/bank-statement-data-extraction\/\">bank statement data extraction<\/a>. If you want to convert a statement, use the <a href=\"\/blog\/bank-statement-converter\/\">bank statement converter<\/a>. The <a href=\"\/blog\/bank-statement-converter\/\">bank statement converter<\/a> handles all the steps with the integrity check at the end. The <a href=\"\/blog\/bank-statement-converter\/\">bank statement converter<\/a> handles all the steps with the integrity check at the end. The <a href=\"\/blog\/bank-statement-converter\/\">bank statement converter<\/a> handles all the steps with the integrity check at the end. The <a href=\"\/blog\/bank-statement-converter\/\">bank statement converter<\/a> handles all the steps with the integrity check at the end.<\/p>\n\n<div class=\"easys-ess-cta easys-entity-placement\" id=\"easys-2502185002\"><div id=\"easys-2552089164\" role=\"region\" aria-label=\"Advertisements\"><div style=\"border:1px solid #e1e7e2;border-radius:8px;padding:20px;margin:28px 0;background:#f7faf7\">\r\n  <p style=\"margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.3\">From PDF to Excel in one click<\/p>\r\n  <p style=\"margin:0 0 16px;line-height:1.6\">Forget retyping line by line. Upload any bank statement, get a spreadsheet you can actually use. Your files are never stored, and you can test the converter with 3 free conversions.<\/p>\r\n  <a href=\"https:\/\/easystatementsheet.com\/?utm_source=blog&utm_campaign=ess-cta-03\" style=\"display:inline-block;background:#1e7a4c;color:#fff;text-decoration:none;padding:10px 18px;border-radius:6px;font-weight:600\">Try it free<\/a>\r\n<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>A bank statement has 30+ fields in 4 tiers: 4 core transaction fields (date, description, amount, balance), 8 transaction metadata fields, 12+ account metadata fields, and 6 summary fields. The 4 core fields appear in every export; the 25+ others vary by bank and export format. Data types: dates as ISO or US, amounts as decimal with sign convention, codes as alphanumeric.<\/p>\n","protected":false},"author":2,"featured_media":1261,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,15],"tags":[26,14],"class_list":["post-1262","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bank-statement","category-conversion-guides","tag-bank-statement-tag","tag-pdf"],"_links":{"self":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts\/1262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/comments?post=1262"}],"version-history":[{"count":7,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts\/1262\/revisions"}],"predecessor-version":[{"id":3246,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/posts\/1262\/revisions\/3246"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/media\/1261"}],"wp:attachment":[{"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/media?parent=1262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/categories?post=1262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/easystatementsheet.com\/blog\/wp-json\/wp\/v2\/tags?post=1262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}