Moving to Pennyweight: how importing works
On this page
You can bring your transaction history into Pennyweight from a budgeting app, an accounting app, a spreadsheet or a bank file. Your AI reads the export and sends the rows to Pennyweight, one account at a time, and nothing is saved until you approve a preview. If your AI isn't connected yet, start with connect your AI.
How moving works
- Export from your old app. A CSV or spreadsheet of transactions is enough. The guides below say where each app keeps its export.
- Give the file to your AI. Your AI reads it and turns each line into a row with a date in YYYY-MM-DD form, a signed amount and a payee, plus the category, currency and notes when the file has them. Pennyweight has no built-in importer for any app's format. Your AI does the reading.
- One account per import. Every import goes into a single account. If the file mixes accounts, ask your AI to split it and import one batch per account. If an account doesn't exist in Pennyweight yet, your AI adds it first. See add a manual account.
- Give an opening balance. A new manual account needs one before its first import saves. See the next section.
- Check the preview. Pennyweight compares every row with what the account already holds and marks it new, a likely duplicate or one that needs a look. See reading an import preview.
- Say yes, then check the result. Your AI saves the rows and reports what was imported and what was skipped. Then work through after you import: balances, transfers and categories.
Before the first import: the opening balance
A manual account's balance is its opening balance plus every transaction in it. So before history goes into a manual account, Pennyweight needs the balance the account had at the start of the period in your file. If the account has none, the preview says so, and the import is refused until you give one. Your AI should ask you for it rather than assume $0.
- Give it when you add the account, or when your AI asks during the import. For a card or loan, give what you owed as a positive number.
- The first import keeps it. When an import sets the opening balance, later imports into the same account don't change it. To correct it, ask your AI. See set or correct an opening balance.
- Accounts added in Settings. An account you add in Settings under Accounts still needs an opening balance before its first import.
- Linked bank accounts don't need one to import older history.
Find your path
Accounting apps
Budgeting and personal-finance apps
Spreadsheets and bank files
- A spreadsheet you kept yourself
- A CSV export from your bank
- OFX, QFX or QBO files
- QIF files
- MT940 or camt.053 statements
Many accounts or years of history
Ask your AI to plan the import first. The plan lists each account in the file, whether it matches an account you already have, and the batches to import, of up to 250 rows each. Planning saves nothing, and it covers up to 100 accounts. If an account already holds imported history, the plan warns you so you don't import the same dates twice. See import years of history across many accounts.
What carries over
Each imported row keeps its date, amount, payee, category text, currency and notes. The category arrives as the text your old app used, as a single label, unless one of your rules matches the row. Your active rules run when an import is saved, and a matching rule's category replaces the one from the file. To keep every category exactly as the file has it, ask your AI to import with rules turned off. See who wins: you, your rules, or the bank.
A row in another currency keeps its own currency code, and its amount is stored as it is, never converted. A row without a category stays uncategorized unless a rule matches it.
What doesn't move
These don't come across with an import. Where Pennyweight has its own version, you set it up again afterwards.
- Invoices, supplier bills, receivables and payables. Pennyweight doesn't keep invoices or supplier bills. The payments are bank and card transactions, and those move.
- Payroll and inventory. Pennyweight has no payroll or inventory records.
- Budgets and targets. Ask your AI to create your budgets again. See set a budget.
- Rules. See rebuild your rules after moving.
- Tags and labels. An imported row carries no tags. Your AI can add tags after the import.
- Attachments and receipts. Imported rows have no place for files, and Pennyweight doesn't store receipt files.
- Category groups. Categories have no parent and child levels in Pennyweight. Each row gets one category label.
- Transaction IDs from your bank or old app, such as the ID in an OFX file. Pennyweight spots duplicates by date, amount, currency and payee instead.
- Splits. A split arrives as whatever rows your export lists, not as a Pennyweight split. You can split a transaction again afterwards. See split a transaction.
- Classes, locations and tracking categories. An imported row has no field for them.
Try it
Here's my export from my old app: monarch.csv. Bring it all in, one account at a time. Show me the preview for each account, then ask me once before importing.
ynab.csv has several accounts in it. Plan the import before you start, and don't import anything yet.
Show me a preview of importing iso.csv into my Holiday Fund account. Don't import anything yet.
What you'll see
For the first prompt, your AI splits the file by its Account column and previews one batch for each account, with counts of new rows and any flagged ones. After you say yes, it saves both batches and reports how many rows went into each account.
For the second, your AI lists each account in the file, how many rows it holds, and which Pennyweight account it would go into. Nothing is saved.
For the third, the preview shows the rows, and it says the Holiday Fund account has no opening balance yet. Your AI asks for the balance at the start of the period before anything can be saved.
Good to know
- Rules made before an import change its categories. If you create rules first, a matching rule replaces the old app's category as each row is saved. Rules you add afterwards change saved rows only when your AI applies them. See rebuild your rules after moving.
- Transfers listed in both accounts. Each side goes into its own account. An import links a pair on its own only when a row is categorized as a transfer and its other side matches it with clear evidence. To link the rest, see link transfers.
- Duplicates are checked in one account. The preview compares rows only with the account you're importing into.
- Direct CSV upload is an advanced route. Pennyweight can also read a CSV file uploaded straight to it, up to 5 MB. It converts dates written another way, such as MM/DD/YYYY, only when your AI names the file's date order. It never guesses the order, and without it any date not written as YYYY-MM-DD blocks the whole file. It doesn't split a file by account or leave out pending rows, so the route above, where your AI reads the file, is the one to use for app exports. See import a CSV.
- Large files go in batches. Your AI sends at most 5,000 rows at a time and states how many rows each batch should have. Pennyweight refuses a batch whose count doesn't match, so a dropped row can't slip through.
- Changed your mind? Your AI can remove every row from one import. Removed rows can be restored one at a time for 30 days. See undo an import.