Skip to content

Releases: LevMuchnik/Receiptory

v1.2.0

08 Apr 20:55

Choose a tag to compare

v1.1.0 — URL Ingestion & Category Manager

03 Apr 15:02

Choose a tag to compare

Receiptory v1.1.0

New Features

URL-Based Document Ingestion

  • Telegram: send a text message with receipt/invoice URLs — the bot uses LLM triage to identify document links, fetches them, and ingests automatically
  • Email: emails with URLs in the body are analyzed by LLM to determine whether to ingest attachments, URLs, or both
  • Smart fetch pipeline: direct HTTP download → HTML link scanning → headless Chromium (Playwright) for JS-rendered receipt portals
  • Auth wall detection: login-gated URLs are captured as PDF and flagged for manual review
  • Mobile User-Agent: fetches use a mobile browser identity since many receipt links are mobile-only
  • SSRF protection: blocks requests to private/internal network addresses

Category Manager Redesign

  • Sortable table replaces the old card-based list — proper aligned columns for name, description, and document count
  • Drag-and-drop reordering via grab handles, with up/down arrow buttons as fallback
  • Inline editing — click any name or description cell to edit in place
  • Document count per category shown in the table
  • 27 default categories covering business and personal expenses

Other Improvements

  • Refresh button in the document browser toolbar
  • source_url field tracks where URL-fetched documents came from

Tech Stack Additions

  • Playwright (headless Chromium) for JS-rendered receipt pages
  • BeautifulSoup4 for HTML link scanning
  • @dnd-kit for drag-and-drop category reordering

v1.0.0 — Initial Release

02 Apr 13:45

Choose a tag to compare

Receiptory v1.0.0

Self-hosted receipt, invoice, and document management for self-employed
professionals.

Highlights

  • LLM-powered extraction — automatic vendor detection, amount parsing, tax
    ID matching, and classification via litellm (Gemini, OpenAI, Anthropic, and
    more)
  • Multiple ingestion channels — web drag-and-drop upload, Gmail IMAP
    polling, Telegram bot, mobile document scanner, watched folder
  • Mobile scanner — live boundary detection, perspective correction,
    multi-page PDF assembly (Android)
  • Full-text search — SQLite FTS5 with prefix matching across vendor names,
    descriptions, filenames, and extracted text
  • Cloud backup — Google Drive and OneDrive via OAuth with configurable
    retention (daily/weekly/monthly/quarterly)
  • Export — ZIP with category-organized PDFs, CSV, and Excel metadata
  • Dark theme — light, dark, and system-follow modes
  • Notifications — Telegram and email alerts for processing results and
    backup status
  • Single Docker container — deploy with docker compose up -d --build

Tech Stack

Python 3.12 · FastAPI · SQLite (WAL + FTS5) · React 18 · TypeScript · Vite ·
Tailwind CSS v4 · shadcn/ui · litellm · PyMuPDF · rclone

Getting Started

git clone https://github.com/LevMuchnik/Receiptory.git
cd Receiptory
cp .env.example .env
# Set RECEIPTORY_LLM_API_KEY in .env
docker compose up -d --build

Open http://localhost:8484 — default login: admin / admin

See the https://github.com/LevMuchnik/Receiptory#readme for full
documentation.