Validate incoming file rows and load valid records into a database table.
Keep analysis tables current with valid rows from team sheets.
Your reporting table gets valid new spreadsheet rows every 15 minutes, with import counts and row-specific fixes waiting in the sheet.
Keep data tables current from CSV files and flag failed loads.
Keep your PostgreSQL table current as CSV files arrive, with a row count or a clear reason when an import needs attention.