Advanced: Projects
For users who already know the basics β this guide covers the rate hierarchy in depth from the project side, milestone dependency chains, task realignment after delays, using the AI planning assistant effectively, archiving prerequisites, and historical rate tracking.
Rate Hierarchy: The Project Side
The three-tier rate hierarchy is described in the Time Tracking advanced guide from the employee perspective. Here it is from the project manager's perspective:
Setting the project default rate β Project Show β Settings β Hourly Rate. This is the rate applied to every team member who doesn't have an individual override. Set this whenever you create a client-billable project.
Setting per-member rates β Project Show β Team β {member} β Edit β Hourly Rate. This is the override for a specific person on this project. Common uses: senior employees billing at a higher rate than the project default; contractors billing at a negotiated rate; trainee employees billing at a lower rate.
Blank cascades down. If you leave the per-member rate blank, the project default applies. If you leave the project default blank too, the employee's profile default applies. If all three are blank, the line item imports at CHF 0.00. There is no warning β always spot-check your first invoice for a new project.
Rate at import time, not clock-out time. The rate appearing on an invoice line is resolved the moment you click "Add unbilled hours" on the invoice, not when the employee clocked in. If you change a team member's rate in week 3, their week 1β2 hours will use the new rate when imported. Import each week before changing rates if you need historical accuracy.
Historical Rate Tracking
For projects with long timelines or changing rates, the system maintains a separate rate history per team member per project. This is separate from the "current" rate shown on the team pivot.
To view rate history: Project Show β Team β {member} β Rate History. Each entry shows:
- The rate amount
- The rate type (standard, overtime, etc.)
- The validity period (from/to dates)
- Whether the rate was approved and by whom
Rate changes create history entries automatically. When you update a team member's rate, the old rate is archived with an end date and the new rate becomes current.
The billing implication: Rates from history are not applied automatically at import time β the import always uses the current active rate. Historical rate tracking is primarily for audit and reporting purposes, not for automatic time-period-based rate switching. If you need to invoice week 1 at the old rate and week 2 at the new rate, you must adjust the invoice line items manually after import.
Milestone Dependency Chains
Milestones can have dependencies β a milestone marked as dependent on another cannot be started until the prerequisite is complete.
Setting up dependencies: When creating or editing a milestone, you can select one or more prerequisite milestones from the same project. The timeline view will draw arrows between them.
Circular dependencies are blocked. You cannot set Milestone B as dependent on Milestone A if Milestone A is already dependent on Milestone B (directly or indirectly). The form will reject the circular reference.
Dependencies are advisory, not enforced. The system won't prevent a team member from logging work on a dependent milestone before the prerequisite is complete. Dependencies are a planning tool, not a workflow gate.
Task Realignment After Delays
When a milestone slips (or a task runs over), its downstream dependents don't adjust automatically β you must trigger realignment manually.
Per-task realignment: Open the task β click Realign dependents β enter the new start date for this task β confirm. The system pushes all tasks that depend (directly or transitively) on this one forward by the same delta.
Project-wide realignment: Project Show β Milestones & Tasks β Realign all β enter the new base date. This recalculates the entire dependency chain from the project start date. Use this when a significant early milestone slips and you want to reschedule everything downstream in one operation.
What realignment does and doesn't change:
- Changes: task start dates, task due dates, milestone due dates (if tasks are linked to them).
- Does not change: task assignments, task status, time entries already logged, or invoice data.
Run realignment after every significant milestone slip. Letting the schedule drift without realignment means your Timeline view becomes meaningless within a few weeks.
Using the AI Planning Assistant
The AI Planning Assistant (Project Show β KI-Planung) is a per-project chat interface. It has context about the project name, client, status, and existing milestones and tasks.
What it's good at:
- Generating a first-pass milestone and task breakdown from a project description. Tell it "We're building a 3-location retail fitout, 8 weeks, 4 workers" and it will propose a realistic structure.
- Restructuring a stalled plan β describe what's changed and ask it to propose a revised schedule.
- Adding tasks to an existing milestone β "What tasks are typically needed for a commissioning milestone in an HVAC installation?"
What it can't do:
- It does not know about your employees' actual availability, leave calendar, or workload.
- It cannot assign employees to tasks or create time entries.
- It does not access data outside the current project (it can't see your other projects or past projects for comparison).
The execute step is explicit. The AI proposes milestones and tasks in a preview panel. Nothing is created in the project until you click Execute. Review the proposal carefully before executing β bulk-created milestones are easier to prevent than to undo.
Archiving Prerequisites
Archiving moves a project out of the active list but keeps all data. It is a warning-only flow, not a hard block β the system surfaces an unbilled-hours count in the confirmation modal so you can decide before archiving, but it never refuses the action.
When you trigger Archive on a project, the system:
- Counts unbilled hours β time entries linked to the project that are billable and not yet added to an invoice. If any exist, the confirmation modal text changes to include the count and total hours so you can review before confirming.
- Shows the standard archive confirmation otherwise.
That's it β there is no unpaid-invoice check, and confirming the modal archives the project regardless of unbilled state.
Recommended workflow before archiving:
- Review the unbilled-hours count surfaced by the modal. If non-zero and you intend to bill, cancel and create an invoice first (Invoicing β New β Add unbilled hours). Otherwise mark the entries as non-billable so they don't keep haunting future archive prompts.
- Check the project's invoices manually if you also want to be sure no unpaid invoices remain β the archive modal does NOT report this; it's on you.
Completed β Archived. Setting the project status to Completed does not trigger the unbilled-hours count and does not remove the project from the active list. Archiving is a separate deliberate action.
Related Guides
- Modules-Projekte β basic setup and daily workflow
- Advanced: Zeiterfassung β rate hierarchy from the time-tracking side
- Advanced: Rechnungsstellung β turning project hours and expenses into invoices
Was this article helpful?
Still need help?
Contact support