Check forms for missing details, return them for correction. Every one is ready to run, and you can adjust it in plain language.
Prepare incoming report files as CSV and flag malformed source lines.
Your analysts get CSVs from new text exports in a shared folder. A companion report points to source lines that need fixing.
Load reporting files into a table and surface import errors.
Keep your PostgreSQL table current as CSV files arrive, with a row count or a clear reason when an import needs attention.