Copy–paste this into your CTO agent: CTO — Renewals Ingest: Mobile Mapping / Upsert Bug I’ve now re-uploaded my dp_renewals_test CSV with mobile numbers populated for all 7 test customers, and the UI reports: “7 customer records have been imported to staging table.” However, in Supabase the table stg_vwfs_book_raw_csv still looks like this for my testers: VRM | Forename | Surname | Mobile | PaymentsLeft | book_month ---------|----------|-----------|------------|-------------|----------- D9VYA | Rob | Beaumount | NULL | 6 | 2025-12 FT24JRO | Darren | Hill | NULL | 18 | 2025-12 FT24JVU | James | Widdison | NULL | 3 | 2025-12 FT24UWM | Chris | Dunlop | NULL | 9 | 2025-12 FV74VVK | Alison | Howard | NULL | 6 | 2025-12 GD19YTC | Simon | Howard | 7972194025 | 12 | 2025-12 K19JHR | Karl | Horsewood | NULL | 9 | 2025-12 So the ingest is only populating Mobile for GD19YTC, and leaving it NULL for the other 6, even after re-uploading with mobiles filled in. Please can you: Open /api/renewals/ingest and check how the CSV → Supabase mapping is done: Confirm which CSV field is mapped into "Mobile" in stg_vwfs_book_raw_csv. Make sure that column is actually being read from the uploaded file (the header in my CSV is Mobile). Check whether you’re doing an INSERT with ON CONFLICT DO NOTHING keyed on VRM / BPID: If so, my first upload (with empty mobiles) will block later uploads (with mobiles) from updating rows. We either need an UPSERT that updates mobile and other fields on conflict, or a delete & re-insert strategy for that book_month. After fixing, please: Re-run the ingest on a small sample file, Confirm that: All 7 testers appear in stg_vwfs_book_raw_csv, and "Mobile" is populated correctly for all of them, not just GD19YTC. Update replit.md with: The exact CSV → column mapping (especially mobile), and How conflicts are handled for re-imports (UPSERT vs DELETE+INSERT and which key is used). I’ll verify the fix by running: SELECT "VRM", "PersonForename", "PersonSurname", "Mobile" AS mobile, "Model" AS model, "PaymentsLeft", book_month FROM stg_vwfs_book_raw_csv WHERE "VRM" IN ( 'GD19YTC', 'K19JHR', 'D9VYA', 'FT24JVU', 'FT24JRO', 'FT24UWM', 'FV74VVK' ) ORDER BY "VRM"; and checking that mobile is non-NULL for all 7 rows.