The short answer
The Charles Schwab file has 7 columns, dates written as MM/DD/YYYY and separate debit and credit columns. QuickBooks Online wants a CSV with the columns Date,Description,Amount. So the date is rewritten as DD/MM/YYYY, the amount is written as one signed number, and the text columns are moved as in the table below.
Paid pack. The Charles Schwab profile is one of the 35 profiles unlocked by a licence (9 US dollars, paid once; see the terms). Without a licence you can still convert this file with the free manual column mapper, using the column table on this page, within the free limit of 25 rows per file.
The converter runs in your browser. Your file is not uploaded.
What the Charles Schwab CSV looks like
- Country: United States.
- Account type: checking.
- Rows before the first transaction: 3 (a preamble plus the header).
- Columns: 7, separated by commas.
- Date format: MM/DD/YYYY, for example 03/04/2024 (the source writes it as %m/%d/%Y).
- Amounts: separate debit and credit columns. Evidence for the direction: it is inferred from the role the open-source importer gives the column; no sample row confirms it.
- Header text: the source gives column positions and meanings only, not the header names.
Note kept with this layout in the profile data: Three rows come before the first transaction. The csv2ofx mapping reads these header names from a Schwab checking export: Date, Status, CheckNumber, Description, Withdrawal, Deposit, RunningBalance; it does not state their order, and the two sources may describe exports of different years.
What QuickBooks Online accepts
- File type: CSV.
- Header row: yes, with the column names of one of the two layouts.
- 3-column layout: Date, Description, Amount. The vendor's example row: 1/1/2018,Example of a payment,-100.00
- 4-column layout: Date, Description, Credit, Debit. The vendor's example row: 1/1/2018,Example of a deposit,200.00,
- Required columns: Date, Description, Amount.
- Amounts: 3-column layout: one signed Amount column, a payment is negative (the vendor's example payment is -100.00). 4-column layout: separate Credit and Debit columns.
- Dates: one consistent format; the global edition of the page recommends dd/mm/yyyy, and its example rows use 1/1/2018.
| QuickBooks Online column | Required by QuickBooks Online | Filled from the Charles Schwab file |
|---|---|---|
| Date | required | column 1 |
| Description | required | column 4 |
| Amount | required | column 6 (positive) minus column 5 (negative) |
From the vendor's help page: "QuickBooks accepts CSVs with either the 3-column or 4-column format": Date, Description, Amount; or Date, Description, Credit, Debit.
Column-by-column mapping
Every column of the Charles Schwab file, left to right, and where it ends up in the QuickBooks Online file.
| Column | Header text | What it holds | Where it goes in the QuickBooks Online file |
|---|---|---|---|
| 1 | not given by the source | Transaction date | Date, rewritten as DD/MM/YYYY |
| 2 | not given by the source | Not used | Not copied |
| 3 | not given by the source | Not used | Not copied |
| 4 | not given by the source | Description | Description |
| 5 | not given by the source | Money out (debit) | Amount, as a negative number |
| 6 | not given by the source | Money in (credit) | Amount, as a positive number |
| 7 | not given by the source | Not used | Not copied |
Pitfalls for Charles Schwab to QuickBooks Online
Dates
- The date must be reordered. The bank file is written month first, then day, then year (MM/DD/YYYY, for example 03/04/2024). The QuickBooks Online file is written day first, then month, then year (DD/MM/YYYY, for example 04/03/2024). This is the mistake that does not show: 03/04/2024 is 4 Mar in the bank file, and read the other way round it is 3 Apr. Days from 13 to 31 fail loudly, days from 1 to 12 swap silently.
- QuickBooks Online on dates: one consistent format; the global edition of the page recommends dd/mm/yyyy, and its example rows use 1/1/2018. The converter writes dd/mm/yyyy as the fetched page recommends and offers mm/dd/yyyy as an option, because QuickBooks reads dates according to the company's region. The US edition of the page could not be fetched on the checked date.
Amounts and their direction
- Debit and credit columns must be merged into one signed Amount: credit minus debit. A debit of 4.50 becomes -4.50 and a credit of 2500.00 stays 2500.00.
- QuickBooks Online's own rule: 3-column layout: one signed Amount column, a payment is negative (the vendor's example payment is -100.00). 4-column layout: separate Credit and Debit columns.
- How sure the direction is: it is inferred from the role the open-source importer gives the column; no sample row confirms it. Compare two rows you recognise with the preview before importing; the converter has a switch that flips the sign of every amount.
Shape of the file
- 3 rows come before the first transaction (a preamble plus the header). They are skipped.
Other QuickBooks Online import rules
- Remove any zeroes (0) from the file and leave those cells blank.
- Remove the word 'amount' if it appears in the Credit or Debit column header.
- Remove the day of the week from dates (for example 20/11/2018 TUE).
- Correct any transactions that display numbers in the Description column.
- Mac users must save the file as a Windows CSV file.
- CSV files for credit card accounts may display transactions in reverse order.
Before and after: an invented example
Invented sample data. These four rows were made up for this page. They are not from a real Charles Schwab export and hold no real account, name or balance.
The source gives column positions only, so the headings below are the column number and what the column holds, not the bank's header text. The 3 unused columns of the file are left out of the table.
| 1: transaction date | 4: description | 5: money out (debit) | 6: money in (credit) |
|---|---|---|---|
| 03/04/2024 | COFFEE CORNER MAIN ST | 4.50 | |
| 03/05/2024 | PAYROLL EXAMPLE CO | 2500.00 | |
| 03/07/2024 | RENT MARCH | 1234.56 | |
| 03/11/2024 | REFUND EXAMPLE SHOP | 15.25 |
| Date | Description | Amount |
|---|---|---|
| 04/03/2024 | COFFEE CORNER MAIN ST | -4.50 |
| 05/03/2024 | PAYROLL EXAMPLE CO | 2500.00 |
| 07/03/2024 | RENT MARCH | -1234.56 |
| 11/03/2024 | REFUND EXAMPLE SHOP | 15.25 |
Do it by hand in a spreadsheet, free
These steps need no tool from this site. The cell references follow the column positions of the profile above; if your spreadsheet uses semicolons between formula arguments, replace the commas.
- Open the Charles Schwab CSV in a spreadsheet program through its import dialog. Set the date column (column 1) to Text so the program does not reinterpret it, and leave the amount columns as numbers.
- Rows 1 to 3 are a preamble and the header; the transactions start in row 4.
- Date: rewrite column A from MM/DD/YYYY to DD/MM/YYYY (03/04/2024 becomes 04/03/2024). In a new column, for the first transaction:
=MID(A4,4,2)&"/"&MID(A4,1,2)&"/"&MID(A4,7,4)This formula reads the date by character position, so it only works while the dates are text and every date has a two-digit day and month. Fill it down. - Amounts: merge the two columns into one signed Amount, credit minus debit:
=ABS(F4)-ABS(E4)An empty cell counts as zero. Money out comes out negative. - Text columns: fill Description (from column 4). Where several bank columns feed one column, join them with a separator such as " - ".
- Apply QuickBooks Online's own rules from its help page: Remove any zeroes (0) from the file and leave those cells blank. Remove the word 'amount' if it appears in the Credit or Debit column header. Remove the day of the week from dates (for example 20/11/2018 TUE). Correct any transactions that display numbers in the Description column. Mac users must save the file as a Windows CSV file. CSV files for credit card accounts may display transactions in reverse order.
- Keep only the new columns, put the header row Date,Description,Amount on top, save the sheet as a comma-separated CSV, and compare the dates, the direction of the amounts and the number of rows with your statement in QuickBooks Online's import preview.
Or use the converter
Load the file, choose the Charles Schwab profile in the bank list and the target QuickBooks Online, read the preview, then download. The conversion runs locally in your browser: the file is not uploaded, and only the licence key is sent for unlocking.
Paid pack. The Charles Schwab profile is one of the 35 profiles unlocked by a licence (9 US dollars, paid once; see the terms). Without a licence you can still convert this file with the free manual column mapper, using the column table on this page, within the free limit of 25 rows per file.
Where this layout comes from
No bank supplied or approved this layout. It was copied on 5 October 2026 from a public open-source importer file kept by volunteers: bank2ynab/bank2ynab, file bank2ynab/data/bank2ynab.conf
Also read: reubano/csv2ofx, file csv2ofx/mappings/schwabchecking.py
The lines used from the source: [US Schwab Checking] Header Rows = 3 ; Input Columns = Date,skip,skip,Payee,Outflow,Inflow,skip ; Date Format = %m/%d/%Y
The QuickBooks Online rules come from the vendor's own help pages: quickbooks.intuit.com/learn-support/en-global/help-article/bank-transactions/format-csv-files-excel-bank-transactions-quickbooks/L4BjLWckq_ROW_en (named as text, not linked). The official page was fetched and read on the checked date.
Bank formats change. Banks alter their CSV exports without notice and vendors change their import rules, so this mapping can be out of date. If the preview looks wrong, use the manual column mapper.