Skip to content

ahobitt/scout-reimbursement-pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scout Reimbursement Pro ⚜️

Scout Reimbursement Pro is an enterprise-grade WordPress plugin designed for scout groups and non-profit organisations. It automates the entire expense reimbursement process, from scanning receipts on a mobile device to the final payment by the treasurer.

✨ Key Features

  • 📸 Mobile-First Scanning: Capture receipts directly with your smartphone camera via the web browser.
  • Client-Side Compression: Images are compressed (Canvas-based) before upload. This saves bandwidth and prevents server-side memory issues.
  • 🔒 Security-First Storage: Receipts are stored in a protected directory with randomized filenames and .htaccess execution protection.
  • 📧 Automated Workflow:
    • Submission: User submits a form via Contact Form 7.
    • Approval: Board members receive an email with one-click "Approve" or "Reject" links.
    • Payment: Upon approval, the treasurer is notified with bank details and receipt links.
  • 📄 Audit-Ready Reports: Generate yearly reports where each page is digitally "stamped" with the approval and payment status.
  • 📊 Admin Dashboard: A clean interface with status pills (Pending, Approved, Paid, Rejected) and category statistics.

🚀 Installation

  1. Prerequisites: Ensure Contact Form 7 is installed and active.

  2. Download: Clone this repository into your /wp-content/plugins/

  3. Activate: Go to the WordPress Admin > Plugins and activate Scout Reimbursement Pro.

  4. Configure: Navigate to Pfadi-Kasse > Settings to set up your board and treasurer email addresses.

🛠 Usage & Configuration

1. Form Setup

The plugin automatically creates a form named "Pfadi-Abrechnung Pro". If you want to build your own, ensure you use the following placeholder for the secure upload field:

[scout_upload_placeholder]

2. Email Tags

You can use these custom tags in your Contact Form 7 email templates:

  • [scout_upload_list]: A list of secure URLs to the uploaded receipts.

  • [approve_link]: The one-click approval URL.

  • [reject_link]: The one-click rejection URL.

3. Recommended CF7 Template (auto genereated)

Name [text* your-name]
Email [email* your-email]

Purpose [text* your-subject]

Category [select* art "Material" "Camp" "Trip" "Training"]
Amount (€) [number* Betrag step:0.01]

Receipts & Photos[scout_upload_placeholder]

[submit "Submit Reimbursement"]

🛡 Security Concept

To protect sensitive financial data and your server, this plugin implements:

  • MIME-Type Sniffing: Verifies file contents via finfo, not just file extensions.

  • Filename Randomization: Prevents predictable file paths and "Directory Traversal" attacks.

  • Directory Protection: A custom .htaccess in the upload folder denies script execution (PHP, Python, etc.).

  • Data Portability: Stores relative paths in the database to ensure the plugin works even after site migrations.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

📄 License

This project is licensed under the GPLv2 or later License - see the LICENSE.txt file for details.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors