TransactionsCSV Import

CSV and JSON Import Overview

How to import transactions into Forbidden Finance from CSV and JSON files, including supported formats, deduplication, mapping profiles, and how to undo an import.

Overview

Forbidden Finance lets you import transactions from CSV and JSON files, making it easy to migrate from another finance app or bring in historical data from your bank. The import system auto-detects the file format, handles date and amount parsing, skips duplicate transactions, and processes files in batches with a progress indicator. You can import from YNAB, Mint, Monarch, or any generic CSV file.

Supported Formats

FormatAuto-Detected?Best For
YNABYesMigrating from You Need A Budget
MintYesImporting historical Mint data
MonarchYesMigrating from Monarch Money
Generic CSVNo (you map columns)Bank exports, spreadsheets, other apps

When you upload a file, Forbidden Finance reads the header row and compares it against known format signatures. If it recognizes YNAB, Mint, or Monarch, parsing is fully automatic. If the format is not recognized, you are prompted to map columns manually using the generic CSV and JSON importer.

How to Import

Go to Transactions

Open the Transactions tab and tap the Import button (or go to Settings > Import Data).

Select your file

Choose a CSV file from your device. The file should be a standard comma-separated values file with a header row.

Choose the target account

Select which account these transactions belong to. All transactions in a single import go to one account.

Review the preview

Forbidden Finance shows a preview of the first several rows, the detected format, and any validation warnings. Review the preview to make sure dates, amounts, and merchants look correct.

Confirm and import

Tap Import. Transactions are processed in batches of 100 with a progress bar showing how many have been imported, skipped (duplicates), or rejected (invalid data).

Deduplication

Forbidden Finance automatically checks each row against your existing transactions before importing. A transaction is considered a duplicate if it matches on all of the following:

  • Same date
  • Same amount
  • Same merchant name
  • Same account

Duplicate rows are skipped and reported in the import summary. Your existing data is never overwritten.

Mapping Profiles

When using the generic CSV and JSON importer, you can save your column mapping as a reusable profile. This is especially useful if you import from the same bank or spreadsheet format regularly.

  • After mapping your columns, tap Save Mapping Profile and give it a name (e.g., "Chase Export" or "Company Expense Report").
  • Next time you import a file with the same column structure, select the saved profile instead of mapping from scratch.

Batch Processing and Progress

Large files are imported in batches of 100 transactions. During import, you see:

  • Total rows in the file
  • Processed so far
  • Inserted (new transactions added)
  • Skipped (duplicates detected)
  • Errors (rows with invalid data)

You can review error details after the import completes to see which rows failed and why.

Reversing an Import

If something went wrong (like importing to the wrong account), you can undo an entire import. Go to Settings > Import History, find the import, and tap Undo Import. All transactions from that import are removed. This does not affect transactions from other imports or other sources.

Tips

Export your data from the old app first, then import into Forbidden Finance. Each format-specific guide has step-by-step instructions for exporting from YNAB, Mint, and Monarch.
If your bank provides CSV exports, use the generic CSV and JSON importer with a saved mapping profile. This lets you bring in historical data without connecting your bank.
All transactions from a single import file go to one account. If your CSV contains transactions from multiple accounts, split the file by account before importing.

Frequently Asked Questions

What file formats are supported?

Standard CSV and JSON files (comma-separated values) with a header row. The file must be UTF-8 encoded. Excel files (.xlsx) are not supported directly -- export to CSV from Excel first.

How does Forbidden Finance handle different date formats?

The import system automatically detects common date formats by sampling your file, including MM/DD/YYYY, YYYY-MM-DD, DD/MM/YYYY, and several others. If the format is ambiguous, you are prompted to confirm.

What about different amount formats?

The importer handles negative signs, parentheses for negatives, currency symbols, thousands separators, and European-style decimals (1.234,56). It also handles separate inflow/outflow columns used by apps like YNAB.

Will imported transactions be auto-categorized?

Yes. If you have previously categorized transactions from the same merchant, your categorization rules apply to imported transactions as well. Unknown merchants are imported without a category, and you can categorize them afterward.

Can I import the same file twice without getting duplicates?

Yes. The deduplication system skips any rows that match existing transactions by date, amount, and merchant. Re-importing a file is safe.

Import from YNAB

Step-by-step YNAB migration guide.

Import from Mint

Step-by-step Mint migration guide.

Import from Monarch

Step-by-step Monarch migration guide.

Import Generic CSV

Map columns from any CSV file.

Need more help? Contact us at support@403fin.io.