A collection of Python automation scripts for managing Agape Church Directory and ChurchCRM data.
This repository contains utility scripts to streamline church member data collection, conversion, and import workflows. The primary use case is converting filled PDF church directory forms to CSV files for import into ChurchCRM systems.
The main GUI application for converting church directory PDF forms to CSV format.
Features:
- 🖱️ Drag & Drop Support — Easily add multiple PDF files
- 📋 Preview Panel — Review extracted data with color-coded family roles
- 📊 Bulk Export — Export single or multiple family records as CSV
- ✅ Data Validation — Automatic date and phone number normalization
- 🎨 User-Friendly Interface — Intuitive tkinter-based GUI
Requirements:
pip install pypdf
pip install tkinterdnd2 # Optional: for drag & drop supportUsage:
python agape_converter_gui_v4.pyWorkflow:
- Add filled PDF forms by dragging & dropping or clicking "Browse for PDFs…"
- Review extracted data in the preview panel
- Click color-coded family members to see details:
- 🔵 Blue = Head of Household
- 🔴 Pink = Spouse
- 🟣 Purple = Grandparents
- 🟢 Green = Children
- Export as CSV for import into ChurchCRM
CSV Output Columns:
- Family Information:
FamilyID,FamilyRole,Address1,City,State,Zip,Country - Personal Details:
Title,FirstName,MiddleName,LastName,Suffix,Gender - Contact:
HomePhone,WorkPhone,MobilePhone,Email,WorkEmail - Important Dates:
BirthDate,MembershipDate,WeddingDate - Classification & Custom Fields:
Classification,PersonCustom:Married:,PersonCustom:Occupation:,FamilyCustom:CustomField1
Generates the Agape Church Directory PDF form template using ReportLab.
Features:
- 📄 Multi-Page Form — 2-page interactive PDF form
- 📋 Dynamic Fields — Support for head of household, spouse, grandparents, and up to 20 children
- 🎨 Professional Design — Navy and gold branding with organized sections
- 🔲 Interactive Elements — Fillable text fields, checkboxes, and date fields
Requirements:
pip install reportlabUsage:
python "AI Compare File.py"Generated Form Sections:
- Family Information (address, phone, marriage date, occupation)
- Head of Household (with email and mobile)
- Spouse (with email and mobile)
- Paternal Grandparents
- Maternal Grandparents
- Children (rows for 20 children with spouse information)
- Notes & Submission Contact
agape_converter_gui.py— Original converter versionagape_converter_gui_v2.py— Version 2 with enhancementscreate_agape_form_v3.py— Earlier form generation version
-
Clone the repository:
git clone https://github.com/UncleAndy123/ChurchCRM-scripts.git cd ChurchCRM-scripts -
Install dependencies:
pip install pypdf reportlab
-
Optional - Enable drag & drop:
pip install tkinterdnd2
python agape_converter_gui_v4.pyThen follow the in-app prompts to:
- Add your filled PDF forms
- Review the extracted data
- Export to CSV
- Import into ChurchCRM (Admin ⚙ → CSV Import)
python "AI Compare File.py"This creates an interactive PDF form ready for distribution.
After exporting CSV from the converter:
- Open ChurchCRM
- Navigate to Admin ⚙ → CSV Import
- Upload your exported CSV file
- Enable "Generate Family records by Last Name + Address"
- Review and confirm the import
The converter automatically handles:
- Phone Numbers: Converts to
(XXX) XXX-XXXXformat - Dates: Normalizes to
YYYY-MM-DDformat (accepts multiple input formats) - Classifications: Checkbox status → "Member" or "Regular Attender"
| Form Field | CSV Output | Notes |
|---|---|---|
| Member Checkbox | Classification |
✓ = Member, ✗ = Regular Attender |
| Children's Spouse Name | PersonCustom:Married: |
Spouse name of child |
| Occupation | PersonCustom:Occupation: |
Head of household only |
| Notes | FamilyCustom:CustomField1 |
Free-form family notes |
- Python 3.7+
- Dependencies:
pypdf— PDF reading & manipulationreportlab— PDF generationtkinterdnd2— (Optional) Drag & drop support
The app will still work with the "Browse for PDFs…" button. To enable drag & drop:
pip install tkinterdnd2Ensure the PDF was:
- Properly filled out (text entered in fields)
- Saved after filling (many PDF readers don't auto-save)
- Compatible with v4 form template
The CSV export uses UTF-8 encoding. Most spreadsheet applications handle this automatically.
| Version | Script | Date | Changes |
|---|---|---|---|
| v4 | agape_converter_gui_v4.py |
Latest | Enhanced GUI with color-coded preview, improved export |
| v2 | agape_converter_gui_v2.py |
Multi-version support | |
| v1 | agape_converter_gui.py |
Original converter | |
| Form v6 | AI Compare File.py |
Split children spouse name fields |
Last Updated: 2026-04-25
Andrew Burkholder