A Django web app that imports messy spreadsheet data, validates and cleans customer records (emails, phone numbers, duplicates), and exports CRM/invoicing-ready CSVs — eliminating manual data re-entry for small businesses.
Live demo: https://excel-crm-sync.onrender.com
- Upload
.xlsx/.xlsfiles and preview detected columns - Map spreadsheet columns to customer fields (name, email, phone, company, amount due)
- Validate and clean invalid emails/phone numbers, with warnings for cleaned data
- Prevent duplicates via email-based upsert (re-imports update existing records)
- Export cleaned data as CSV formatted for Zoho CRM or QuickBooks import
Django, PostgreSQL (Neon), pandas, openpyxl, deployed on Render with Gunicorn + Whitenoise
git clone https://github.com/strangertomycode/excel-crm-sync.git
cd excel-crm-sync
uv sync
cp .env.example .env
uv run python manage.py migrate
uv run python manage.py createsuperuser
uv run python manage.py runserver- Go to
/and upload an Excel file - Map the detected columns to customer fields
- Review import results (created/updated/warnings)
- Go to
/customers/to view records and export as CSV