Normally you'd keep all the transformation in one place in the "data warehouse", which could be Postgres/Redshift/Snowflake/Clickhouse etc. Using some el tools (like sling cli for example) to load into the DW, and then using a transformation tool (like dbt for example) to do all the transformations in SQL, source controlled. It's advantageous to keep all of the transformation logic in one place (to avoid mismatches as you've mentioned).
And from the DW, after data is ready, various tools/clients can consume it (such as BI tools, CRMs, APIs, AI, etc). All aligned.
For anyone looking to easily ingest data into a Postgres Wire compatible database, check out https://github.com/slingdata-io/sling-cli. Use CLI, YAML or Python to run etl jobs.
Normally you'd keep all the transformation in one place in the "data warehouse", which could be Postgres/Redshift/Snowflake/Clickhouse etc. Using some el tools (like sling cli for example) to load into the DW, and then using a transformation tool (like dbt for example) to do all the transformations in SQL, source controlled. It's advantageous to keep all of the transformation logic in one place (to avoid mismatches as you've mentioned). And from the DW, after data is ready, various tools/clients can consume it (such as BI tools, CRMs, APIs, AI, etc). All aligned.