About
Gymnastics Meet Expenses is a production-ready iOS application designed specifically for gymnastics judges, meet directors, and association administrators who need to manage complex meet finances and judging assignments.
Whether you're tracking expenses for a single local meet or managing judges across multiple national competitions, this app provides a complete solution for financial tracking, reporting, and judge assignment management.
What Makes It Special
- Complex Meet Structures: Handle multi-day events with multiple sessions, floors, and apparatus rotations
- Visual Organization: Use custom floor colors (choose from 9 colors) to instantly identify different competition areas
- Complete Financial Tracking: Track all expense categories with automatic mileage calculations, per diem rates, and itemized invoicing
- Judge Certification Management: Track multiple certification levels per judge and assign them to appropriate sessions
- Data Portability: Import/export complete meets as JSON files for backup, transfer, or sharing with other users
- Time-Saving Features: Clone event structures to quickly set up similar meets without rebuilding from scratch
- International Support: Full support for international addresses and multiple gymnastics associations
- Privacy Focused: All data stays on your device with optional iCloud backup. No accounts, no tracking, no cloud storage required
Current Version 1.1.1 includes visual analytics with interactive charts, responsive design optimized for all iOS devices, and streamlined CSV exports for integration with external accounting systems.
Features
📊 Expense Tracking
Track all meet expenses with 6 categories: Mileage, Airfare, Parking, Meals & Per Diem, Lodging, and Other
📄 Professional Invoices
Generate detailed PDF invoices with itemized expenses, fees, and session details. Export to CSV for external processing
🎨 Visual Floor Coding
Assign custom colors to floors for easy identification. Choose from 9 colors including blue, green, pink, yellow, and more
📅 Multi-Event Support
Import/export complete meets, clone event structures, manage multiple associations with international address support
👥 Judge Management
Track multiple certification levels per judge, assign to specific floors and apparatus with visual color coding
📈 Visual Analytics
Interactive pie charts for expense distribution and bar charts for judge earnings comparison
💰 Fee Management
Track session rates, hourly rates, and role-based bonuses (Meet Referee, Head Judge) with automatic calculations
🔒 Privacy First
All data stored locally on your device with optional iCloud backup. No account required, no tracking
Getting Started Guide
First-Time Setup
When you first launch the app, you'll see the home screen with quick access to Events and Judges. Here's how to set up your first meet:
1 Create Your Association
Navigate to Settings → Associations → Add Association. Enter your association details including name, address, and contact information. The app supports both US and international addresses with flexible formatting.
2 Add Judges
Go to Judges → Add Judge. Enter judge information including name, email, and address. You can add multiple certification levels per judge (e.g., Level 8, Level 9, Level 10, Xcel). This allows you to filter and assign judges appropriately.
💡 Pro Tip: Add all your judges before creating events. This makes assignment much faster during event setup.
3 Create Your First Event
Tap Events → + to create a new event. Enter basic information:
- Event Name: e.g., "State Championship 2025"
- Location: Venue name and address
- Date Range: Start and end dates for multi-day events
- Association: Select from your saved associations
4 Build Event Structure
After creating the event, build your meet structure:
- Days: Add one or more competition days
- Sessions: Within each day, add sessions (e.g., "Level 8 Morning", "Level 9 Afternoon")
- Floors: Add floors to each session and assign colors for visual identification
📘 Note: Floor colors are purely for visual organization. Choose colors that make sense for your setup (e.g., blue for Floor 1, green for Floor 2).
Complete Workflow Example
Here's a complete workflow for setting up and managing a meet:
- Pre-Meet Setup: Create event structure with days, sessions, and floors. Assign floor colors for easy identification.
- Judge Assignment: Assign judges to specific sessions and floors. The app shows colored floor icons for quick reference.
- Fee Configuration: Set session rates (e.g., $50 per session) or hourly rates (e.g., $25/hour). Add role bonuses for Meet Referee ($50) or Head Judge ($25).
- During Meet: Track expenses as they occur - mileage, meals, parking, lodging, etc.
- Post-Meet: Generate expense reports and invoices. Export as PDF or CSV for accounting systems.
Detailed Feature Guide
Event Management
Creating Complex Meet Structures
The app supports hierarchical event structures: Event → Days → Sessions → Floors
Example Structure:
- 📅 Day 1 - Friday
- Session 1: Level 8 (3:00 PM - 6:00 PM)
- 📅 Day 2 - Saturday
- Session 1: Level 9 (9:00 AM - 12:00 PM)
- Session 2: Level 10 (1:00 PM - 4:00 PM)
Floor Color System
Assign colors when creating or editing floors. Available colors:
- 🔵 Blue • 🟢 Green • ⚪ White • ⚫ Black • 🟣 Pink
- 🟡 Yellow • 🟠 Orange • 🟣 Lavender • 🟤 Beige
Colors appear throughout the app in floor lists, assignment screens, and reports, making it easy to identify floors at a glance.
Cloning Events
Save time by cloning similar events. When you clone:
- ✅ All days, sessions, and floors are copied with their colors
- ✅ Event structure and configuration preserved
- ❌ Judge assignments are NOT copied (assign fresh for the new meet)
- ❌ Expenses are NOT copied
💡 Pro Tip: Create a template event for your typical meet structure, then clone it for each new meet. Just update dates and judge assignments.
Judge Assignment
Managing Judge Certifications
Each judge can have multiple certification levels. When adding certifications:
- Use standard level names:
Level 8, Level 9, Level 10, Xcel Gold, etc.
- Add expiration dates to track when certifications need renewal
- The app filters judges by certification when assigning to sessions
Assignment Process
From the event detail screen:
- Tap on a session to see floors
- Tap Assign Judges
- Select judges and assign them to specific floors
- Colored floor icons help you quickly identify assignments
⚠️ Important: Double-check judge assignments before finalizing. Once fees are calculated, changing assignments may require manual adjustments.
Expense Tracking
Expense Categories
Track six types of expenses:
1. Mileage - Automatic calculation based on distance and rate
- Enter start and end locations (or use current location)
- Set mileage rate (default: $0.67/mile - IRS 2024 rate)
- Round-trip option doubles the distance automatically
2. Airfare - Flight costs
- Track flight number, departure/arrival airports
- Attach receipts using camera or photo library
3. Parking - Parking fees at venue or airport
- Enter location and amount
- Capture parking receipt photos
4. Meals & Per Diem - Food and daily allowances
- Track individual meals or daily per diem amounts
- Common per diem: $50-75/day for multi-day meets
5. Lodging - Hotel or accommodation costs
- Enter hotel name, check-in/check-out dates
- Track nightly rate and total cost
6. Other - Miscellaneous expenses
- Registration fees, equipment, supplies, etc.
- Add descriptive notes for clarity
Fees and Payments
Fee Structure Options
The app supports flexible fee structures:
Session-Based Fees:
- Set a flat rate per session (e.g., $50/session)
- Judges are paid the session rate regardless of hours
- Best for: Standard competitions with consistent session lengths
Hourly Fees:
- Set an hourly rate (e.g., $25/hour)
- Enter actual hours worked per session
- Best for: Variable-length sessions or partial-day assignments
Role Bonuses:
- Meet Referee: Additional fee (e.g., $50) for head official
- Head Judge: Additional fee (e.g., $25) for floor lead
- Bonuses are added to base session/hourly rate
Fee Calculation Example
Example: Judge works 3 sessions at $50/session, plus Meet Referee bonus ($50)
Calculation: (3 × $50) + $50 = $200 total
Reports and Exports
Event Financial Reports (PDF)
Generate comprehensive financial reports showing:
- Complete expense breakdown by category with pie chart
- Judge fees breakdown by judge with bar chart
- Session-by-session details
- Grand totals and summary statistics
Judge Invoices (PDF)
Professional invoices for each judge including:
- Association letterhead information
- Judge contact details
- Itemized session list with dates, times, and fees
- Expense reimbursements by category
- Total amount due
CSV Exports
Export data for external accounting systems:
- Fees CSV: Judge name, session details, rates, amounts
- Expenses CSV: Date, category, description, amount
- Import into Excel, QuickBooks, or other accounting software
💡 Pro Tip: Use CSV exports to integrate with your association's accounting system. The streamlined format is designed for easy import.
Import/Export Meets
Backing Up Data
Export complete meets as JSON files:
- Navigate to Events list
- Tap the Import button (upload icon)
- Select Export Meet
- Choose the meet to export
- Save to Files, iCloud Drive, or share via AirDrop/email
What's included in exports:
- ✅ Complete event structure (days, sessions, floors with colors)
- ✅ All judge assignments
- ✅ All expenses with receipts
- ✅ Fee configuration and calculations
Transferring to Another Device
- Export meet on original device
- Transfer JSON file (AirDrop, email, cloud storage)
- On new device: Events → Import → Select JSON file
- Meet is recreated with all data intact
⚠️ Note: Judges referenced in the meet must exist on the destination device. Import judges first, then import meets.
Sharing with Other Users
You can share meet templates with colleagues:
- Export a meet from your device
- Share the JSON file via email or cloud storage
- Recipient imports the meet on their device
- They'll need to reassign judges from their own judge list
Tips and Tricks
Efficiency Tips
🚀 Speed Up Event Creation
- Use Templates: Create a standard meet template, then clone it for new events
- Batch Add Judges: Add all judges before creating events
- Default Rates: Set up your standard session rate in the first event, then clone for consistency
📊 Better Reporting
- Consistent Naming: Use consistent session names (e.g., "L8 AM", "L8 PM") for easier tracking across meets
- Detailed Descriptions: Add notes to expenses for better record-keeping
- Capture Receipts: Take photos of receipts immediately to avoid losing them
🎨 Visual Organization
- Color Coding Strategy: Use consistent colors across meets (e.g., Blue always = Floor 1)
- Floor Naming: Include apparatus in floor names (e.g., "Floor 1 - Vault & Bars")
Common Workflows
Scenario 1: Last-Minute Judge Change
- Go to event → session → floor
- Tap on judge assignment
- Remove old judge, assign new judge
- Fee calculations update automatically
Scenario 2: Adding Expenses During Meet
- Keep the app handy during the meet
- Add expenses as they occur (parking, meals, etc.)
- Use camera to capture receipts immediately
- Review expenses after each day
Scenario 3: Quarterly Association Reports
- Filter events by date range
- Export each event's financial report (PDF)
- Export combined CSV for all events
- Import CSV into your accounting system
Best Practices
Data Management
- ✅ Regular Backups: Export meets monthly to iCloud Drive or external storage
- ✅ Archive Old Events: Delete events from 2+ years ago after exporting
- ✅ Update Judge Info: Keep judge certifications and contact info current
- ✅ Review Before Finalizing: Double-check all assignments and fees before generating invoices
Financial Accuracy
- 📝 Verify Rates: Confirm session rates match your association's payment schedule
- 📝 Track Receipt Numbers: Add receipt/confirmation numbers in expense notes
- 📝 Round Appropriately: Use consistent rounding (e.g., mileage to 2 decimal places)
- 📝 Keep Paper Backups: Print important invoices for physical records
Judge Assignment
- 👥 Check Availability First: Confirm judge availability before assigning
- 👥 Respect Certifications: Only assign judges to levels they're certified for
- 👥 Rotate Floor Assignments: Give judges variety across different floors/apparatus
- 👥 Communicate Changes: If you change assignments, notify judges promptly
Troubleshooting & Common Issues
Import/Export Issues
Q: Import fails with "Invalid JSON format" error
Solution: The JSON file may be corrupted. Try:
- Re-export the meet from the original device
- Transfer using a different method (try AirDrop if you used email)
- Open the JSON file in a text editor to verify it's valid JSON
Q: Meet imports but judges are missing
Solution: Judges are stored separately from meets. Import judges first:
- On original device: Export judges if available, or note judge details
- On new device: Manually add judges with matching names
- Then import the meet - judge assignments will link correctly
Q: Export succeeds but can't find the file
Solution: Check these locations:
- Files app → On My iPhone → Gymnastics Meet Expenses
- Files app → iCloud Drive → Downloads
- Use the Files app search to look for
.json files
Data & Calculation Issues
Q: Fee totals seem incorrect
Solution: Verify your fee structure:
- Check if using session-based or hourly rates
- Verify number of sessions/hours entered
- Look for role bonuses (Meet Referee, Head Judge) that add to total
- Tap into individual judge fees to see detailed breakdown
Q: Mileage calculation is wrong
Solution: Check these settings:
- Verify mileage rate (default: $0.67/mile)
- Check if round-trip is enabled (doubles the distance)
- Ensure addresses are entered correctly
- Try entering distance manually if automatic calculation fails
Q: Changes to event structure not saving
Solution: Make sure you're tapping Save/Done buttons:
- Each edit screen has a Save or Done button - don't just swipe back
- If you force-quit the app mid-edit, changes may be lost
- Wait for the save animation to complete before navigating away
Display & Interface Issues
Q: Floor colors not showing
Solution:
- Make sure you assigned a color when creating/editing the floor
- Try editing the floor and reselecting the color
- If using an older meet, floors may need colors assigned (they default to blue)
Q: Text is cut off or overlapping
Solution:
- Check your iOS text size setting: Settings → Display & Brightness → Text Size
- The app supports Dynamic Type but very large text may cause issues
- Try rotating to landscape mode for more space
- Report persistent layout issues to support
Q: PDF reports not generating
Solution: Check these items:
- Ensure the event has all required data (dates, associations, etc.)
- Try closing and reopening the app
- Check available storage space on your device
- Try generating for a smaller date range if the report is very large
iCloud Sync Issues
Q: Data not syncing between devices
Note: The app uses local storage with optional iCloud backup. To transfer data between devices:
- Use the Import/Export feature for meets
- Judges and associations must be manually recreated or exported/imported
- iCloud backup is for disaster recovery, not real-time sync
Q: How do I enable iCloud backup?
Solution:
- Go to iOS Settings → [Your Name] → iCloud
- Ensure iCloud Drive is enabled
- Scroll down and enable for "Gymnastics Meet Expenses"
- The app will backup automatically to iCloud
Performance Issues
Q: App is slow with many events
Solution:
- Archive old events by exporting then deleting them
- Keep active events under 50 for best performance
- Try restarting the app
- Restart your device if issues persist
Frequently Asked Questions
Q: Is my data secure?
A: Yes! All your data is stored locally on your device using iOS's secure SQLite database. We don't collect, transmit, or store any of your financial information on external servers. No analytics, no tracking, no cloud database.
Q: Can I use this for multiple associations?
A: Absolutely! The app supports unlimited associations. Each association can have its own address, contact information, and letterhead details. Easily switch between associations when creating events.
Q: Does it work on both iPhone and iPad?
A: Yes! The app is universal and optimized for both iPhone and iPad. It supports portrait and landscape orientations with responsive layouts that adapt to your screen size.
Q: Can I export my invoices and reports?
A: Yes! You can generate professional PDF invoices and financial reports, then share them via email, Messages, AirDrop, or save to Files. You can also export data as CSV files for integration with accounting software like QuickBooks or Excel.
Q: Do I need an account to use the app?
A: No account required! The app works completely offline with all data stored on your device. No registration, no login, no passwords to remember.
Q: Can I backup my meets?
A: Yes! You can export complete meets as JSON files for backup or transfer to another device. Save to iCloud Drive, Dropbox, or any file storage service. Import them back anytime to restore your data.
Q: What are floor colors used for?
A: Floor colors help you quickly identify different floors visually throughout the app. Choose from 9 colors when creating or editing floors. Colors appear in floor lists, judge assignment screens, and reports, making it easier to track assignments at multi-floor events.
Q: Can I track expenses for judges at multiple meets simultaneously?
A: Yes! The app supports unlimited events running concurrently. Each event has its own expense tracking, judge assignments, and reporting. You can easily switch between active meets.
Q: How does mileage calculation work?
A: Enter your starting and ending locations, and the app calculates the distance and cost based on your mileage rate (default is IRS standard rate of $0.67/mile). You can enable round-trip to automatically double the distance, or manually enter distance if needed.
Q: Can I customize fee structures?
A: Yes! You can use session-based fees (flat rate per session) or hourly fees. Add role bonuses for Meet Referee and Head Judge positions. Each event can have its own fee structure.
Q: What happens if I delete the app?
A: Your data will be permanently deleted when you uninstall the app unless you've backed up meets using the export feature. Always export important meets before uninstalling. If you have iCloud backup enabled, some data may be preserved in your iCloud storage.
Q: Is there a limit to how many judges or events I can create?
A: No hard limits! However, for best performance, we recommend keeping active events under 50 and active judges under 200. Archive old events by exporting and deleting them after the meet season ends.
Q: Can I use this for international meets?
A: Yes! The app supports international addresses with flexible formatting. You can enter addresses for any country. Currency display uses your iOS device's locale settings.
Q: How do I update judge certifications?
A: Go to the Judges screen, tap on a judge, then tap "Edit". You can add, remove, or update certification levels and their expiration dates. This helps ensure you're assigning appropriately certified judges to sessions.
Q: Can multiple people collaborate on the same event?
A: Not in real-time, but you can export an event as JSON and share it with others. They can import it on their device, make changes, then export and share back. This works well for sequential collaboration (e.g., one person creates structure, another assigns judges).
Privacy Policy
Gymnastics Meet Expenses respects your privacy. The app does not collect, transmit, or share any personal or financial data. All information you enter is stored locally on your device. If you choose to enable iCloud backup, your data is synced securely through your personal iCloud account, which is encrypted and controlled by Apple.
We do not:
- Collect personal information
- Track your usage
- Share data with third parties
- Display advertisements
- Require account creation
Read Full Privacy Policy →