1. Home
  2. Billing
  3. Projects
  4. Create Project

Create Project

The Projects module lets you create a structured project linked to a client so work, documents, and billing can be tracked accurately from day one. Defining the Project/Job Type, Project/Job Category, Project Owner, Project Status, and Estimated Cost ensures consistent reporting, profitability tracking, and easier coordination across teams.

Prerequisites:

  • A Client profile already exists (every project must be linked to a client — the project inherits the client’s billing currency).
  • At least one employee user who has Read permission on the Projects module exists, so they can be picked as Project Owner.
  • (Optional but recommended) Dropdown values for Project/Job Type, Project/Job Category, and Project Status are set in Dropdown Settings (see Dropdown Settings article). If a list is empty, you can open the dropdown in the form, click the + icon, and add a new value inline.

🛠 How to create a project

📍 Screen: Billing > Projects → click Add (top-right). The Add Project aside opens on the right — that aside is the screen where you fill in the fields below. The form is organised into three sections (each with its own header inside the aside): Project Details, Notes, and Attachments. You scroll the aside top-to-bottom to fill them in.

🔹 Project Details (required section)

All fields marked * are mandatory. The form will not submit until they are all filled.

FieldDescription
Project Name *Enter a clear, descriptive project name (e.g. “ACME Website Redesign — Phase 1”).
Client *Select the client from the dropdown (the list comes from the Client module). Picking the client automatically fixes the billing currency for every proforma, invoice, payment, and credit note raised under this project.
Project Owner *Assign a responsible person from the dropdown. Only users who have Read permission on the Projects module appear here. Resigned employees are still listed when you are editing a historic project so the original ownership is preserved.
Project/Job Type *Choose the nature of the project (e.g. Development, Maintenance, AC Installation, Marketing Package). Values are configurable in Dropdown Settings.
Project/Job Category *Choose the primary skill or domain required (e.g. Web App, IT Infra, Civil Works, Software). Values are configurable in Dropdown Settings.
Project Status *Set the current stage (e.g. Analysis, Started, In Progress, On Hold, Completed, Cancelled). Status is for internal tracking only — it does not affect billing or invoicing rights. Values are configurable in Dropdown Settings.
Estimated Cost *The estimated total project value in the client’s currency. Used as a budget reference when raising proformas / invoices — converting a Proforma to an Invoice will warn you if the invoice amount exceeds this estimate. Accepts decimals (full precision is kept for calculations and 2 decimals are shown). Cannot be negative.

💱 Currency note: Currency lives on the Client, not the project. There is no Project Currency field on this form. The currency you see on proformas, invoices, payments, and credit notes raised under this project is whatever the linked client is set to. To change a project’s currency, change the client’s currency from the Client module (only allowed if no transactions exist yet).

Add a missing dropdown value inline: If the value you need for Project/Job Type, Project/Job Category, or Project Status isn’t in the list, open the dropdown and click the + icon at the top. You can add the new value without leaving the project form, and it becomes available immediately.

📝 Notes (optional section)

Free-text area for project objectives, scope summary, milestones, special requirements, or hand-off instructions. There is no character limit.

📎 Attachments (optional section)

Upload contracts, signed quotations, scope documents, design files, plans, or any supporting reference. You can either pick files using the upload field, or click the maximize icon next to the upload field to open the full Upload dialog (where you can add a description against each file before saving).

📌 Accepted file types: JPG / PNG images and PDF documents only. Files of any other format are rejected at upload time with an “Invalid File Format” warning.

💾 Save the project

  1. Once all required fields are filled, click Save at the top-right of the aside.
  2. The Save button switches to Saving… with a spinner and is disabled until the server confirms — this prevents accidental double-clicks creating duplicate projects.
  3. If any required field is empty, you will see a Please fill mandatory fields warning and the missing fields are highlighted — correct them and try again.
  4. To exit without saving, click the × icon in the header. If you have entered any data, the system asks you to confirm before discarding.

⚠️ Note: You can manage / extend the values for Project/Job Type, Project/Job Category, and Project Status any time from Dropdown Settings (see Dropdown Settings article). Newly added values become available in the dropdowns immediately.

📥 Bulk Import (Multiple Projects at Once)

To onboard many projects in one go — for example when migrating from another tool — use the standard Validate & Import flow from the Projects list. Bulk import follows the same template every other module uses (Catalog, Asset, Client, Supplier, Employee…), so the steps will look familiar.

📍 Screen: Billing > Projects → click Import (next to the Add button). The Validate & Import dialog opens.

  1. Click Download Sample. The downloaded file’s first row is a real, fillable example. Every FK / dropdown column (Client, Project Owner, Project/Job Type, Project/Job Category, Project Status) lists every valid value separated by “ / ” — pick one when you fill the actual rows. The Estimated Cost column is included; enter a number, no currency symbol.
  2. Fill in your project rows in the file and save.
  3. Click Validate. The system checks every row against the dropdown lists, the client master, and the project owner master. Invalid + duplicate rows are listed back to you in a result file with the row-level reason.
  4. Fix the flagged rows, re-validate if needed, then click Import.

📌 Tip: Keep your Project/Job Type, Category and Status dropdowns and your Client master finalised before downloading the sample — that way the “valid values” list in the sample header reflects exactly what’s allowed, and validation passes on the first try.

✏️ How to choose the right dropdown values

  1. 📦 Project/Job Type
    1. Purpose: Define the nature of the service / product / job offered.
    2. Examples:
      1. New Air Conditioner & Installation Package
      2. Web Design Package
      3. Company Setup Service
      4. Annual Maintenance Contract
  2. 📊 Project Status
    1. Purpose: Reflect the current progress / stage of the project — purely for internal tracking. It does not block billing or invoicing.
    2. Examples:
      1. Analysis
      2. Started
      3. In Progress / On Going
      4. On Hold
      5. Completed
      6. Cancelled
  3. 🧩 Project/Job Category
    1. Purpose: Identify the primary skill or domain required to execute the project (useful for resourcing and reports).
    2. Examples:
      1. Web App
      2. Mobile App
      3. IT Infrastructure
      4. Civil / Site Work
      5. Marketing

📂 Tabs Inside a Project (after saving)

📍 Screen: Open any saved project from Billing > Projects. Across the top of the aside panel you will see four tabs — each tab is a separate screen within the same project, click a tab to switch the view.

  • Details — the form / view of the project fields above. The Edit button (top-right of the header) appears on this tab when you have Update permission; Previous / Next chevrons appear when you have Read All permission, letting you walk through projects without leaving the aside.
  • Attachments — files uploaded against this project, shown as document chips with open and download icons.
  • Statement — a per-project running statement of every proforma, invoice, payment, and credit note raised under this project (see Project Statement Tab).
  • Logs — complete change history of every edit made to this project, with the who / what / when. Timestamps are shown in dd-MMM-yyyy HH:mm format (Indian standard). Visible only to roles that have the Changelog permission on the Projects module.

🗑 Delete a project: Available only when you have Delete permission on the Projects module — the Delete button appears at the bottom of the form on the Details tab in View / Edit mode. Use sparingly; for closed work prefer setting Project Status to Completed or Cancelled so the audit trail (Statement, Logs) remains intact.

Important Points / Reminders

  • 🔗 Client Association: Every project must be linked to an existing client; the client’s currency becomes the project’s currency.
  • 💰 Estimated Cost is your budget anchor: Keep it realistic — the system will warn you when a Proforma is converted into an Invoice that would exceed this estimate.
  • 👤 Project Owner from the User module: Owners come from users who have Read permission on the Projects module. Make sure the right people have the right role before creating projects.
  • 📜 Resigned users still appear when editing historic projects, so original ownership is preserved on closed records.
  • Review before Save: Double-check Client, Type, Category, Status, and Estimated Cost — these flow into reports and are auditable through the Logs tab.
  • 🔄 Keep Status current: Up-to-date status drives accurate dashboards and project-statement views.

💡 Tips

  • If a dropdown value you need does not exist, you can add it inline (the + icon inside the dropdown) without leaving the form.
  • Attach the signed scope / contract under Attachments the moment you create the project — future invoices and credit notes against this project can refer to that one canonical version.
  • Use Notes for milestone targets and the Logs tab as your audit trail; together they give you a self-contained project record.
  • Need many projects at once? Use Bulk Import instead of opening the Add aside dozens of times — finalise your dropdowns first so the sample file lists the right valid values.

How can we help?