A robust Project Management API designed to simplify and automate the full project lifecycle. This API allows seamless management of clients, projects, and invoices, supporting business workflows such as billing, adjustments, reporting, and approval processes.
- Clients โ Manage client relationships, details, and associated projects.
- Projects โ Full CRUD support to manage project lifecycle per client.
- Invoices โ Automated invoice generation and tracking with support for multiple invoices per project. Handles pending, sent, and paid states, as well as adjustments and credits.
- Manage clients and their projects.
- Generate and manage invoices, including multiple invoices per project.
- Support invoice states: Pending, Sent, Paid.
- Apply adjustments or credits to invoices.
- Approval workflow for invoices: staff create/manage, managers approve/report.
- Pull financial reports on outstanding balances and billing history.
- Role-based user management: Staff and Managers with separate permissions.
- Create Environment
python3 -m venv venv
source venv/bin/activate
- Install Dependencies
pip install -r requirements.txt
- Run the Server
uvicorn app.main:app --reload
Once the server is running, access the interactive API docs at:
or the alternative ReDoc interface:
- Staff: Create and manage invoices.
- Managers: Approve invoices, generate reports, and oversee financial workflows.
The API supports pulling reports on:
- Outstanding balances per client or project.
- Billing history across selected periods.
- Status of invoices (pending, sent, paid) including adjustments and credits applied.
For support or queries, reach out to:
Name: Senior Developer
Email: [email protected]
Website: https://bdo.nz/support
This project is licensed under the MIT License.
License: MIT
URL: https://opensource.org/licenses/MIT
- Create a virtual environment.
- Install dependencies.
- Run the server with
uvicorn app.main:app --reload. - Use API documentation to interact with Clients, Projects, and Invoices endpoints.