Problem
Identify invoice-level discrepancies across Garmin invoice, payment, and customer tables. Return only problematic invoices and assign one issue label using this priority: invalid_customer > missing_payment > duplicate_payment > amount_mismatch.
Schema
garmin_customers
| Column | Type | Description |
|---|---|---|
| customer_id | ||
| customer_name | ||
| status |
garmin_invoices
| Column | Type | Description |
|---|---|---|
| invoice_id | ||
| customer_id | ||
| invoice_date | ||
| invoice_amount |
garmin_payments
| Column | Type | Description |
|---|---|---|
| payment_id | ||
| invoice_id | ||
| payment_date | ||
| payment_amount |
What This Tests
- Joining fact and dimension tables
- Aggregating payments to invoice level
- Using a CTE for reconciliation logic
- Applying CASE logic with issue priority
Practicing as: Financial Analyst interview at GarminHi, I'll play your Garmin interviewer for the Financial Analyst role. Answer the question above like we're in the room, and I'll respond the way a real interviewer would.
You are practicing as a guest. Sign up free to run your code against the sample data. Your draft stays right here.


