PV Panel Quality Control Workflow
Overview
This project documents and automates the quality control workflow of photovoltaic (PV) panel logistics and installation. It streamlines the processing of data from multiple stakeholders involved in the panel lifecycle — from production to installation — ensuring transparency and accuracy across the board.
Roles and Data Sources
- Manufacturer: Provides PV production data and electroluminescence (EL) photos.
- Quality Certifier: Issues inspection reports and defect listings (PDF format).
- Logistics: Shares delivery records from warehouse to site.
- Site Installer: Maintains layout maps and installation logs.
Workflow Automation
Scripts process files from different contributors and unify them into a central database. Here's the role of each:
from-manufacturer.py
: Processes Excel files containing serial numbers and electrical values of produced panels.from-quality-certifier.py
: Parses inspection reports to extract defect data.from-logistics.py
: Converts transport logs into database entries.site-layout.py
: Integrates installation records with site coordinates.
All data is stored in a structured SQL backend using SQLAlchemy
.
Technical Stack
- Language: Python 3.x
- Key Libraries:
pandas
,numpy
: Data processingsqlalchemy
: Database interactionPyMuPDF (fitz)
: PDF parsing- Automation:
- Manual file download (future work: Power Automate or SharePoint API)
- Unzipping and processing
- Data integrity checks before database insert
Challenges and TO-DOs
- [x] Automate SharePoint integration (Power Automate / Python API)
- [x] Complete parsing for manufacturer and certifier data
- [x] Finalize logistics and layout script
- [x] Integrate Power BI dashboard
- [x] Map equipment to standard internal codes
Outcome
This toolset significantly reduced the manual effort required for quality tracking and improved traceability of each PV panel from factory to installation. A Power BI dashboard is planned to visualize KPIs and installation completeness.
Note
Names and entities have been anonymized to maintain confidentiality.