PainFix
Guide

Usage guide

Turn one account’s transactions into leads for human review, then record your checks and follow-up. A flag is not a fraud finding; no flags does not prove an account is safe.

Quick start

  1. Confirm access. Choose your language at the top right. Only review information covered by the account holder’s consent or valid legal authority, and confirm that truthfully. Being family does not itself grant access. No registration, bank login, or API key is needed. To explore, use the built-in synthetic example without confirming access to a real account.
  2. Import a bank CSV or text-based PDF. Use the bank’s official file and keep the original. Review one account and one currency at a time, with the latest week and earlier history where possible. Processing stays in your browser: no transaction upload or AI. Never enter passwords, verification codes, or full account numbers. CSV headers may be matched automatically, but you must verify the date, description, and amount columns. Use one signed amount column or separate Debit and Credit columns. Before selecting a PDF file, set MDY or DMY if numeric dates are ambiguous. Every PDF with a single Amount column requires an explicit spending-sign convention; separate Debit/Credit PDFs do not require it. After import, select one detected account/table and read missing-page or unsupported-content warnings.
  3. Preview and verify before analysis. CSV two-digit years require an explicit 1900 or 2000 century; a signed amount column also requires checking the spending direction. PDF two-digit or yearless dates are supported only with unambiguous full statement-year evidence in the original; otherwise import is rejected. Review every page of previewed transactions against the original, checking dates, descriptions, directions, and amounts. CSV also itemizes excluded balance/total rows; PDF provides detected tables and warnings, not an excluded-line inventory. Confirm one account, one currency, and agreement with the original before analysis. CSV mapping or parsing changes require a new preview and confirmation. Changing only the large-spending threshold does not; that check reuses the confirmed preview. PDF date-order or spending-convention changes require selecting the file again, then previewing and confirming. Set the large-spending threshold and check the latest seven days. The default 500 is not an official risk standard. Check the result summary’s period, counts, direction, and threshold.
  4. Review each flag. Compare bank records, receipts, and facts the account holder can confirm. Choose “Needs review,” “Confirmed normal,” “Contact bank,” or “Bank follow-up complete,” and add notes and contact dates. These are manual records; they send no messages and do not prove the bank has acted.
  5. Record protections and follow-up. Only mark alerts, account-change notices, representative/guardian authority, and trusted contacts after actually verifying them. The checkboxes do not change bank settings. Contact the bank yourself using its official website or the number on your bank card; record the department, reply, and reference number. “Next review date” creates no reminder or automatic review.
  6. Save before leaving. Download a private JSON backup. For a report, check the print preview and choose a printer or Save as PDF. The page does not autosave; refreshing or closing it may lose work. Restore JSON to continue follow-up next time. New analysis requires importing a bank CSV or supported text-based PDF again, then previewing and confirming it.

Download a practice CSV: 20 entirely fictional transactions
With negative amounts as spending and a threshold of 500, expect 5 flags (20 total transactions, 10 historical). Download and import this file manually. It is separate from the built-in button’s 7-transaction / 4-flag example.

Built-in synthetic example: why are there 4 flags?

Start on a blank page and click “Try synthetic example” to load and analyze fictional data. Back up existing work before considering replacement. The example does not reset a spending direction or threshold you changed; check negative spending and 500, then reanalyze if needed.

The summary should say “Synthetic example — not a real account review”: 7 total transactions, 3 historical, and 4 flags, covering October 3–9, 2026.

2026-10-08 · Electric · −250
Higher than historical pattern. Earlier amounts are 60, 65, and 62; their median is 62. Spending of 250 is strictly greater than three times that median (186). Check the change; this does not establish an unauthorized charge.
2026-10-08 · Unknown recipient · −800
Not in earlier history + reaches the large-spending threshold. This description is absent from the file’s earlier history, and 800 reaches 500. The tool has not identified who received the money.
2026-10-09 · Subscription · −15 (first entry)
Not in earlier history + same-day, same-amount duplicate. Two entries share the date, description, and amount. They could reflect two purchases, duplicate import data, or a duplicate charge; a person must check.
2026-10-09 · Subscription · −15 (second entry)
Also flagged as not in earlier history + same-day, same-amount duplicate. Both entries are listed separately, so they count as two flags.

That is 4 records and 7 reason labels, not 4 fraudulent transactions. Changed merchant descriptions can also trigger flags. For a demo note, use “Synthetic demo; bank not contacted.” Do not present simulated checkboxes as completed bank settings. Restoring a demo JSON also requires confirming access to that fictional data; it does not authorize access to a real account.

CSV/PDF requirements, import verification, and review scope
  • Use a UTF-8, comma-separated CSV with a header, at least 3 columns, and consistent column counts. Allow 1–10,000 transactions, up to 2 MiB (2 × 1024 × 1024 bytes). Automatic header matching is only a starting suggestion; verify it yourself. Use one account and one currency. The tool does not convert currencies, and headers alone cannot establish that an account or currency is consistent.
  • For CSV, use valid ISO YYYY-MM-DD dates, or explicitly select month/day/year (MDY) or day/month/year (DMY). For example, 10/09/2026 means different dates under the two settings; check the original. CSV two-digit years require an explicit 1900 or 2000 century; the tool does not guess it. Timestamps and spreadsheet serial dates are unsupported.
  • Descriptions must be nonempty and at most 500 characters. Select one signed amount column and confirm its spending direction, or map two distinct Debit/spending and Credit/income columns. Separate-column amounts must be nonnegative, with only one nonzero side per transaction. Do not automatically subtract two nonzero columns into a net amount.
  • Use a decimal point and at most two decimal places. Supported currency symbols, parentheses for negatives, spaces between a sign and digits, and trailing minus signs can be recognized, such as - 35.00, (35.00), and 35.00-. Recognizing a symbol does not verify the currency. Thousands commas must be correctly grouped and the CSV cell quoted, such as "-1,234.56". Decimal commas are unsupported. The maximum absolute amount is 1,000,000,000,000. Separate Debit/Credit columns still require nonnegative values and only one nonzero side.
  • The threshold must be greater than zero, with at most two decimal places, up to 1,000,000,000,000. Spending at or above it is flagged. Zero and amounts in the opposite direction do not generate spending flags.

The latest seven days end at the latest date in the selected transactions, starting six days earlier, inclusive—not today on your computer. Only earlier selected records count as history. Backups, other files, and unselected PDF tables do not supply it. An incorrect future date changes the review period.

Without earlier history, only duplicate and large-spending checks run; new-description and historical-pattern comparisons are skipped. Historical-pattern comparison needs at least 3 earlier spending entries with the same description. A monthly bill generally needs at least 3 earlier monthly payments. Description matching only normalizes case and whitespace, not identity using AI. Duplicates match date, description, and amount. The flag count is not an unresolved-item count.

Limits of text-based PDF support

  1. You may try a bank PDF with extractable text, up to 10 MiB (10 × 1024 × 1024 bytes) and 30 pages. Before selecting the file, explicitly choose MDY or DMY for ambiguous numeric dates. Every single-Amount-column PDF requires an explicit spending-sign convention; separate Debit/Credit PDFs may omit it. After changing these settings, select the file again. PDF two-digit or yearless dates require unambiguous full statement-year evidence; otherwise import is rejected. The tool attempts to identify transaction tables; it does not promise support for every bank or PDF format, or complete extraction of an entire statement.
  2. If several accounts or tables are detected, select only the account/table you intend to review. Read warnings such as missing pages or unsupported content, and review every page of the selected transaction preview. PDF does not provide an excluded-line inventory; itemized excluded balance/total rows are a CSV feature. Extracting some transactions does not establish that the statement is complete. Do not confirm analysis if you cannot verify dates, directions, amounts, or completeness.
  3. Scanned, encrypted, or ambiguously structured PDFs are rejected with a request to use bank CSV instead. There is no OCR. Request a CSV from the bank, or manually prepare authorized data in a local spreadsheet and verify each row against the original before exporting UTF-8 CSV. Renaming a file extension does not convert it. Do not upload private transactions to a cloud converter for this task.
Permission, privacy, and what this tool cannot do

The access checkbox does not grant legal authority, verify a representative, or register a relationship with the bank. A trusted contact is not permission to move money or access the account. Only record checks that actually happened.

Transactions and follow-up records are processed in the current page, without transaction uploads or AI calls. Opening the site still loads website resources; this is not a promise of fully offline use or protection against a compromised device or browser extension. Use a private, protected device, and never enter bank passwords, verification codes, or full account numbers.

The tool does not connect to banks, read email, continuously monitor accounts, transfer money, freeze or block funds, contact banks automatically, or guarantee recovery. It cannot determine who made a transaction, whether authority is valid, a person’s capacity, fraud, or legal responsibility. The account holder or authorized representative must separately verify account changes and representative permissions with the bank.

For unfamiliar activity, contact an appropriate bank department using the official website or the number on the bank card, and record facts. Flags are leads for human review; zero flags is not proof of safety.

Backups, restoration, reports, and replacing existing work

JSON backups are not encrypted. They contain flagged transactions and reasons, import/review warnings, manual statuses/notes, protection checks, bank logs, next review date, and review metadata. They do not include raw CSV/PDF files, full details of unflagged transactions, access confirmation, or column mappings. Keep the original bank file and backup separately in safe locations; do not share them publicly or place them in unmanaged shared folders.

The page does not persistently autosave. Refreshing, closing, or device failure may lose unsaved work; browsers can also retain sessions, so closing the page is not secure deletion. Downloads, sync services, device backups, and print services may retain other copies.

To restore, confirm authorized access and select a JSON backup made by this tool (up to 2 MiB, not an arbitrary JSON file). A successful restore keeps saved follow-up and backed-up review warnings, clears bank inputs, mappings, and the import preview, and uses your current page language. A failed restore preserves previous results. Missing metadata in older backups is shown as unknown; restoration does not recheck transactions.

Back up before deciding to replace. Import, preview, or validation failures do not clear your previous review or notes, and previous results are not presented as results for new input. After new input produces a valid analysis, replacing existing work still requires confirmation; canceling preserves the previous review. Accepting clears old flag statuses, notes, protection checks, bank logs, and the next date. After JSON restoration, importing even the same file is a new analysis. Restored or cross-week records are not automatically merged.

The report contains the summary, rules/limits, all flagged entries with statuses and full notes, protection checks, bank logs, and next date. It is not a full bank statement and does not attach raw CSV/PDF files or all unflagged transactions. The button opens the native print dialog; choose a printer or Save as PDF and check pages, long-note endings, and sensitive content in the preview. Saving a PDF does not mean it was physically printed or sent to the bank. Dialog behavior varies by browser and system.

Troubleshooting and safe next steps
Asked to confirm authorized access
Only confirm if you genuinely have consent or legal authority; do not tick it just to dismiss an error. Use the built-in synthetic example to explore.
Unreadable text, unreadable file, or inconsistent columns
For CSV, check UTF-8, the 2 MiB / 10,000-transaction limits, headers, column counts, and quotes around comma-containing fields. For PDF, check the 10 MiB / 30-page limits. Use bank CSV for scanned, encrypted, or unreliably recognized PDFs. Renaming an extension does not convert a file.
Invalid date or amount
For CSV, confirm ISO, MDY, or DMY, remove times, and choose the correct century for two-digit years. Before selecting a PDF, set MDY/DMY for ambiguous numeric dates and always choose a spending-sign convention for a single Amount column; separate columns do not require it. Use bank CSV when PDF two-digit or yearless dates lack clear full statement-year evidence. Select the PDF again after changing its settings. Use a decimal point, at most two decimal places, and correct thousands grouping—not decimal commas. Debit/Credit rows allow only one nonzero side, with no negative values. Check the original; do not guess dates or net amounts just to pass import.
No historical comparison, or an unexpected period
Include earlier history in the selected transactions; pattern comparisons need at least 3 earlier spending entries with the same description. Other PDF accounts/tables are not merged automatically. Check for stale data or an incorrect future date. This is not live monitoring.
Changed settings still show old results, or too many flags
After CSV mapping or parsing changes, generate a new preview. A threshold-only change reuses the confirmed preview. After PDF date-order or spending-convention changes, select the file again. Verify every page of the new preview and confirm before analysis. Check history coverage, spending direction, and threshold, and read the replacement confirmation. Do not delete real transactions to remove flags. Previous results may remain visible until the new review is complete; read the page’s explanation.
Cannot reanalyze after restoring, or worried about lost notes
JSON contains no original CSV/PDF. Import the bank file again, verify mappings or the selected PDF table, then preview and confirm. Download a backup before a new review or replacement. Old work is not automatically merged.
No reminder or PDF arrives
The next date is only a record; set your own reminder. Choose Save as PDF in the print dialog; canceling it creates no report file.
Backup exceeds 2 MB
The tool blocks a backup that would be too large to restore. Save a complete report first, then decide whether to reduce notes or review smaller batches. Do not simply discard records.

Return to import and check