Features
Time Tracking and Invoicing Without the Bloat
Built for solo consultants and small firms who bill by the hour. No dashboards you'll never use, no integrations you didn't ask for. Just clean time entry, honest invoices, and clear reports.
Day and Week Time Entry
Enter billable hours by day or week. Week view shows tasks as rows with day columns for fast data entry across an entire week.
Bulk Month Fill
One click fills a set number of hours for every weekday in a month for a given task. Perfect for retainer engagements.
Client Management
Full client records with name, address, currency preference, and configurable invoice terms (Net 15/30/45/60 or custom).
Contact Management
Multiple contacts per client with name, email, title, phone, mobile, and fax. Contacts receive invoices directly.
Project Management
Projects grouped by client with All/Active/Archived filtering. Edit, duplicate, archive, or delete projects (guarded — no deletion if time recorded).
Task Management
Tasks belong to projects with individual billable rates. Archive tasks to hide from time entry. Delete only when no time recorded.
Expense Tracking
Record expenses by date, project, category, and amount. Attach scanned receipts as PDF files.
Expense Categories
Preconfigured categories (Entertainment, Meals, Lodging, Mileage, Transportation, Other) with custom category support. Archive or delete unused categories.
Receipt Attachments
Attach PDF files to expenses as scanned receipt documentation. Files stored and linked to the expense record.
Invoice Creation Wizard
Step-by-step: select client, choose projects, pick time period (all uninvoiced, current month, last month, custom range), include expenses, enter invoice details.
Weekly Line Items
Invoices break down billable time by week with hours, rate, and line total. Expenses appear as separate line items. Running total at bottom.
Invoice Lifecycle
Track invoices through draft, sent, paid, and written-off statuses. Full history log of every state change.
Invoice Filtering
Filter invoice list by client, date range, and status. Sort by any column. Quick view of outstanding vs paid.
PDF Invoice Generation
Generate formatted PDF invoices for download or email. Invoice layout mirrors the on-screen detail view.
Invoice Email Delivery
Send PDF invoices directly to client contacts via email. Invoice history tracks sent status and dates.
Accounts Receivable Report
Standard AR report showing all outstanding invoices with aging. Know exactly what's owed at a glance.
Invoice Report
Comprehensive invoice report filterable by client, date range, and active status. Shows hours, amounts, and totals. CSV export.
Company Settings
Configure company name, address, contact information, and default billable rate used when creating new tasks.
Client-Based Organization
Everything flows from clients: projects, tasks, time, expenses, invoices, contacts. One clean hierarchy.
Project-Task Association
All time entries link to a project and task. Hours roll up automatically for invoicing and reporting.
How It Works
From Time Entry to Payment
Track
Enter time by day or week against project tasks. Log expenses with receipt attachments.
Invoice
Select client, choose billable period, include expenses. Meridian generates line-itemized invoices automatically.
Send
Generate PDF and email directly to client contacts. Invoice history tracks delivery and payment status.
Report
Run AR and invoice reports. Export to CSV. Know what's owed and what's been paid.
Technical Specifications
Under the Hood
Backend
- Flask (Python)
- PostgreSQL database
- RESTful API
- PDF generation
- Email delivery
- File attachment storage
Frontend
- React with Vite
- Day/week time entry grid
- Invoice creation wizard
- Responsive design
- Light and dark mode
Data Model
- Clients with contacts
- Projects with tasks
- Time entries by day
- Expenses with categories
- Invoices with line items
- Full audit trail
Infrastructure
- Docker Compose deployment
- Nginx reverse proxy
- PostgreSQL persistence
- CI/CD pipeline
Development
100% Built by Claude
Meridian was built entirely by Claude (Anthropic) working alongside a single human supervisor. Every line of code, every test, every deployment: AI-authored with human direction.