Importing from Spreadsheets
Bring months or years of history into NP Ledger in one validated batch instead of typing it in row by row.
On this page
Import transactions from a CSV or Excel file instead of entering them one at a time. This is ideal for migrating from another system (like QuickBooks or a spreadsheet), recording a batch of transactions, or catching up on a backlog.
Setting up for the first time? If you're still in the setup wizard, you don't need to go to the sidebar — transaction import is built right into Step 6 (Import Transactions). You'll see export instructions tailored to where you're coming from, upload and review your file, and land back in the wizard with your history counted, all without leaving setup. The steps below are the same; they just happen inside the wizard chrome. This page covers the standalone import you can use anytime after setup.
If you're switching to NP Ledger from another tool, you don't want to re-enter months or years of transactions by hand. Spreadsheet import lets you bring them all in at once, with validation that catches errors before anything posts to your books.
- Your bank accounts and funds should already be set up in NP Ledger (the import template uses them as options)
- Download the personalized template first (Step 2 below) -- it's customized with your organization's accounts, funds, and programs
Step 1: Go to Spreadsheet Import
Go to Spreadsheet Import from the sidebar. You'll see the landing page with options to download a template or upload a file.
Step 2: Download the personalized template
- Click Download Template and choose CSV or Excel (.xlsx).
- The template is customized for your organization -- it includes your accounts, funds, and programs as reference columns so you know exactly what values to use.
- Open the template in your spreadsheet application (Excel, Google Sheets, etc.).
Tip: Use the Excel template if you want dropdown menus for account and fund names. The CSV template works with any application but doesn't include dropdowns.
Step 3: Fill in the template
Each row is one transaction. Fill in these columns:
| Column | Required | Example |
|---|---|---|
| Date | Yes | 2026-03-15 |
| Amount | Yes | 500.00 |
| Description | Yes | "Donation from Garcia family" |
| Account | Yes | "Donation Revenue" or the account name from your chart of accounts |
| Fund | No | "General Fund" (uses default if blank) |
| Contact | No | "Garcia Family" |
| Payment Method | No | "Check", "ACH/Bank Transfer", "Cash", etc. |
| Bank Account | No | "Primary Checking" (uses default if blank) |
| Program | No | "Youth Program" |
| Project | No | "Spring Gala" |
| Reference / Check # | No | "1042" |
| Transaction Class | No | "Revenue" or "Expense" (auto-detected from account if blank) |
Don't worry about getting column headers exactly right -- NP Ledger recognizes over 40 header aliases (like "Transaction Date," "Txn Date," "Date," or "Trans Date" all work for the date column).
Step 4: Upload your file
- Drag and drop your file onto the upload area, or click to browse for it.
- Supported formats: .csv and .xlsx (Excel).
Step 5: Map columns
- NP Ledger auto-detects your columns and shows a mapping preview.
- Verify each column is mapped to the correct field (Date, Amount, Description, Account, etc.).
- Adjust any columns that weren't detected correctly using the dropdowns.
Step 6: Preview and validate
NP Ledger checks every row and shows them color-coded by status:
- Green rows: Ready to import -- all fields are valid.
- Yellow rows: Importable with warnings -- a name was fuzzy-matched (e.g., "Gen Fund" matched to "General Fund"). Check that the match is correct.
- Red rows: Errors that must be fixed before import -- missing required fields, unrecognized account names, or invalid dates.
The summary bar at the top shows the count of valid, warning, and error rows.
Step 7: Fix errors
Click any red row to edit it inline. Common fixes: - Select the correct account name from the dropdown - Fix the date format - Enter a missing amount - Correct a misspelled contact name
Step 8: Confirm and import
- Review the summary bar -- all rows should be green or yellow (no red).
- Click Confirm Import to post all valid transactions to your books.
- NP Ledger creates the transactions in an atomic batch -- either all succeed or none do.
- Review yellow rows carefully. Fuzzy matching is usually right, but "Youth Fund" matching to "Youth Program Fund" is different from matching to "Youth Emergency Fund."
- Check the total amount against your source data to make sure all rows imported.
- Verify a few transactions in the account register after import to confirm they look correct.
- Uploading without downloading the template first. Your column names may not match what NP Ledger expects. The template guarantees the right format.
- Using a non-standard date format. Stick to YYYY-MM-DD or MM/DD/YYYY. Formats like "March 15, 2026" may not parse correctly.
- Importing the same file twice. NP Ledger has duplicate detection, but it's not foolproof if amounts and dates overlap across different transactions. Keep track of what you've imported.
- Leaving the Account column blank. Every transaction needs an account. If you don't know which account to use, check your Chart of Accounts.
- Not selecting a default bank account. If your CSV doesn't include a "Bank Account" column, you must select a default bank account on the preview page. If your CSV does include bank account per-row, the default only fills in for rows where the column is blank.
Open the AI Help panel and try: - "How do I import transactions from QuickBooks?" - "What format should my CSV be in?" - "Why are some rows showing red?"
Ready to try NP Ledger?
Native fund accounting, Form 990 support, and smarter bookkeeping for nonprofits.