Python Developer — Automated Finance Report Generator (Packaged .EXE)
Worldwide
We need an experienced Python developer to build a standalone Windows desktop application (.EXE) that automates the production of PowerPoint finance reports for multiple insurance clients. The tool reads structured source data files (Excel spreadsheets and PDFs), performs matching and aggregation logic, and outputs a formatted multi-slide PowerPoint presentation per client — all from a single double-click, with no Python installation required on the end user's machine. You will be provided with full specifications, sample data files, and a reference output PowerPoint so you can match the exact layout and logic. Deliverable must be uploaded to a dedicated Google Drive folder for acceptance testing. WHAT THE APPLICATION DOES The agent performs the following pipeline end-to-end: - Reads 7 source data files placed in the same directory as the .EXE (sage_ar_extract.xlsx, fronter_soa.pdf, insurer_*.xlsx) - Matches 84 buyer name variants across data sources using fuzzy/lookup logic - Aggregates outstanding balances, ageing buckets, and transaction history per client - Generates one PowerPoint (.pptx) file per client (10 clients total) in an output\ subfolder - Runs all 10 clients in sequence when executed without arguments, or a single client via --client flag - Prints a plain-text summary log to console on completion TECHNICAL REQUIREMENTS Core Stack: - Language: Python 3.10+ - PowerPoint generation: python-pptx - Data processing: pandas, openpyxl - PDF extraction: pdfplumber or PyMuPDF (fitz) - Packaging: PyInstaller — must produce a single dist\ folder with .EXE + _internal\ - No external dependencies: End-user machine needs no Python, pip, or libraries installed PowerPoint Output Specs: - Slide dimensions, colour palette, fonts, and layout must match the reference .pptx exactly - Dynamic content: client name, report date, balance tables, ageing chart - At least one chart (bar or column) built programmatically via python-pptx — not embedded images - All monetary values formatted with thousand separators and currency symbol Packaging & Delivery: - EXE must run correctly when double-clicked from any Windows path (no hardcoded paths) - Source data files must be read from the same directory as the EXE (relative paths via sys._MEIPASS) - Include your build command and requirements.txt / spec file in the delivery Code Quality: - Clean, commented Python — not a one-file script; use functions/modules - Error handling: if a source file is missing, print a clear message and skip that client gracefully - Reproducible build: reviewer must be able to re-run PyInstaller from your spec file and get the same EXE DELIVERABLES 1. Working .EXE — passes acceptance test on a clean Windows 10/11 machine with no Python installed 2. Source code — full Python project committed to a private GitHub repository (no zip delivery). Add me as a collaborator at project start. 3. Build artefacts — requirements.txt, PyInstaller .spec file, and build instructions 4. Google Drive upload — all of the above uploaded to the shared folder I will provide (this is how I will test and accept) 5. Brief README — one page explaining how to add a new client and how to update the data files REQUIRED SKILLS - Python 3 — intermediate to advanced (data processing, file I/O, CLI arguments) - pandas — reading, merging, and aggregating tabular data from Excel - pdfplumber or PyMuPDF — extracting structured tables from PDF files - python-pptx — creating slides, charts, tables, and dynamic text programmatically - PyInstaller — packaging Python apps into standalone Windows .EXE bundles - Git & GitHub — source code via private GitHub repository; add client as collaborator at kickoff NICE TO HAVE - Experience with fuzzy string matching (rapidfuzz or similar) - Previous work building finance or accounting automation tools - Familiarity with insurance or AR (Accounts Receivable) data structures BUDGET & TIMELINE - Fixed price: $300–$500 USD (negotiable based on portfolio) - Timeline: 5–7 business days from kickoff to final delivery - Milestones: Day 1–2: specs confirmed + test run; Day 3–5: full pipeline working; Day 6–7: EXE packaged + Google Drive delivery HOW TO APPLY Please include in your proposal: - A brief description of a similar project you have built (Python + report automation or EXE packaging) - A sample .py or GitHub link showing your python-pptx or PyInstaller experience - Your estimated timeline and fixed price - Any questions about the specs — candidates who ask smart questions move to the top of the list I will share the full spec document, sample data files (anonymised), and reference output PPT with shortlisted candidates. A Google Drive folder will be provided at kickoff for delivery.
- Not SureHourly
- 1-3 monthsDuration
- IntermediateExperience Level
$20.00
-
$40.00
Hourly- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:20 to 50
- Last viewed by client:last week
- Interviewing:6
- Invites sent:6
- Unanswered invites:3
About the client
- United Arab EmiratesDubai2:54 PM
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by