Proposals & Invoices ยท Article 5.9
Track billable hours and convert them to a proposal in one click
Log time against a project, mark entries billable or non-billable, and click `Create proposal from time` to convert tracked entries into proposal line items at your client's hourly rate.
Time tracking in Clozo is deliberately minimal โ we're not a project-management tool. The feature exists because EU freelancers commonly bill by the hour and need a friction-free path from "I worked" to "send the invoice". /time-tracking is a single page with a per-day timer and a per-week summary; it captures only what's needed for billing.
Step by step
Log a time entry.
Open
/time-trackingโ+ Add entry. Pick client, type a project description, pick the date, enter duration in HH:MM (e.g.,2:30for two-and-a-half hours), tickBillableif it counts toward an invoice.Repeat across the week or month.
Entries appear in a per-week list; you can edit or delete any entry.
Convert to a proposal.
When you're ready to bill, click
Create proposal from timeat the top of the page. Pick the client. The wizard opens with line items pre-filled.Adjust as needed.
Merge entries with similar descriptions, edit rates per row if you have multi-rate work, add fixed-price line items for non-hour work (e.g., "Asset license fee โ โฌ150").
Send the proposal.
Standard wizard finish โ title, deposit %, payment terms, preview, send.
Why this works this way
Data model. A TimeEntry has: client, project description, date, duration (minutes), billable flag (default true), optional note. There's no start/stop timer in v1 โ you log durations after the fact. We considered a live timer but most freelancers either time-track in their own tools (Toggl, Harvest) or estimate after-the-fact; live-timer added UI complexity for marginal value.
Conversion mechanics. When you click Create proposal from time:
1. Clozo queries all billable=true time entries for the selected client, grouped by project description.
2. Each unique description becomes one hourly line item: description={project description}, quantity={total hours}, rate={client.default_hourly_rate}, type=hourly.
3. The proposal wizard opens at step 3 (line items), pre-populated. You can edit, merge, or split rows before sending.
4. Non-billable entries are not included but remain in your time records for reference.
Hourly rate precedence. The conversion uses the client's default_hourly_rate first. If that's empty, it falls back to your profile's default_hourly_rate. If that's also empty, it inserts 0 and you must edit before sending. For multi-rate work (different rates for different skills), edit the line items individually after conversion.
Why entries are converted, not "linked". A common request is "link the time entries to the line items so I can drill in from the invoice". We don't do this in v1 because EU invoices are point-in-time legal documents โ the invoice should be readable on its own without reference to a time-tracker, especially for a future tax audit 7 years from now. The conversion is one-way: time โ line items, no live link.
Troubleshooting
Keep reading
Proposals & Invoices
Anatomy of a proposal
A Clozo proposal is a single legal document with seven moving parts: title, line items, deposit split, payment terms, language, dates, and the metadata that drives VAT and signatures.
Working with Clients
Adding a client: the four fields that matter
Name, email, country, and the B2B/B2C flag โ those four fields turn an empty client record into one Clozo can build legally correct invoices from.
Quick Start
Send your first proposal
From an empty `New proposal` form to a green `Sent` badge on your dashboard, in under 10 minutes.