Personal project · Learning by building
Frappe contract tracker
Web Development · Product & Process · Testing & validation
Source codeNot deployed yet
Problem
A freelancer needs to know which quotes are approved, what has been paid, and who still owes money.
My work
- A Frappe 15 app with Client, Contract, Contract Item, and Payment doctypes. Totals, paid amount, and balance are calculated on save.
- Draft, Approved, and Done workflow. Only the Freelance Owner can approve, and only when the total is above zero.
- Payment checks: a payment needs an approved contract and cannot be more than the balance. Submitting it updates the contract balance.
- Owner and assistant roles, an Unpaid Contracts report, a sample data loader, and 11 unit tests for the business logic.
Result
The Unpaid Contracts report lists only approved or done contracts that still have a balance. Draft quotes and paid contracts stay off it.
- Python
- Frappe
- JavaScript
- MariaDB
I use AI-assisted tools to learn and improve my work, and review and check the results.