PDF Import

Upload bank statements for AI-powered transaction extraction

How It Works

Upload a PDF bank statement and the system handles the rest. Text extraction is performed using pdfplumber with an OCR fallback for scanned documents. The extracted text is then sent to Claude AI (Haiku) which parses it into structured transactions. Each extracted transaction becomes a double-entry journal entry in your ledger, automatically categorized using your category rules and AI.

Uploading a Statement

Go to the PDF Upload page and click "Choose File" to select your bank statement PDF. The system processes the file and displays a summary showing:

Upload History

View all past uploads from the PDF Upload page. Each upload shows its status (processing, completed, or failed), the detected institution name, the transaction count, and timestamps for when the upload was created and completed.

Supported Formats

PDF Import works with most US bank statement PDFs. The AI adapts to different statement layouts automatically, so no manual template configuration is needed. Supported statement types include:

Duplicate Prevention

If a transaction from a PDF matches one already in the ledger -- whether from Plaid sync or a previous upload -- it is automatically skipped. The deduplication system matches on date (+-1 day tolerance), amount, and description word similarity using a threshold of 0.3. This means you can upload overlapping statements without creating duplicate entries.

Tip

PDF Import is great for backfilling historical data before your Plaid connection was set up. For ongoing transactions, Plaid sync is recommended as the primary data source.