💰 PennyParser

Welcome to PennyParser 👋

Stop wasting time with manual entry or unreliable bank connectors that frequently fail. PennyParser puts you in control: you verify your own bank accounts and simply provide a screenshot. Our AI parses the data for you instantly, saving you time and hassle.

🌟 What can you do with PennyParser?

  • 📅 Annual Income Insights: Track exactly how much you earned in 2025 across all salary deposits.
  • 🔍 Deep Transaction Search: Find that cheap "Spirit" flight from 2023 in seconds, even if you forgot which card you used.
  • 💰 Cashback Aggregation: Total up your rewards and cashback across all accounts to see your real savings.
  • 📈 Investment Monitoring: Track gains/losses for your 401k, IRA, or 529 plans without the manual math.
  • 🍔 Spending Breakdowns: Instantly see how much you spend on groceries, gas, or dining out every month.
  • 🛡️ Subscription Audit: Identify forgotten subscriptions that are silently draining your balance.

This guide walks you through everything from logging in for the first time to exporting your data to Excel.

1. Your First Time: Setting Up From Scratch

When you open PennyParser for the first time, you start with a completely clean slate — no examples, no dummy data.

Step 1 — Log In

Open the app URL in your browser. You'll see the PennyParser login card with two fields:

  • Email — the address you registered with.
  • Password — your chosen password.

Click Sign In to continue. If this is your first time, click Sign Up to create a free account.

The PennyParser login screen showing Email and Password fields with a purple Sign In button on a purple gradient background.
The PennyParser login screen. Enter your Email and Password, then click Sign In. New to the app? Click Sign Up to create a free account.

Step 2 — Create Your First Account

After logging in, the Accounts sidebar will show: "No accounts found. Create your first account →"

  1. Click that link (or navigate to Accounts in the top menu).
  2. Click the "+ Add Account" button.
  3. Fill in: Account Name (e.g., "My Checking Account"), Starting Balance (the amount currently in the account), and Currency (USD, EUR, UAH, GBP, etc.).
  4. Click Save.
ℹ️
What is a "Starting Balance"? This is the amount currently sitting in your account before you start importing history. It anchors all future balance calculations so the numbers stay accurate.
The Add Account form showing fields for Account Name, Starting Balance, and Currency.
The Add Account form. Fill in your account name, its current balance, and currency, then click Save.
💡
Pro Tip — Start with your most active account. You can always add more accounts later. The app does not require you to set up everything before you begin importing.

2. Your Daily Workflow: Importing Transactions

The fastest way to add transactions is to paste a screenshot directly from your clipboard.

Step 1 — Take a Screenshot of Your Bank Statement

Open your bank's app or website and take a screenshot of your transaction list. Any standard bank statement view will work — the AI handles tables from virtually every major bank.

Step 2 — Paste the Screenshot (Ctrl+V)

  1. Navigate to the Import page (the home screen).
  2. Select your account from the "Select Account" dropdown at the top.
  3. Press Ctrl+V anywhere on the page. Alternatively, drag-and-drop an image file, or click "Choose File".
  4. Wait 2–5 seconds while Google Gemini AI reads your screenshot.
The Import page showing a loading spinner while Gemini AI processes a pasted bank screenshot.
After pressing Ctrl+V, the AI gets to work. The spinner means your screenshot is being read — this takes 2–5 seconds.

Step 3 — Review the Results

Once processing is complete, a table of extracted transactions appears. Each row shows:

Field What it means
Date Transaction date read from the screenshot
Description Merchant or transfer name
Amount Negative = money out, positive = money in
Category AI's best guess (e.g., Groceries, Transport)
Type Expense, Income, or Transfer
☑ Checkbox Tick this to include the transaction when you save
⚠️
Watch for the orange "Duplicate" badge! If a transaction already exists in your history, the app flags it. You can still save it by force if needed, but usually you'll want to skip duplicates.
The transaction review table showing parsed rows with dates, descriptions, AI-suggested categories, and an orange Duplicate badge on one row.
Gemini reads your screenshot and fills in the table automatically. The orange Duplicate badge means that transaction is already in your history — you can safely uncheck it.

Step 4 — Save Your Transactions

  1. Review each row. Uncheck any transactions you don't want to save (e.g., known duplicates).
  2. Optionally edit a row by clicking any field (see Section 3).
  3. Click "Save Selected".

Your transactions are now saved and your account balance updates automatically.


3. Reviewing & Editing Your Transactions

Editing Directly on the Import Page

Click on any field in the import review table to edit it inline before saving — useful for correcting a description the AI misread or changing a category.

  • After saving an edit, the updated row briefly glows with a soft pulse for 1 second — confirming your change was applied.
  • The page stays at your current scroll position so you don't lose your place.
The import table with one row glowing with a soft orange highlight after being edited.
The soft glow confirms your edit was saved. It fades after 1 second so it never gets in the way.

Editing a Saved Transaction (View Page)

  1. Go to the View page.
  2. Find the transaction (use the search or filter bar if needed).
  3. Click the ✏ Edit icon on the row.
  4. A pop-up modal opens — change Description, Date, Amount, Source/Destination Account, Category, or Type.
  5. Click Save Changes.
⚠️
Duplicate Warning: If your edited transaction matches one that already exists, the app shows a warning. You can choose to force-save or cancel.

To permanently remove a transaction, click the "Delete" button inside the edit modal and confirm.

The Edit Transaction modal showing fields for Description, Date, Amount, Source Account, Destination Account, Category, Type, and a Delete button at the bottom.
The Edit Transaction modal. Change any field and click Save Changes. The Delete button at the bottom permanently removes the transaction.

4. Smart Autocomplete: Save Time Typing

When you type in a Description field (in the import table or any edit modal), the app offers intelligent suggestions based on your own transaction history.

  • The dropdown shows up to 7 suggestions, ranked by how frequently you've used them.
  • Ranking looks at every word in a description — typing "Vodafone" surfaces all past entries containing that word, even if the billing month differs.
  • Pure numbers (date codes like 202601) don't inflate rankings, so relevant descriptions always rise to the top.
Key Action
/ Move through suggestions
Enter Select the highlighted suggestion
Esc Close the dropdown
A Description input field with an autocomplete dropdown open showing seven suggestions, the first one highlighted.
As you type, matching suggestions from your history appear instantly. Use the arrow keys to navigate and Enter to select.

5. Advanced Features

5.1 Multi-Currency Transactions

If you have accounts in different currencies (e.g., a USD checking account and a UAH debit card), PennyParser handles the math automatically.

  1. Open the edit or add transaction modal.
  2. Select a Source Account in one currency and a Destination Account in another.
  3. Currency symbols update dynamically next to each amount field (e.g., $ and ).
  4. To enter a precise exchange rate, click the "Unlock" 🔓 icon — this lets you type exact source and destination amounts independently.
  5. The app displays the effective exchange rate in real time.
The Add Transaction modal showing a UAH source account with a ₴ symbol and a USD destination account with a $ symbol, plus an Unlock icon between the amount fields.
When transferring between accounts in different currencies, the app shows the correct symbol next to each amount. Click Unlock 🔓 to enter a precise exchange rate.

The Filtered Sum footer at the bottom of the transaction table shows a currency-specific total for single-currency filters, or a USD equivalent total when viewing a mix of currencies.

The transaction table footer showing a Filtered Sum total in USD for a multi-currency view.
The Filtered Sum updates instantly as you change filters. When multiple currencies are in view, it converts everything to USD for a single total.

5.2 Tracking Investments (Gain / Loss)

For investment accounts (e.g., a 401k or brokerage), the balance changes due to market fluctuations. Use the dedicated Update Balance feature instead of importing statements.

  1. Go to the View page and find your investment account in the left sidebar.
  2. Hover over the account — an "Update Balance" button appears.
  3. Click it. A modal opens showing your current recorded balance pre-filled.
  4. Type in the new current balance from your brokerage today.
  5. The app calculates the gain or loss, creates an "Investment Adjustment" transaction, and updates your balance automatically.
💡
Pro Tip — Update balances periodically. No need to import brokerage statement screenshots. Just open the app monthly and update the balance directly for a quick picture of your net worth.
The Update Balance modal for an investment account, showing the current balance pre-filled and a gain/loss change preview.
The Update Balance modal pre-fills today's recorded balance. Type the new value and the app calculates the gain or loss automatically.

5.3 Exporting to Excel

  1. Go to the View page.
  2. Click the "Export" button in the toolbar.
  3. Wait while the file is prepared (a loading indicator appears).
  4. Your browser downloads a .xlsx file with all transactions, accounts, and categories.
The View page toolbar showing the Export button with a loading spinner while the Excel file is being prepared.
Click Export and a .xlsx file downloads automatically. The spinner shows while the file is being prepared.

6. Collaboration: Groups & Invite Codes

PennyParser supports shared group ledgers — useful for tracking household or family finances together.

Joining a Group

  1. Navigate to Groups (via the top menu, or More → Groups on mobile).
  2. In the "Join a Group" section, paste the Invite Code you received.
  3. Click Join.

Once joined, the app works entirely in group mode — all your transactions, accounts, and imports are shared with the group. A blue "Viewing Shared Data" banner appears at the top of every page as a reminder.

⚠️
Group membership is permanent until you leave. There is no toggle between personal and group data. Once you join a group, you use the app as a group member until you either Leave the group (from the Groups page) or, if you are the owner and the group is empty, Decommission it entirely.
The Groups page showing the Join a Group section with an invite code input field, and a blue Viewing Shared Data banner at the top of the page.
Paste the invite code into the Join a Group field and click Join. The blue banner at the top confirms you are now working in group mode.

Inviting Others (Group Owners Only)

  1. Go to Groups.
  2. Find the "My Group & Invite" section.
  3. Click "Generate Invite Code".
  4. Share the code — it grants access to your shared ledger.
⚠️
Important: Each user can only belong to one group at a time. If you are an active group owner with existing members, the option to join a different group will be greyed out.
The Groups page owner view showing the My Group and Invite section with a generated invite code in a text box and a list of current members below.
As the group owner, the My Group & Invite section lets you generate a one-time invite code to share with a new member.

7. Viewing Your Data

Filtering Transactions

The View page gives you powerful ways to slice your data:

  • Account filter — Click an account in the left sidebar to show only that account's transactions.
  • Multiple accounts — Hold Ctrl (or on Mac) and click to select multiple accounts at once.
  • Date range — Use the Timeframe buttons (Day / Week / Month / Year) or enter custom start/end dates.
  • Category filter — Select one or more categories to focus on specific spending types (e.g., "Groceries" + "Dining Out").
  • Type filter — Filter by Income, Expense, or Transfer only.

Understanding the Summary Footer

At the bottom of the transaction table, a persistent footer shows Total Expenses (money out) and Total Income (money in) based on your active filters.

💡
Pro Tip — Use the Month filter every pay period. Set the date range to the current month and filter by your main account to get a quick snapshot of your spending vs. income.
The View page showing the accounts sidebar on the left with balances, the transaction table in the centre with active category filters, and an Expense and Income summary footer at the bottom.
The View page at a glance: accounts and balances on the left, filtered transactions in the centre, and a running expense/income total at the bottom.

🔒
Security & Privacy: For your protection, PennyParser automatically logs you out after 30 minutes of inactivity. Additionally, all data in the database is fully encrypted at rest, and we enforce strict per-user data separation to ensure your financial information remains private and accessible only to you.