Upload

Upload workflow

Import PDFs, images, CSV, or Excel and process them correctly.

Updated: 2026-02-18

Before you start

  • Correct entity type confirmed before uploading
  • Processing mode chosen before selecting files
  • Source files ready in a supported format

Open related features

Layered workflow

Layer 1: Intake decisions

  • Choose Standard mode for privacy-first deterministic parsing — no data is sent to AI.
  • Choose AI mode only when document complexity requires it and you accept the consent notice.
  • Confirm entity type before every upload session.

Layer 2: Controlled processing

  • Upload in logical batches so failures are easy to isolate and reprocess.
  • Wait for the completion summary before leaving the upload page — it shows extracted row counts and any failed files.

Layer 3: Validation handoff

  • Move directly to Review after every upload session.
  • Correct uncertain categories and outlier amounts before your next upload batch.

Supported file types

Numwisely accepts PDF, CSV, XLS, XLSX, PNG, JPG, JPEG, and WEBP files. The most reliable results come from digital PDFs (exported directly from your bank or accounting software) and well-formatted CSV exports.

  • PDF: bank statements, invoices, receipts — digital or scanned.
  • CSV / Excel: structured transaction exports from online banking or accounting software.
  • Images (PNG, JPG, JPEG, WEBP): scanned receipts or photographed documents.
  • Not supported: password-protected PDFs, corrupt files, or proprietary binary formats.

Choosing the right processing mode

Standard mode (also called OCR mode) uses PaddleOCR text recognition and a deterministic multilingual parsing engine to extract transactions. No data is sent to any external AI service. This is the default for most documents and the best choice for privacy-conscious users.

AI mode uses OpenAI's language model to interpret document text. It handles complex layouts, mixed languages, and handwritten notes better than the deterministic parser. AI mode requires you to accept a consent notice before the upload begins, because document text is sent to OpenAI for processing.

  • Standard mode: ideal for typed bank statements, clean CSV exports, and structured receipts.
  • AI mode: better for scanned handwritten receipts, unusual layouts, and documents where Standard mode produces many fallback categories.
  • If you are unsure, start with Standard mode. Switch to AI mode only if the review results are too inaccurate to fix manually.

What Standard mode does step by step

When you upload a file in Standard mode, the following happens in sequence: (1) The file is sent to the OCR service which extracts raw text from each page, including confidence scores per detected text region. (2) The extracted text is passed to the deterministic parser, which identifies dates, amounts, and descriptions using date-anchored multi-line clustering. (3) Each transaction description is matched against the multilingual merchant dictionary (covering 10 languages and hundreds of global and regional brands) to assign a category. (4) Transactions are saved to your workspace with their category, amount, date, and a confidence score. (5) You receive a completion summary.

What AI mode does step by step

AI mode follows the same file intake and OCR extraction steps, but instead of the deterministic parser, the extracted text is sent to OpenAI GPT-4.1 mini with a structured prompt. The model returns a JSON array of expenses and income with categories, amounts, and dates already assigned. The results are normalized to canonical categories before being saved, so AI-generated output and Standard mode output are always compatible.

Completing an upload and reviewing results

After uploading, each file is tracked as a processing job. The upload page shows a progress indicator and then a completion summary with the number of expenses extracted, income rows extracted, and any files that failed to process.

Move to the Review page immediately after upload. Categories marked as "unsure" (for expenses) or "other income" (for income) are fallback values — they mean the parser could not confidently identify the merchant or transaction type. These require manual correction in Review.