Skip to content

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

    Create Your Dockerfile

    Create a Dockerfile in your repository:

    FROM noah231515/receipt-wrangler:latest
    # Environment configuration
    ENV PORT=9082
    # Expose the web interface
    EXPOSE 9082
    # Volume for data persistence
    VOLUME /data

    Push 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:

    • Select HTTP as the traffic type
    • Set the internal port to 9082

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    PORT9082
    DATABASE_TYPEpostgresql or sqlite
    DATABASE_HOSTYour database host (if using PostgreSQL)
    DATABASE_NAMEreceipt_wrangler
    DATABASE_USERYour database username
    DATABASE_PASSWORDYour database password
    SECRET_KEYA secure random string
    ENCRYPTION_KEYA 32-byte encryption key

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /data20 GBReceipt images and database (if SQLite)
    /data/receipts20 GBUploaded 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

  1. Click “Upload Receipt”
  2. Take a photo or upload an image
  3. Receipt Wrangler processes the image with OCR
  4. Review and edit extracted information
  5. Save to your library

Categories and Tags

Organize your receipts:

  1. Create categories (Food, Transportation, Office Supplies, etc.)
  2. Add custom tags for additional filtering
  3. Set default categories for quick processing
  4. Filter by category/tag in the receipt list

Expense Reports

Generate expense reports:

  1. Select receipts to include
  2. Create a receipt group
  3. Add notes and descriptions
  4. 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.