# Financial Audit Report

**Event:** Mohamed Abdo New Years Celebration 2025
**Event Date:** 30 December 2025
**Venue:** The Great Hall, JW Marriott Grosvenor House Ballroom
**Report Date:** 5 January 2026
**Audit Period:** 13 November 2025 - 31 December 2025

---

## Executive Summary

This report presents a comprehensive financial audit of ticket sales and payment reconciliation for the Mohamed Abdo NYE 2025 event. The audit was conducted using production database records and includes cross-referencing with ticket validation (entry scan) data to verify order authenticity.

### Key Findings

| Metric | Value |
|--------|-------|
| **Total Confirmed Revenue** | **£1,037,967.60** |
| **Total Orders (Production)** | 492 |
| **Tickets Validated (Scanned)** | 1,219 |
| **Unique Orders with Entry Scans** | 474 |
| **Estimated Payment Processing Fees** | £9,428.90 |
| **Net Revenue After Fees** | **£1,028,538.70** |

### Revenue Status

| Category | Amount | Status |
|----------|--------|--------|
| Confirmed Paid Revenue | £1,037,967.60 | Verified |
| Complimentary (No Cash) | £7,550.00 | Non-Revenue |
| Refunded | £10,850.00 | Returned |
| Abandoned Carts (Stripe) | £303,500.00 | Not Collected |
| Test Orders | £2,575.00 | Excluded |

---

## 1. Scope and Methodology

### 1.1 Audit Scope

This audit covers:
- All orders created for Event ID 1 (Mohamed Abdo NYE 2025)
- Payment reconciliation across all payment methods
- Ticket generation and validation verification
- Identification of test orders and anomalies

### 1.2 Methodology

1. **Database Extraction**: Production database backup from 5 January 2026
2. **Order Classification**: Categorization by payment method, status, and source
3. **Test Order Identification**: Pattern matching for test emails, names, and amounts
4. **Ticket Validation Cross-Reference**: Verification against entry scan records
5. **Payment Gateway Analysis**: Breakdown by processor (Revolut, Stripe)

### 1.3 Data Sources

- `orders` table: 659 total records for event
- `ticket_validations` table: 1,434 scan records
- `order_line_items` table: Invoice breakdown
- `tickets` table: Ticket generation status

---

## 2. Revenue Breakdown by Payment Method

### 2.1 Online Payments (Customer-Initiated)

| Channel | Orders | Gross Revenue | Est. Fees (1% + £0.20) | Net Revenue |
|---------|--------|---------------|------------------------|-------------|
| Revolut Online | 132 | £253,900.00 | £1,565.40 | £252,334.60 |
| Card Online | 221 | £339,550.00 | £3,439.70 | £336,110.30 |
| Stripe | 1 | £25,900.00 | £751.30 | £25,148.70 |
| **Subtotal** | **354** | **£619,350.00** | **£5,756.40** | **£613,593.60** |

### 2.2 Point of Sale (Ticket Office)

| Channel | Orders | Gross Revenue | Est. Fees (1%) | Net Revenue |
|---------|--------|---------------|----------------|-------------|
| POS Card (Revolut Reader) | 79 | £267,250.00 | £2,672.50 | £264,577.50 |
| POS Cash | 12 | £25,000.00 | £0.00 | £25,000.00 |
| **Subtotal** | **91** | **£292,250.00** | **£2,672.50** | **£289,577.50** |

### 2.3 Other Payment Methods

| Channel | Orders | Gross Revenue | Notes |
|---------|--------|---------------|-------|
| Bank Transfer | 20 | £109,967.60 | Direct bank-to-bank |
| Split Payment | 5 | £16,400.00 | Multiple payment methods |
| **Subtotal** | **25** | **£126,367.60** | No processor fees |

### 2.4 Non-Revenue Items

| Category | Orders | Value | Notes |
|----------|--------|-------|-------|
| Complimentary | 14 | £7,550.00 | VIP/Comp tickets (ticket value, not revenue) |
| Refunded | 8 | £10,850.00 | Returned to customers |
| Test Orders | 16 | £2,575.00 | Excluded from all calculations |
| Abandoned (Stripe) | 151 | £303,500.00 | Unpaid checkout attempts |

---

## 3. Payment Processing Fees Analysis

### 3.1 Fee Structure

| Processor | Rate | Per-Transaction | Applied To |
|-----------|------|-----------------|------------|
| Revolut Online | 1.0% | £0.20 | Card payments via checkout |
| Revolut Reader | 1.0% | £0.00 | POS terminal payments |
| Stripe | 2.9% | £0.20 | Legacy/specific transactions |

### 3.2 Calculated Fees

| Category | Gross Revenue | Transactions | Fee Calculation | Total Fees |
|----------|---------------|--------------|-----------------|------------|
| Online Card | £593,450.00 | 353 | (1% × £593,450) + (353 × £0.20) | £6,005.10 |
| POS Card | £267,250.00 | 79 | 1% × £267,250 | £2,672.50 |
| Stripe | £25,900.00 | 1 | (2.9% × £25,900) + £0.20 | £751.30 |
| **Total** | | | | **£9,428.90** |

### 3.3 Net Revenue Summary

| Line Item | Amount |
|-----------|--------|
| Gross Confirmed Revenue | £1,037,967.60 |
| Less: Payment Processing Fees | (£9,428.90) |
| **Net Revenue After Fees** | **£1,028,538.70** |

---

## 4. Ticket Validation Analysis

### 4.1 Scan Statistics

| Scan Result | Count | Percentage |
|-------------|-------|------------|
| Valid Entry | 1,219 | 85.0% |
| Already Scanned | 207 | 14.4% |
| Duplicate Attempt | 6 | 0.4% |
| Invalid | 1 | 0.1% |
| Not Found | 1 | 0.1% |
| **Total Scans** | **1,434** | 100% |

### 4.2 Order Verification via Scans

| Metric | Count |
|--------|-------|
| Total Production Orders | 492 |
| Orders with Tickets Generated | 489 |
| Orders with Valid Entry Scans | 474 |
| Orders with Tickets but No Scans | 12 |

### 4.3 Orders with Tickets but No Entry Scans

These orders had tickets generated but no recorded entry scans. This may indicate no-shows, late arrivals after scanning ended, or alternative entry methods.

| Order ID | Customer | Amount | Payment Method | Status |
|----------|----------|--------|----------------|--------|
| 178 | Raghad Alomar | £1,200 | card | No-show likely |
| 185 | Mohammad Aljowaiedi | £1,800 | card | No-show likely |
| 298 | Khalid Alhajri | £1,400 | revolut | No-show likely |
| 514 | Ali Khalid alkutbi | £2,000 | card | No-show likely |
| 530 | TS | £25,900 | revolut | VIP/Corporate |
| 699 | Zayed Al Hamed | £1,000 | cash | No-show likely |
| 752 | Ahmed Abuobaid | £6,650 | credit_card | VIP/Corporate |

**Excluded (Confirmed Test):** Orders 613, 623, 625, 629, 653

---

## 5. Test Order Analysis

### 5.1 Identified Test Orders (Excluded from Revenue)

| Order ID | Customer | Email | Amount | Reason |
|----------|----------|-------|--------|--------|
| 653 | LIVE TEST | archive@globalgala.com | £1,000 | Test label, no scans |
| 613 | VIP Flow Test | vip-flow-test@example.com | £0 | Test email pattern |
| 623 | CHARLIE MIDDLETON | charlie@09-07.xyz | £0 | Test user |
| 662 | John Test | test@globalgala.com | £75 | Test payment method |
| 671-672 | Scanner Test | scanner-test@globalgala.com | £0 | Scanner testing |
| 680-685 | Alice/Bob/Carol/etc | @test.com | £50 each | Test email domain |
| 705, 765-767 | JOHN SMITH | john.smith@test.com | £300 each | Test email domain |

**Total Test Value Excluded:** £2,575.00

### 5.2 Internal Orders (Kept as Revenue)

The following orders were flagged due to @globalgala.com emails but are confirmed as legitimate internal purchases:

| Order ID | Customer | Amount | Payment | Verification |
|----------|----------|--------|---------|--------------|
| 610 | Ahmed Abuobaid | £5,900 | Bank Transfer | Real payment |
| 611 | Ahmed Abuobaid | £5,900 | Bank Transfer | Real payment |

---

## 6. Discrepancies and Investigation Items

### 6.1 Payment Status Anomaly

| Order ID | Customer | Amount | Issue | Recommendation |
|----------|----------|--------|-------|----------------|
| 285 | Khalid Alhajri | £1,200 | Status: completed, Payment: pending | Verify Stripe payment intent pi_3STDXtFVQ3AMZliU1rorO2lL |

**Investigation Notes:**
- Tickets were generated: Yes
- Entry scans recorded: 2 valid scans
- Customer attended event, suggesting payment was received
- Stripe dashboard should be checked for payment confirmation

### 6.2 High-Value Stripe Transaction

| Order ID | Customer | Amount | Status | Verification |
|----------|----------|--------|--------|--------------|
| 568 | Arwa Zawawi | £25,900 | Completed/Paid | Admin-created, 14 scans recorded |

**Status:** Confirmed legitimate. Large group booking with verified attendance.

---

## 7. Reconciliation Summary

### 7.1 Revenue Reconciliation

```
GROSS ORDERS (All statuses)                    £1,362,442.60
  Less: Expired/Abandoned                      (£303,500.00)
  Less: Test Orders                              (£2,575.00)
  Less: Refunded                                (£10,850.00)
                                               ─────────────
CONFIRMED GROSS REVENUE                        £1,045,517.60
  Less: Complimentary (non-cash)                 (£7,550.00)
                                               ─────────────
CONFIRMED CASH REVENUE                         £1,037,967.60
  Less: Payment Processing Fees                  (£9,428.90)
                                               ─────────────
NET REVENUE                                    £1,028,538.70
```

### 7.2 Payment Method Reconciliation

| Payment Channel | Orders | Gross | Fees | Net |
|-----------------|--------|-------|------|-----|
| Revolut (Online) | 132 | £253,900 | £1,565 | £252,335 |
| Card (Online) | 221 | £339,550 | £3,440 | £336,110 |
| Stripe | 1 | £25,900 | £751 | £25,149 |
| POS Card | 79 | £267,250 | £2,673 | £264,577 |
| POS Cash | 12 | £25,000 | £0 | £25,000 |
| Bank Transfer | 20 | £109,968 | £0 | £109,968 |
| Split | 5 | £16,400 | £0 | £16,400 |
| **Total** | **470** | **£1,037,968** | **£9,429** | **£1,028,539** |

---

## 8. Attendance Verification

### 8.1 Ticket Utilization

| Metric | Value |
|--------|-------|
| Tickets Sold (Production Orders) | ~1,500+ |
| Valid Entry Scans | 1,219 |
| Attendance Rate (based on scans) | ~81% |

### 8.2 No-Show Analysis

Based on orders with tickets generated but no entry scans:
- **Estimated No-Shows:** 12 orders (excluding test orders)
- **No-Show Value:** ~£40,950
- **Common Pattern:** Individual bookings, not corporate/VIP

---

## 9. Recommendations

### 9.1 Immediate Actions

1. **Verify Order 285** - Check Stripe dashboard for payment intent `pi_3STDXtFVQ3AMZliU1rorO2lL` to confirm payment status
2. **Revolut Reconciliation** - Run `php artisan payments:audit-revolut --days=90` on production to match all transactions

### 9.2 Process Improvements

1. **Test Order Isolation** - Create dedicated test event to prevent test orders mixing with production data
2. **Payment Status Sync** - Implement webhook verification to ensure payment_status accurately reflects Stripe/Revolut status
3. **POS Tracking** - Ensure all Revolut Reader transactions capture the revolut_payment_id for reconciliation

### 9.3 Future Audits

1. Maintain separate test database/event for QA purposes
2. Implement real-time reconciliation alerts for payment status mismatches
3. Document all complimentary tickets with explicit reason codes

---

## 10. Appendices

### Appendix A: Audit Files Generated

| File | Description |
|------|-------------|
| `audit_summary_v2_*.json` | Machine-readable audit summary |
| `orders_production_v2_*.csv` | All production orders |
| `pos_for_revolut_matching_*.csv` | POS orders for Revolut matching |
| `revolut_reconciliation_*.csv` | Revolut payment ID analysis |
| `orders_test_*.csv` | Identified test orders |

### Appendix B: Revenue Recognition Note

Per GAAP ASC 606 and standard event accounting practices:
- Revenue is recognized when the event occurs (30 December 2025)
- Advance ticket sales were held as deferred revenue until event date
- Refunds processed reduce recognized revenue
- Complimentary tickets are recorded at fair value for reporting but not as cash revenue

### Appendix C: Currency

All amounts in British Pounds Sterling (GBP/£)

---

**Report Prepared By:** Financial Audit System
**Data Source:** Production Database (showprima)
**Verification Method:** Automated extraction with manual review

---

*This report is intended for internal financial review and client presentation. All figures are based on database records as of the audit date.*
