Deploying Receipt Wrangler
Introduction
Receipt Wrangler is a self-hosted receipt management and expense tracking application that uses OCR technology to automatically extract information from receipt images. Perfect for personal finance tracking or small business expense management, it digitizes your paper receipts and organizes expense data.
Key features of Receipt Wrangler include:
- OCR Processing: Automatic text extraction from receipt images
- Smart Parsing: Extract merchant, date, total, and line items
- Category Management: Organize receipts by custom categories
- Tag System: Flexible tagging for additional organization
- Multi-User Support: Share expense tracking with family or team
- Receipt Groups: Combine related receipts for expense reports
- Export Options: Export data for tax preparation or reporting
- Mobile Friendly: Upload receipts directly from your phone
- API Access: Integrate with other financial tools
- AI Integration: Optional AI-powered parsing for improved accuracy
This guide walks through deploying Receipt Wrangler on Klutch.sh using Docker and setting up your expense tracking system.
Prerequisites
Before deploying Receipt Wrangler on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Receipt Wrangler configuration
- A PostgreSQL or SQLite database
- Basic familiarity with Docker
Deploying Receipt Wrangler on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 9082
Create Your Dockerfile
Create a Dockerfile in your repository:
FROM noah231515/receipt-wrangler:latest
# Environment configurationENV PORT=9082
# Expose the web interfaceEXPOSE 9082
# Volume for data persistenceVOLUME /dataPush Your Repository to GitHub
Commit and push your Dockerfile to your GitHub repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project named “receipt-wrangler”.
Create a New App
Create a new app within your project and connect your GitHub repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
PORT | 9082 |
DATABASE_TYPE | postgresql or sqlite |
DATABASE_HOST | Your database host (if using PostgreSQL) |
DATABASE_NAME | receipt_wrangler |
DATABASE_USER | Your database username |
DATABASE_PASSWORD | Your database password |
SECRET_KEY | A secure random string |
ENCRYPTION_KEY | A 32-byte encryption key |
Attach Persistent Volumes
Add persistent storage:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 20 GB | Receipt images and database (if SQLite) |
/data/receipts | 20 GB | Uploaded receipt images |
Deploy Your Application
Click Deploy to build and start your Receipt Wrangler instance.
Access Receipt Wrangler
Once deployment completes, access your instance at https://your-app-name.klutch.sh. Create your account on first visit.
Using Receipt Wrangler
Uploading Receipts
- Click “Upload Receipt”
- Take a photo or upload an image
- Receipt Wrangler processes the image with OCR
- Review and edit extracted information
- Save to your library
Categories and Tags
Organize your receipts:
- Create categories (Food, Transportation, Office Supplies, etc.)
- Add custom tags for additional filtering
- Set default categories for quick processing
- Filter by category/tag in the receipt list
Expense Reports
Generate expense reports:
- Select receipts to include
- Create a receipt group
- Add notes and descriptions
- Export as PDF or CSV
Additional Resources
Conclusion
Deploying Receipt Wrangler on Klutch.sh provides a self-hosted expense tracking solution with automatic builds, persistent storage, and secure HTTPS access. Digitize your paper receipts, track expenses, and generate reports while keeping your financial data private.