Releases: LevMuchnik/Receiptory
Releases · LevMuchnik/Receiptory
v1.2.0
Full Changelog: v1.1.0...v1.2.0
v1.1.0 — URL Ingestion & Category Manager
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_urlfield 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
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.