Skip to content
All articles

Import troubleshooting

Monarch CSV imports: transaction history and balance history are different

If your old transactions appear in Monarch but the synced account balance hasn't changed, that isn't evidence the import failed. Transaction history and dated balance snapshots use separate import paths; Monarch says importing transactions leaves synced balances unchanged.

By AnyStatement

Published , 8 min read

Contents
  1. Choose the history that is actually missing
  2. Save the existing history before choosing an overlap mode
  3. A transaction CSV contains movements, not opening balances
  4. A balance CSV contains dated snapshots
  5. Check the rows, then the arithmetic, then the dated balances
  6. Use the matching import path
  7. What we checked

For manual accounts, Monarch offers an option to adjust the balance when importing transactions. That distinction comes from its transaction import guide, updated August 14, 2026. This page helps you choose the right file and check its contents. It doesn't diagnose a bank connection or promise that a CSV will be accepted: Monarch controls the importer, and your bank supplies the underlying records. The procedure below is based on help pages checked on October 18, 2026, not a live-account import test.

Choose the history that is actually missing

A transaction amount is a change: money entered or left the account. A balance is a snapshot: the amount held or owed on a particular date. A list of changes doesn't tell you the starting balance, and two snapshots don't tell you which purchases happened between them.

Two files, two different jobs
What is missingFile to prepareWhat a row means
Old purchases or depositsTransaction historyOne dated change in the account
Historical account balancesBalance historyThe account balance on one date
Both kinds of historySeparate transaction and balance filesKeep changes and snapshots separate

Monarch's history-import overview, updated July 10, 2026, says balance history can be imported into synced and manual accounts to fill historical gaps, including in the net-worth timeline. Imported transactions appear in reports, insights and budgets. A correct-looking current balance therefore isn't a check that every historical transaction arrived.

If the bank's native exports cover the dates you need, start there. Ask for transaction history and balance history separately, because a transaction CSV doesn't necessarily contain both. When checking the files, keep each account and currency distinct.

Save the existing history before choosing an overlap mode

Monarch warns that transaction CSV imports cannot be undone. Its documented removal options include bulk-deleting imported transactions or deleting the financial account and starting again. Neither is a reason to experiment on your only copy of the history.

To save those reference copies on desktop, open the account and choose Edit → Download transactions, then Edit → Download balance history. Those are separate downloads in Monarch's export instructions, updated September 9, 2026. Give them names that include the account alias and download date so you can tell them apart, and keep untouched copies alongside your proposed import. They aren't a promised one-click restore.

The transaction guide documents the choices below. Settle on one before uploading, because Prioritize CSV replaces a whole date interval, not only matching rows.

Monarch's documented transaction overlap choices
ChoiceDocumented effectCheck before choosing
Prioritize CSVDeletes existing account transactions between the CSV's earliest and latest dates, then replaces them with CSV data.Is the file complete for the whole interval, including dates between its rows?
Prioritize MonarchKeeps existing data and imports only missing earlier transactions; some CSV rows may not import.Do not assume this fills every gap inside an existing date range.
Import allImports all CSV transactions and may create duplicates.Which rows already exist in the account?
Use transaction IDs to match transactionsUpdates existing transactions using IDs in a CSV exported from Monarch.Keep the original Monarch IDs when editing its export; do not invent IDs for bank rows.

Consider a fictional incomplete CSV with rows on March 1 and March 31. The account already contains a real March 15 transaction that the CSV omits. Under the documented Prioritize CSV rule, that March 15 row falls inside the replacement interval and is deleted too. It doesn't need to match either imported row. A smaller file is not automatically a safer file if it spans dates whose existing history you want to keep.

A transaction CSV contains movements, not opening balances

The transaction format instructions require Account, Amount and Date, in any column order. Account is optional when importing directly into an individual account through its details page; it is required through the Add Account route. Debits and credits belong in the same Amount column. Purchases and withdrawals are negative, using a minus sign or parentheses, while deposits are positive with no extra symbols. Notes, categories and tags are optional.

This synthetic CSV belongs to one fictional USD checking account. Assume its complete March 2026 statement contains exactly these two posted transactions, with $1,000.00 immediately before March 1 and $1,275.00 at March 31 close. Those assumptions matter: the example is not a claim about any real bank's history.

Account,Date,Amount,Notes
Example Checking,03/01/2026,400.00,Fictional deposit
Example Checking,03/31/2026,-125.00,Fictional purchase

The dates use US month/day/year, consistent with Monarch's documented US-based transaction dates. There are two data rows: $400.00 in, $125.00 out, and $275.00 net movement. The statement arithmetic is 1000.00 + 400.00 - 125.00 = 1275.00. The $1,000.00 opening balance describes the position before these movements, so adding it as a third deposit would wrongly count it as additional March income.

In a synced Monarch account, importing this file still leaves the balance unchanged, according to the guide. The $275.00 movement isn't an instruction to add $275.00 to today's synced value. A manual account offers a balance adjustment, but the transaction totals alone aren't a reason to accept it. Compare the adjustment with the balance and date you intend to represent.

A balance CSV contains dated snapshots

Monarch's balance import guide, updated July 10, 2026, lists Date and Balance as the required fields. Dates use YYYY-MM-DD and must be unique within each file; future-dated balances aren't supported. Each account needs its own file. You assign that file to its Monarch account during import, so the account name isn't required inside it. You can select multiple account files together.

The guide has a naming inconsistency: its example table and linked balance-history template call the value column Amount, not Balance. It also says you'll assign CSV columns to Monarch fields during import. Our example uses the prose's Balance label, but the header alone doesn't guarantee acceptance: check that the value column maps to the balance field. We checked the template on October 18, 2026; it showed no update date.

For the same fictional checking account, suppose these are the two independently known dated closing balances. This is a separate file, not an extra pair of rows to append to the transaction CSV:

Date,Balance
2026-02-28,1000.00
2026-03-31,1275.00

The snapshots differ by $275.00, which agrees with the complete fictional March movements above. Adding the two balances wouldn't produce March income or cash flow. If these snapshots were all you had, they wouldn't establish the March transaction list or the balance on every intervening day. Those unsupported dates need to stay out of the file rather than look as though they were observed.

For debt owed on liabilities such as mortgages, loans and credit cards, Monarch's balance guide instructs you to enter negative values, using a minus sign or parentheses. A fictional card debt of $650.00 would therefore be -650.00 in its balance file. That is a balance convention, not a reason to make every payment negative in a transaction file. Our credit-card signs guide explains why the distinction matters.

Two source files can give different balances for the same date. Before importing, resolve which account, date and balance basis each represents: the help page says duplicate dates trigger an error, not that Monarch picks the better snapshot. It also doesn't specify how every conflict with already-stored balance history is resolved. Keep the export for reference and ask Monarch support about that case; don't assume the transaction overlap modes apply to balances.

Check the rows, then the arithmetic, then the dated balances

Matching rows, statement arithmetic and dated balances answer different questions. The checks only give you a useful comparison when they cover the same account, currency and period. None of the tools below connects to Monarch or certifies an import.

  1. To look for overlap, compare your proposed transaction file with the saved Monarch transaction export in the duplicate finder. It finds exact and possible matches using dates, amounts and descriptions, not Monarch transaction IDs. Review candidates against the sources before removing anything, because the tool can't see records you haven't supplied and doesn't reproduce Monarch's overlap rules.
  2. The statement balance checker compares the complete statement transaction list with independently supplied opening and closing balances. For the fictional CSV, choose US dates, decimal-point amounts and the bank-account convention, map Notes as description if useful, then enter 1000.00 and 1275.00. The expected closing difference is 0.00. Because this CSV has no after-transaction running balances, this is a closing-total check only.
  3. With the known starting balance and every posted movement, you can use the daily balance calculator to derive a comparison schedule. For March 1-31 in this example, start at 1000.00: March 1-30 close at 1400.00 and March 31 closes at 1275.00. Those are calculated balances, not additional bank-observed snapshots. An empty date doesn't establish a day with no activity unless you have complete movement coverage. This calculator doesn't create a Monarch-approved balance import.
Fictional transaction-file errors against the $1,275.00 statement close
Rows suppliedCalculated closeDifference
Both correct rows$1,275.00$0.00
Purchase omitted$1,400.00+$125.00
Purchase included twice$1,150.00-$125.00

Here, difference means calculated minus statement closing balance. Either faulty transaction file can coexist with the correct separate balance snapshot, so a balance chart can't replace counting and reviewing imported rows. Even a zero arithmetic difference can hide offsetting errors; it neither reconciles a separate bookkeeping ledger nor authenticates a statement.

A fresh download after importing lets you compare the history with your intended result. Check transaction dates, amounts, account assignment and retained existing rows separately from dated balance values. If a row is missing, inspect the chosen overlap mode before uploading the entire file again, since that mode affects which rows get imported. When the importer's behavior remains unexplained, keep the file and summary and contact Monarch support. Don't create an adjustment transaction just to make the displayed numbers agree.

Use the matching import path

For transactions, the documented web path is Accounts → + Add Account → Import transaction & balance history → Import transactions. After uploading the CSV, review the suggested column mappings and assign any categories or tags and accounts. You'll then choose the overlap handling and review the summary before finishing. According to the transaction guide, this import is web-only; it isn't available in the mobile app.

Balance files go through Import balances instead. You can also open an account and choose Edit → Import balance history. Assign each file to the correct account and review before finishing. Monarch recommends a small pilot, which is useful, but its entire date interval still needs checking before you select a replacement mode.

If you receive “File too large,” Monarch's large CSV guide, updated February 18, 2026, recommends splitting transaction files by account, then by date range if needed. It gives no numeric upload maximum. The separate download guide recommends 5,000 transactions or fewer per download; that is not an upload cap. The CSV merge and split tool can help organize transaction files, but it does not validate balance-import semantics.

If old history exists only in PDFs, first ask the bank for native exports. A short list can be transcribed and checked against the statement; for a longer archive, AnyStatement can convert PDFs to reviewable Excel or CSV. That's a separate upload workflow, and you'll still need to check the extracted rows and prepare the appropriate Monarch mapping yourself. Conversion can't supply missing balance evidence or decide which existing Monarch records should be replaced.

What we checked

We reopened all five linked Monarch help pages in a browser on October 18, 2026 and read the linked balance-history template; the help pages' displayed update dates are given above. We parsed both fictional CSVs and recomputed the movement, closing balances, error differences and daily schedule with Python Decimal. We did not import either file into Monarch, test a bank connection or observe how Monarch handles an existing balance-date conflict. The examples demonstrate file meaning and arithmetic, not successful live imports. Use the current Monarch help and import review screens if the documented behavior changes.