Chapter 5

Projects

Note — desktop feature. This chapter describes the TechieCRM desktop application. Projects is not yet available in the web portal: the web shows a read-only list of any records synced from the desktop, and none of the dialogs, toolbars, right-click actions or automations described below exist there yet.

Source-CRM ancestor: Action Plans (renamed Project Plans). TechieCRM adds first-class Projects with phases, milestones, resources and a Gantt timeline.

In this chapter - Projects vs Project Plans - Project Plans: templates and scheduling - Creating and running a project - Phases, milestones, resources, timeline - Set Up Project Phases - Hand-offs: Sale → Project, Project → Service Ticket, Project → Invoice


Two views, one panel

The Projects panel has a Projects ⇄ Project Plans toggle. Project Plans are the source CRM's action plans (a template of dated tasks/meetings attached to a client, sale or case). Projects are native TechieCRM records structured like a sale or case, with their own phases and a timeline.

Project Plans (simple)

Project Templates… lists the templates; Schedule… seeds a plan from a template: pick the template, the start date and the record it attaches to — the steps preview at their computed dates — OK creates the tasks/meetings in your calendar and the plan appears in the list. Also reachable from any Activities tab (Schedule ▸ Project Plan).

Scheduling a plan is all-or-nothing. The plan and every one of its steps are written together. If anything goes wrong part-way — a step that cannot be saved, a dropped connection — the whole thing is undone and you are told which step failed, with the words "Nothing was written — there is no plan, and none of its appointments or tasks were created." You will not find a half-scheduled plan in the list, and you will not find orphan tasks or meetings in your calendar from a plan that never appeared. Fix whatever the message names and press OK again; there is nothing to clean up first. The same guarantee covers the plan a new project's first phase schedules for you.

One thing that guarantee does not cover, and what you are told about it. A phase's plan is scheduled in two parts: the plan itself (all-or-nothing, as above), and then a short note on the phase recording which plan it is now running. If the first part succeeds and the second is refused — the database goes away in the split second between them — the plan and all of its tasks and meetings are real and correct, but the phase does not know about them.

That situation is reported wherever it happens: a message names the plan number, confirms "its tasks and meetings HAVE been created", and asks you not to schedule that phase again — the phase has no record of the first attempt, so a second one would create a duplicate set of tasks and meetings rather than replacing them. The plan is in the Project Plans list under the project's name, with all its steps. Tell whoever looks after the database; the phase can be re-linked there. Until 2026-09-05 this was shown as a plain success.

You will see that message on every one of the ways a phase's plan gets scheduled:

  • when you schedule it yourself — Phases & Milestones ▸ Action Plan ▸ Schedule this Action Plan now?;
  • when Set as current phase schedules it for you on entering the phase. Until 2026-09-06 this one said nothing at all: the phase advanced, the message went to the application log, and the natural next move — schedule the phase again — was the one thing that would double up the tasks;
  • when you save a brand-new project whose first phase carries a template. A project's first phase is entered the moment the project is created, so its plan is scheduled there and then, without anyone pressing anything. This was the last silent path and was closed on 2026-09-07. The message appears after the project is saved, over the project's own dialog — the project itself is created either way, and its "created" and "could not be created" messages can never appear alongside it.
  • when you use Actions ▸ Create Project from this Sale in a Sales record. That is the same creation with a different button on it, so it reports the same way, before the new project's dialog opens.

A plan that failed without creating anything reads differently on purpose: it opens with "Could not schedule the phase's Action Plan" and nothing was written, so it is safe to try again once the cause is fixed. The distinction is the first line of the message; read it before you retry. A message that opens "The Action Plan was scheduled as plan #…" is never prefixed with a "could not schedule" heading, because those two statements contradict each other and the retry that follows from believing the heading is the harmful move.

Projects (native)

The list's Column Setup button (left of Refresh; ribbon Setup ▸ Column Setup) chooses / creates / shares the columns — one setup for the Projects list, another for Project Plans (Chapter 20). The money columns (Budget, Cost, Revenue, Billing rate) are right-aligned and written without a $ symbol — 1,234.50 — and a negative figure (an over-run margin) leads with the minus sign: -5.50. See Chapter 7, How money is written.

New Project → the project dialog: | Tab | Contents | |---|---| | Basic | Name, client, manager, team, status (Proposed / Planning / Active / On Hold / Completed / Cancelled), Flow (process phase set, current phase, % complete bar), dates, budget / cost / revenue, billing, hold reason, completion notes, linked sale. | | User-Defined Fields | Project UDFs. | | Activities | Project tasks/meetings (project-scoped). | | Phases & Milestones | The project's own phases with planned/actual dates and status; milestones (add/edit, %-complete blend option). Set current phase advances the flow and rolls up % complete. | | Resources | People/partners assigned. | | Timeline | Gantt: phase outlines (planned) with actual bars by status, milestone diamonds, today line. | | Work Orders | Work orders spawned by the project (Chapter 8). A brand-new project has nothing to attach a work order to yet, so the tab reads "Save this record first to add work orders."; click Save or Apply and the tab becomes live in the same session — you do not have to close and reopen the project. | Creating a project seeds the default phases (Initiation → Planning → Execution → Monitoring → Closure) — or the phase set you choose — and schedules the first phase's project plan.

Jumping straight to the Gantt. With a project selected in the list, the ribbon's View ▸ Timeline ▸ Gantt button opens that project already showing its Timeline tab. If no project is selected it tells you so ("Select a project first.") rather than doing nothing.

Set Up Project Phases

From the dialog's Flow group or the panel toolbar: define reusable phase sets (process templates) that new projects seed from. Deleting the phase set that is the default also makes another set the default in the same step, so there is always one; the last remaining set cannot be deleted.

Hand-offs

Sale ▸ Create Project carries the client and revenue into a new project; Project ▸ Create Service Ticket opens a service ticket for follow-up work. Both keep the links so Interactions shows the chain.

The project dialog's Actions button holds the two hand-offs that start from a project:

Action What it does
Create Service Ticket from this Project Opens a new service ticket for the project's client, subject "<project name> — service", linked back to the project — so the ticket appears on the project's Interactions and the project shows on the ticket. The new ticket opens straight away.
Create Invoice from this Project Raises an AR invoice for the project's client with a single line: the project's name, quantity 1, priced at the project's Revenue (or, if Revenue is 0, its Billing Rate). Dated today, due in 30 days, and back-referenced to the project so the invoice shows what it was billed for. The new invoice opens straight away in the Financials document window (Chapter 7).

When Create Invoice refuses. It stops with a message instead of creating anything if: - the project has not been saved yet — "Save the project first…": click Save or Apply first; - the project has no client — "This project has no client to invoice.": set the client on the Basic tab; - both Revenue and Billing Rate are 0"Set the project's Revenue (or Billing Rate) before invoicing." This is the usual one. Put the amount to bill in Revenue on the Basic tab (or a Billing Rate if you bill by rate) and try again. There is no zero-value invoice.

The same three conditions apply to Create Service Ticket from this Project, except the amount check — a ticket only needs a saved project with a client.