swiftops-backend / scripts /reset_failed_export_expenses.sql
kamau1's picture
Fix Tende Pay export critical edge cases: only mark exported expenses as paid, skip invalid amounts/users, warn on mixed payment methods
d566e9e
-- Reset expenses that were marked as paid but had no successful CSV export
-- This fixes the issue where expenses were marked as paid even when export failed
-- Find expenses with the failed export reference
-- Reference format: CSV_EXPORT_20251210_132341_c5cf92be-4172-4fe2-af5c-f05d83b3a938
-- Reset the specific expenses from the failed export
UPDATE ticket_expenses
SET
is_paid = false,
paid_at = NULL,
paid_to_user_id = NULL,
payment_reference = NULL,
updated_at = timezone('utc'::text, now())
WHERE
payment_reference = 'CSV_EXPORT_20251210_132341_c5cf92be-4172-4fe2-af5c-f05d83b3a938'
AND is_paid = true
AND deleted_at IS NULL;
-- Verify the reset
SELECT
id,
incurred_by_user_id,
total_cost,
is_approved,
is_paid,
payment_reference,
expense_date
FROM ticket_expenses
WHERE
id IN ('35db9201-3c05-4853-be91-5eb6f30782d1', 'd73cb843-e4fb-4200-aa3e-243887714422')
AND deleted_at IS NULL;