Beskrivelse
Scout Reimbursement Pro is a complete expense reimbursement system built specifically for scout groups, youth organizations, and non-profit associations. It solves a common problem in volunteer work: members advance money out of pocket — for camp supplies, craft materials, or travel costs — and then have to submit receipts manually via email. This plugin makes the entire process digital, transparent, and secure.
How it works
- A member fills out the Contact Form 7 form on your website and uploads receipts (photos or PDFs) directly from their phone.
- The board receives an email with all details and a one-click approval link.
- After approval, the treasurer automatically receives a structured payment email with IBAN suffix, amount, and receipt files.
- Once the treasurer has processed the payment, they mark it as «Paid» via a link — the applicant is notified automatically.
- The WordPress admin can monitor all submissions, status changes, and annual summaries in the backend at any time.
Key Features
Mobile-optimised file upload
The upload area is optimised for smartphone use. Members can take a photo of a receipt with their camera or upload an existing file (JPG, PNG, PDF). Multiple receipts per submission are supported.
Client-side image compression
Before uploading, photos are automatically compressed in the browser to a maximum of 1600×1600 pixels at 80% quality. This saves server capacity and speeds up uploads significantly — especially important with poor mobile connections at camps.
Secure file storage
All uploaded receipts are stored in a protected directory outside the public WordPress uploads folder. An .htaccess file prevents direct external access and script execution — files are only accessible to administrators.
Email-based approval workflow
The entire approval process runs via email links — board members and the treasurer do not need to log into the WordPress backend. Each link is secured with a cryptographically secure random token and can only be used meaningfully once.
Three-stage status system
Each submission passes through the stages «Open» «Approved» «Paid». Backward status changes are blocked — an already approved submission cannot be reversed via the email links. Administrators can reject any non-paid submission directly from the WordPress backend, even after approval (e.g. for duplicate receipts), with an optional reason sent to the applicant.
Automatic receipt numbers
Every approved submission automatically receives a sequential receipt number (N-1, N-2, …), which serves as an immutable reference for the association’s bookkeeping.
Annual report and print function
All approved and paid receipts for a given year can be output as a print-optimised overview — with a digital stamp (PAID / APPROVED), date, and all associated files. Ideal for the annual general meeting or your accountant.
Category statistics
The backend includes a statistics view that breaks down expenses by category (e.g. «Travel», «Materials», «Camp costs») and shows the annual total. Data is cached to keep database load minimal.
Retrospective file upload
Administrators can add further receipts to an existing submission via the backend — for example when a paper receipt arrives by post.
Security
- All form inputs are sanitized before database storage
- All output is context-appropriately escaped (
esc_html,esc_attr,esc_url) - Admin actions are protected with WordPress nonces
- Email links use cryptographically secure tokens (20 characters, alphanumeric)
- Database queries exclusively via
$wpdb->prepare() - File upload exclusively via
wp_handle_upload()— no direct use ofmove_uploaded_file() - Allowed file types are server-side restricted to JPG, PNG, GIF, and PDF
- Maximum file size: 10 MB per file
Requirements
- WordPress 5.8 or later
- PHP 7.4 or later
- Contact Form 7 (must be installed and active)
- A configured reimbursement form in Contact Form 7 with the correct field names
Supported Languages
The plugin is fully prepared for translation (all strings internationalized via __() and _e(), text domain: scout-reimbursement-pro). The default backend language is German; a complete English (en_US) translation is included.
Skjermbilder






Installasjon
- Upload the plugin folder
scout-reimbursement-proto the/wp-content/plugins/directory. - Activate the plugin through the «Plugins» menu in the WordPress backend.
- Make sure Contact Form 7 is installed and active.
- Go to Pfadi-Kasse Settings and enter:
- The board’s email address (receives new submissions and approval links)
- The treasurer’s email address (receives payment instructions after approval)
- The Contact Form 7 form ID for reimbursements
- Create a Contact Form 7 form with the fields
your-name,your-email,your-subject,art,teilnehmer,von,bis,Betrag,IBAN, andyour-message. - Add the tags
[approve_link]and[reject_link]to the Contact Form 7 email template — the plugin populates these automatically with secure action links. - Embed the form on any WordPress page using the shortcode.
After configuration the plugin is fully ready to use.
Ofte stilte spørsmål
-
Do I need a special hosting environment?
-
No. The plugin works on any standard WordPress hosting with PHP 7.4+ and
wp_mail()enabled. An Apache web server is recommended for the.htaccessprotection of the upload directory. On Nginx servers the directory protection must be configured manually. -
Where are the receipt files stored?
-
Files are stored in the WordPress uploads directory under
wp-content/uploads/scout-receipts/, organised by year and month. The directory is protected from direct access by an.htaccessfile. -
Can users without a WordPress account submit requests?
-
Yes. The submission form is a public Contact Form 7 form and requires no login. Only the approval and payment links are protected by secure tokens.
-
What happens if someone tries to use a link twice?
-
The plugin prevents duplicate status changes server-side. An approval link can only approve a submission once — on the second click an informational message is displayed. The same applies to rejections and payment confirmations.
-
Can I use the plugin without Contact Form 7?
-
No. The submission process is tightly coupled to Contact Form 7. The plugin is designed as a CF7 extension and requires its submission API.
-
Are emails sent via WordPress core functions?
-
Yes, exclusively via
wp_mail(). For reliable email delivery we recommend an SMTP plugin such as «WP Mail SMTP». -
Is there an export function?
-
The plugin currently provides a print-optimised annual report (HTML with print stylesheet). A CSV export is planned for a future release.
-
How are receipt numbers assigned?
-
Receipt numbers are assigned automatically and sequentially when a submission is approved by the board. Numbering starts at N-1 and continues across all years. The numbering cannot be changed manually.
-
Is the plugin GDPR-compliant?
-
The plugin stores personal data (name, email, IBAN suffix) in the WordPress database. Operators must reference this processing in their privacy policy. The plugin itself does not transmit data to any external server.
Vurderinger
Det er ingen omtaler av denne utvidelsen.
Bidragsytere og utviklere
«Scout Reimbursement Pro» er programvare med åpen kildekode. Følgende personer har bidratt til denne utvidelsen:
BidragsytereOversett «Scout Reimbursement Pro» til ditt språk.
Interessert i utvikling?
Bla gjennom koden, sjekk ut SVN-repositoriet, eller abonner på utviklingsloggen med RSS.
Endringslogg
1.2.0
- New: Submissions can be rejected in the WordPress backend even after approval (e.g. for duplicate receipts)
- New: Optional rejection reason is included in the notification email to the applicant
- New: Confirmation dialog before admin rejection prevents accidental actions
- Compatibility: Tested with WordPress 7.0 («Armstrong»)
1.1.0
- New: English translation (en_US) for all frontend and backend strings
- New: Upload button labels fully internationalized
- Improvement: Upload button labels now passed via wp_localize_script (translatable)
1.0.0
- Initial release
- Complete submission and approval workflow
- Mobile-optimised file upload with client-side image compression
- Secure file storage with .htaccess protection
- Email notifications for all parties involved
- Sequential receipt numbers
- Annual report with print function
- Statistics breakdown by category and year
- Full WordPress Coding Standards compliance