V1-Expense Report

Draft Expense report enhancement

Product Requirements Document (PRD): Task Hour Billable and Enhanced Expense Reporting System

Objective

Streamline financial tracking in Agency Handy by enabling task billability differentiation, automating expense entries, and providing an intuitive expense reporting system.

Business Need

Accurate Financial Tracking: Improve revenue management with billable task hours linked to hourly rates.
Expense Automation: Reduce manual effort by automating order-related expense tracking.
Revenue Insights: Offer clear indicators of earnings and expenses for better financial decision-making.

User Goals

Mark and track task hours as billable or non-billable.
Automate expense entries for orders and paid invoices.
Enable manual expense addition with detailed attribution.
View earnings and expenses with detailed filters, summaries, and search options.

Functional Requirements

1. Task Hour Management

Billable vs. Non-Billable Task Hours:
Include a toggle in the task creation/edit modal to mark hours as "Billable" or "Non-Billable."
Non-billable hours are excluded from expense calculations.
Billable Hour Calculation:
Multiply tracked billable hours by the hourly rate of the assigned team member.
Add resulting costs automatically to the expense report under the relevant task.

2. Expense Report Enhancements

Automatic Expense Entries:
Automatically add expenses for:
New Orders: Amounts from orders.
Paid Invoices: Mark revenue as "Earned."
Order-based expenses are categorized as "Order Expenses."
Manual Expense Addition:
Fields include:
Expense Name (e.g., "Consultation Fee")
Amount
Associated Task/Order (optional)
Client Name (optional)
Date
Notes
Allow edits or deletions of manual entries.
Expense Status Indicators:
Paid invoices are flagged as "Earned."
Differentiate billable expenses with "Billable" and "Non-Billable" tags.

3. User Interface and Filters

Summary View:
Display:
Total Expenses
Total Earnings
Net Balance (Earnings - Expenses)
Detailed Entry View:
Columns: Expense Name, Amount, Type (Billable/Non-Billable/Order), Associated Task/Order, Status (Paid/Earned), Date, Notes.
Search and Filters:
Enable search by Name, Task, Order, and Client.
Filters for:
Date Range
Type (Billable, Non-Billable, Order)
Status (Paid, Pending)

4. Integration with Invoices and Orders

Automatic Updates for Invoices:
Mark invoices marked "Paid" as "Earned" in the expense report.
Order-Based Expense Entries:
Auto-add order amounts to the expense report upon order creation.

Acceptance Criteria

Task Hour Tracking:
Users can toggle between billable and non-billable hours during task creation or editing.
Billable hours are reflected as expenses.
Expense Report Functionality:
Automatically generate entries for orders and paid invoices.
Manual expense entries are editable and deletable.
User Interface:
Expense report shows summaries, filters, and detailed views.
System Performance:
Expense calculations and updates occur in real-time without noticeable delays.

Future Scope

Expense Categorization: Introduce custom expense categories.
Recurring Costs: Add support for recurring expenses (e.g., subscriptions).
Enhanced Visualizations: Provide graphs for expense vs. earnings trends.
Third-Party Integration: Sync expense data with financial tools (e.g., QuickBooks, Xero).
Hourly Rate Adjustments: Support different hourly rates per task or project.

Dependencies

Database Support: Ensure robust storage for expenses, tasks, and invoices.
Real-Time Calculations: Implement efficient algorithms for expense and earnings calculations.
API Updates: Allow third-party systems to access expense and earnings data securely.
This PRD aims to enhance the overall financial oversight and task management capabilities of Agency Handy, ensuring accurate, automated, and user-friendly reporting mechanisms.
Table 12
Client Name
Order ID
Task Name
Billable
Non- Billable
Invoiced
Due
Invoice Status
Mr A
12
Task 1
50 $
20 $
40 $
10 $
Paid
Task 2
20 $
10$
There are no rows in this table

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.