Conversion · Convert

Bank Statement to CSV File: Formats Accounting Imports Need

There is no universal accounting CSV. Start with a stable source file, then map its date, description, and amount fields to the destination's current importer.

Start with a source CSV, not a universal template

The exact bank statement CSV format depends on the accounting product and import screen. There is no single file that every tool accepts unchanged. The most durable workflow is to keep one reviewed source CSV, duplicate it, and map the duplicate to the destination's current fields without altering the source.

This distinction is practical, not theoretical. Current US QuickBooks documentation requires either Date, Description, and Amount or Date, Description, Credit, and Debit for a transaction-list upload. Xero's current troubleshooting guidance refers to assigning CSV columns to statement fields and requires valid date and numeric amount data. Always check the destination's own instructions on the day you import.

Three layers in a safe bank-statement import workflow
LayerPurposeWhat changes
Issued statement PDFSource record for checking completenessNothing
Reviewed source CSVPortable transaction dataOnly corrections confirmed against the PDF
Destination copyMatches one accounting import screenHeaders, column order, date display, or amount layout

Choose a two-column or three-column source

A two-column source contains Date and Amount. Use it only when the destination explicitly allows Description to be omitted and you accept the loss of merchant or memo context. It can load a bare transaction sequence, but it is harder to recognize duplicates, match activity, or review an incorrect amount.

A three-column source contains Date, Description, and Amount. This is the recommended general-purpose layout because it keeps the essential matching text beside the signed value. StatementMint's standard CSV uses this three-column structure. It does not include categories, journal accounts, tax codes, or destination-specific fields, so those are mapped or added later in the accounting tool.

Two-column and three-column bank-statement source mappings
LayoutColumnsUse whenTradeoff
Two-column minimumDate · AmountThe importer documents Description as optionalLittle context for matching or duplicate review
Three-column recommendedDate · Description · AmountThe importer accepts one signed amount fieldMay still need header or date remapping

Understand the signed Amount column

A signed Amount column combines money in and money out into one numeric field. Under the convention used in StatementMint exports, a purchase, withdrawal, or fee is negative, while a deposit, payment, refund, or credit is positive. Store -86.42 and 2450.00 as numbers—not as text containing dollar signs or commas.

The sign describes movement in the exported transaction ledger; it does not assign an accounting debit or credit to a general-ledger account. Bank accounts and credit-card liabilities are accounted for differently, and an import screen may use labels such as spent, received, charge, payment, debit, or credit. Map by the destination's documented meaning and the selected account type, not by the label alone.

Synthetic three-column source rows with signed Amount
DateDescriptionAmountSource-ledger meaning
2026-08-03ACH deposit — Client payment2450.00Money in
2026-08-05Card purchase — Office supply store-86.42Money out
2026-08-08Monthly account fee-15.00Money out
2026-08-09Refund — Transit pass18.00Money in

Split Amount only when the importer requires it

Some importers request separate money-in and money-out fields. Create that version from a reviewed signed Amount column rather than maintaining two unrelated source files. Put each transaction's absolute value in exactly one destination amount column and leave the other blank; do not place zero in both cells unless the destination explicitly requires it.

Column names are not universal. For example, current QuickBooks documentation describes a four-column Date, Description, Credit, and Debit layout alongside its three-column signed-Amount layout. That is a QuickBooks requirement, not a rule you should silently apply to every accounting product. Confirm which destination field represents money in and which represents money out before uploading.

Example transformation from signed Amount to separate destination fields
Signed AmountMoney inMoney out
2450.002450.00blank
-86.42blank86.42
-15.00blank15.00
18.0018.00blank

Keep every field import-safe

Use one header row, one transaction per row, UTF-8 encoding, a consistent date format, and plain decimal amounts. Keep descriptions complete. If a description contains a comma, line break, or quotation mark, use standard CSV quoting; RFC 4180 describes enclosing the field in double quotation marks and doubling a quotation mark that occurs inside it.

Do not insert statement balances, subtotals, page headings, or blank separator rows into the transaction table. Xero's current error guidance specifically identifies invalid date or amount data, blank lines, incorrect field assignment, and malformed preparation as causes of failed imports. A destination may impose additional limits, so its own template remains authoritative.

  • Date: use one consistent, destination-supported format.
  • Description: preserve the source text and quote embedded punctuation correctly.
  • Amount: use a decimal number with no currency symbol or thousands separator.
  • Missing value: leave it blank rather than inventing zero.
  • Account: import each file into the intended bank or credit-card account.

Map a destination copy field by field

Open the accounting product's manual bank-transaction import, select the correct account, upload a copy of the CSV, and map each source header to the displayed destination field. Check the import preview before accepting transactions. If the product offers a downloadable template, use the current template rather than an old file saved from a prior version.

Do not add Category, Account, Tax, or Payee columns unless the destination documents those fields for this specific bank-transaction import. StatementMint does not categorize transactions or connect directly to accounting software. It creates the source CSV and XLSX; the account owner performs the mapping, classification, and import review.

Mapping worksheet for a three-column source CSV
Source fieldCommon destination conceptPre-import check
DateTransaction or posted dateDates match the statement and use one format
DescriptionDescription, memo, or payee textFull text remains attached to the correct row
AmountSigned amount or money-in/money-out fieldsPositive and negative rows map to the intended direction

Prevent duplicates and check the result

Before uploading, identify the newest transaction already present in the accounting account and exclude overlapping rows only after confirming they are true duplicates. Never assume matching Date, Description, and Amount proves duplication; two legitimate purchases can be identical. Use the destination's preview and duplicate handling, then reconcile the imported period after acceptance.

Compare imported row count, first and last transaction, largest money-in and money-out values, and the period boundary with the reviewed source CSV and issued PDF. Save an import note containing the account, file name, period, row count, and import date. That small record makes a later duplicate or missing-period investigation much easier.

Create the source CSV before mapping it

When an issued PDF is the available source, StatementMint produces a clean Date, Description, and signed Amount CSV plus formatted Excel for a completed full statement. Convert the statement, compare the result with the PDF, and keep that reviewed file unchanged.

Then duplicate the CSV and map the copy using the accounting product's current instructions. This preserves a stable source ledger while allowing QuickBooks, Xero, or another destination to use its own headers and amount layout. StatementMint does not send the file into those products for you.

PRACTICAL CHECKLIST

Before you call it done

  • Confirm the destination's current import documentation
  • Keep one reviewed source CSV unchanged
  • Prefer Date, Description, and signed Amount
  • Use Date and Amount alone only when Description is optional
  • Split money in and money out only in a destination copy
  • Use UTF-8, consistent dates, and decimal numbers
  • Map into the correct bank or credit-card account
  • Review the preview for signs and duplicate periods
  • Record the imported period and row count

Frequently asked questions

What CSV format do accounting imports need?+

There is no universal format. Keep a reviewed Date, Description, and signed Amount source CSV, then map a copy to the destination's current required headers, date format, column order, and amount layout.

Can a bank statement CSV use only two columns?+

A Date-and-Amount file can work only when the destination explicitly allows Description to be omitted. A three-column Date, Description, and Amount file is safer because description text helps with matching, review, and duplicate detection.

Should withdrawals be negative in a CSV file?+

In a signed-Amount source file, money-out activity is usually negative and money-in activity positive. Confirm the destination's convention and selected account type before mapping because debit, credit, charge, and payment labels are not used consistently across account types.

Should I use one Amount column or separate debit and credit columns?+

Keep one signed Amount column in the portable source CSV. Create separate destination columns only when the current importer requires them, put each value in one side, and confirm which side represents money in or money out.

Does StatementMint import transactions into accounting software?+

No. StatementMint produces Date, Description, and signed Amount in CSV and formatted Excel. You review the source file and map it through the accounting product's own import workflow.

Sources and further reading

We prioritize regulators, public agencies, and first-party product documentation. Sources support the general guidance above; StatementMint’s workflow recommendations are our own.

  1. Manually upload transactions into QuickBooks OnlineIntuit QuickBooks Support
  2. Resolve errors when manually importing a bank statementXero Central
  3. RFC 4180: Common Format and MIME Type for CSV FilesRFC Editor

Educational information only—not financial, accounting, tax, or legal advice. Institution terms and your facts control.