Projects

Projects are unique sequences of tasks that must be completed to reach a certain outcome.

Available methods

Project object properties

A project is a unique sequence of tasks that must be completed to reach a certain outcome.

The Project object has the following properties:

Property

Description

Type

Read-only

Query allowed

Sorting allowed

accountingCode

Optional accounting code that can be used for integration with external accounting systems.

string

-

Yes

-

attachments

The attachments associated with this project. Array of internal IDs for attachment objects.

Array of {'id': <integerValue>} objects.

Yes

-

-

autoBillCapValue

The autobilling cap amount, in the currency used for the project.

number($float)

-

Yes

-

billingCode

The project billing code. Used in bulk invoicing.

string

-

Yes

Yes

billingContactId

The internal ID of the billing contact, if different from the designated billing contact for the customer.

integer($int64)

-

Yes

Yes

bookingApprovalProcess

The internal ID of the approval process for bookings to the project. Mutually exclusive with bookingApprover.

integer($int64)

-

Yes

-

bookingApprover

The internal ID of the User who approves bookings to the project, if a single approver process is used. Mutually exclusive with bookingApprovalProcess.

Other possible values:

  • -1 - the booked resource's manager.

  • -2 - the manager of the booked resource's manager.

  • -3 - the project owner.

  • -4 - self (booked resource).

  • -9 - submitter. This option may not be available depending on your SuiteProjects Pro account configuration.

integer($int64)

-

Yes

-

bookingRequestApprovalProcess

The internal ID of the approval process for booking requests to the project, depending on your SuiteProjects Pro account configuration. Mutually exclusive with bookingRequestApprover.

The internal ID of the booking request approval process for the project. Mutually exclusive with bookingRequestApprover.

integer($int64)

-

Yes

-

bookingRequestApprover

The internal ID of the User who approves booking requests to the project, if a single approver process is used. Mutually exclusive with bookingApprovalProcess.

The internal ID of the employee who approves booking requests to the project, if a single approver process is used. Mutually exclusive with bookingApprovalProcess.

Other possible values:

  • -1 - the requested resource or the requester's manager, depending on your SuiteProjects Pro account configuration.

  • -2 - the manager of the booked resource or requester's manager.

  • -3 - the project owner.

  • -4 - self (booked resource or the requester).

  • -9 - submitter (requester). This option may not be available depending on your SuiteProjects Pro account configuration.

integer($int64)

-

Yes

-

budget

The budgeted revenue for the project.

number($float)

-

Yes

-

budgetApprovalProcess

The internal ID of the approval process for budget associated with the project. Mutually exclusive with budgetApprover.

integer($int64)

-

Yes

-

budgetApprover

The internal ID of the User who approves budgets for the project, if a single approver process is used. Mutually exclusive with budgetApprovalProcess.

Other possible values:

  • -1 - the budget owner's manager.

  • -2 - the manager of the budget owner's manager.

  • -3 - the project owner.

  • -4 - self (budget owner).

integer($int64)

-

Yes

-

budgetCost

The budgeted cost for the project.

number($float)

-

Yes

-

budgetTime

The budgeted amount of time for the project in hours.

number($float)

-

Yes

-

categoryFilter

A comma-delimited list of internal IDs of categories (services) against which time can be booked for the project.

string

-

Yes

-

contactId

The internal ID of the contact associated with the project.

integer($int64)

-

Yes

Yes

copyApprovers

A 1/0 field indicating whether to copy the project approvers associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyBookings

A 1/0 field indicating whether to copy the bookings associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyCpExcludeFilters

A 1/0 field indicating whether to copy the customers and projects to exclude from denominator when calculating user allocation % from the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyCustomFields

A 1/0 field indicating whether to copy the custom field values from the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyDashboardSettings

A 1/0 field indicating whether to copy the dashboard settings from the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyExpensePolicy

A 1/0 field indicating whether to copy the expense policy associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyInvoiceLayoutSettings

A 1/0 field indicating whether to copy the invoice layout settings associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyIssues

A 1/0 field indicating whether to copy the issues associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyLoadedCost

A 1/0 field indicating whether to copy the loaded costs from the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyNotificationSettings

A 1/0 field indicating whether to copy the notification settings from the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyProjectAssignmentProfiles

A 1/0 field indicating whether to copy the project assignment profiles associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyProjectBillingAutoSetting

A 1/0 field indicating whether to copy the automated project autobilling settings from the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyProjectBillingRules

A 1/0 field indicating whether to copy the project billing rules associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyProjectBudgetGroups

A 1/0 field indicating whether to copy the project budget groups associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyProjectPricing

A 1/0 field indicating whether to copy the project pricing associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyRevenueRecognitionAutoSettings

A 1/0 field indicating whether to copy the project revenue recognition autorun settings associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

copyRevenueRecognitionRules

A 1/0 field indicating whether to copy the project revenue recognition rules associated with the project or project template specified in templateProjectId. Used only with POST/projects/from-template/.

Boolean

-

-

-

costCenterId

The internal ID of the cost center associated with the project.

integer($int64)

-

Yes

Yes

created

The date the project was created.

string($date-time)

Yes

Yes

-

creditInvoiceLayoutId

The internal ID of the credit memo (negative invoice) layout associated with the project.

integer($int64)

-

Yes

Yes

currency

The currency for monetary values in the project record. Three-letter currency code.

string

-

Yes

-

customerId

The internal ID of the customer associated with the project .

integer($int64)

-

Yes

Yes

dashboardFrom

The item that determines if the dashboard is enabled.

Possible values:

  • S - Project stage

  • P - Project

string

-

Yes

-

dashboardMessage

The dashboard message.

string

-

Yes

-

discussionMessageCount

The number of messages in the project discussion for this project.

integer($int64)

Yes

Yes

Yes

expenseAllowanceApprovalProcess

The internal ID of the approval process for allowance reports associated with the project. Mutually exclusive with expenseAllowanceApprover.

integer($int64)

-

Yes

-

expenseAllowanceApprover

The internal ID of the User who approves allowance reports associated with the project, if a single approver process is used. Mutually exclusive with expenseAllowanceApprovalProcess.

Other possible values:

  • -1 - the allowance report owner's manager.

  • -2 - the manager of the allowance report owner's manager.

  • -3 - the project owner.

  • -4 - self (allowance report owner).

integer($int64)

-

Yes

-

expenseApprovalProcess

The internal ID of the approval process for expense reports associated with the project. Mutually exclusive with expenseApprover.

integer($int64)

-

Yes

-

expenseApprover

The internal ID of the User who approves expense reports associated with the project., if a single approver process is used. Mutually exclusive with expenseApprovalProcess.

Other possible values:

  • -1 - the expense report owner's manager.

  • -2 - the manager of the expense report owner's manager.

  • -3 - the project owner.

  • -4 - self (expense report owner).

integer($int64)

-

Yes

-

expenseAuthorizationApprovalProcess

The internal ID of the approval process for expense authorizations associated with the project. Mutually exclusive with expenseAuthorizationApprover.

integer($int64)

-

Yes

-

expenseAuthorizationApprover

The internal ID of the User who approves expense authorizations associated with the project, if a single approver process is used. Mutually exclusive with expenseAuthorizationApprovalProcess.

Other possible values:

  • -1 - the expense authorization owner's manager.

  • -2 - the manager of the expense authorization owner's manager.

  • -3 - the project owner.

  • -4 - self (expense authorization owner).

integer($int64)

-

Yes

-

externalId

The unique external ID of the project, if the record was imported from an external system.

string

-

Yes

Yes

filterSets

The filter sets associated with this project. Array of internal IDs for filter sets.

Users who have access to any of the filter sets associated with the project have accessto the project. Required if the Require a filter set selection when adding or editing project box is checked on the filter set settings form in SuiteProjects Pro (Administration > Global Settings > Account > Filter Set Settings).

Array of {'id': <integerValue>} objects.

-

Yes

-

finishDate

The calculated finish date of the project.

string($date)

Yes

Yes

Yes

hierarchyNodes

The hierarchy nodes associated with this project. Array of internal IDs for hierarchy nodes.

Only hierarchy nodes associated with a hierarchy that is shown on the project property form (Show this hierarchy when editing projects box checked on the hierarchy entity form in SuiteProjects Pro) are included.

Array of {'id': <integerValue>} objects.

-

Yes

-

id

The unique internal identifier of the project.

integer($int64)

Yes

-

Yes

invoiceApprovalProcess

The internal ID of the approval process for invoices associated with the project. Mutually exclusive with invoiceApprover.

integer($int64)

-

Yes

-

invoiceApprover

The internal ID of the User who approves invoices associated with the project, if a single approver process is used. Mutually exclusive with invoiceApprovalProcess.

Other possible values:

  • -1 - the invoice owner's manager.

  • -2 - the manager of the invoice owner's manager.

  • -3 - the project owner.

  • -4 - self.

integer($int64)

-

Yes

-

invoiceLayoutId

The internal ID of the invoice layout associated with the project.

integer($int64)

-

Yes

Yes

invoiceText

Text to display on every invoice.

string

-

Yes

-

isActive

A 1/0 field indicating if the project is active.

Boolean

-

Yes

Yes

isAutoBill

A 1/0 field indicating if the project can be billed automatically. Available only if project billing rules are not used.

Boolean

-

Yes

-

isAutoBillCap

A 1/0 field indicating if there is a cap on the amount that can be billed automatically for the project. Available only if project billing rules are not used.

Boolean

-

Yes

-

isAutoBillOverriden

A 1/0 field indicating if the project-specific autobilling settings should be used instead of account-wide autobilling settings. Project-specific autobilling settings are held in the auto_bill table. Available only if project billing rules are not used.

Boolean

-

Yes

-

isDashboardEnabled

A 1/0 field indicating if the project dashboard is enabled, when dashboardFrom is set to P.

Boolean

-

Yes

Yes

isPortfolioProject

A 1/0 field indicating if the project is a portfolio project.

Boolean

-

Yes

-

mspLinkType

The Microsoft Project import status.

Possible values:

  • Empty value - Not imported

  • I - Imported and locked for edit

  • U - Imported and open for edit

string

-

Yes

-

name

[REQUIRED] The name of the project task.

string

-

Yes

Yes

newsFeedId

The internal ID of the news feed associated with the project.

integer($int64)

-

Yes

Yes

notes

Notes about the project.

string

-

Yes

-

notifyAssignees

A 1/0 field indicating whether to send notification email to assigned employees when a task associated with the project is added, modified, or deleted.

Boolean

-

Yes

-

notifyAssignmentCc

A comma-delimited list of internal IDs of employees to be copied (Cc) into assignment notification email.

Other possible listed values:

  • -1 - the assignee's manager.

  • -2 - the manager of the assignee's manager.

  • -3 - the project owner.

  • -5 - the customer owner.

string

-

Yes

-

notifyIssueAssignedTo

A 1/0 field indicating whether to send notification email to the assigned employee when an issue is assigned to an employee.

Boolean

-

Yes

-

notifyIssueClosedAssignedTo

A 1/0 field indicating whether to send notification email to the assigned employee when an issue is progressed to a closed issue stage.

Boolean

-

Yes

-

notifyIssueClosedCustomerOwner

A 1/0 field indicating whether to send notification email to the customer owner when an issue is progressed to a closed issue stage.

Boolean

-

Yes

-

notifyIssueClosedProjectOwner

A 1/0 field indicating whether to send notification email to the project owner when an issue is progressed to a closed issue stage.

Boolean

-

Yes

-

notifyIssueCreatedCustomerOwner

A 1/0 field indicating whether to send notification email to the customer owner when an issue is created.

Boolean

-

Yes

-

notifyIssueCreatedProjectOwner

A 1/0 field indicating whether to send notification email to the project owner when an issue is created.

Boolean

-

Yes

-

notifyOwner

A 1/0 field indicating whether to send notification email to the project owner when ownership is changed.

Boolean

-

Yes

-

notifySrSubmittedProjectOwner

A 1/0 field indicating whether to send notification email to the project owner when a schedule request is submitted for a user booked or assigned to the project.

Boolean

-

Yes

-

onlyOwnerCanEdit

A 1/0 field indicating whether only the project owner can edit this project.

Boolean

-

Yes

-

originatingId

The internal ID of the source project, if this project was copied from an existing project. 0 if this project was created from blank.

integer($int64)

Yes

Yes

Yes

payrollTypeFilter

A comma-delimited list of internal IDs of payroll types against which time can be booked for the project.

string

-

Yes

-

portfolioProjectId

The internal ID of the portfolio project associated with the project, if the project is a subordinate project.

integer($int64)

-

Yes

Yes

projectApprover1

The internal ID of the first project approver [User] that is substituted into the approval processes.

Other possible value:

  • -6 - the first additional project approver.

integer($int64)

-

Yes

-

projectApprover2

The internal ID of the second project approver [User] that is substituted into the approval processes.

Other possible value:

  • -7 - the second additional project approver.

integer($int64)

-

Yes

-

projectApprover3

The internal ID of the third project approver [User] that is substituted into the approval processes.

Other possible value:

  • -8 - the third additional project approver.

integer($int64)

-

Yes

-

projectLocationId

The internal ID of the project location associated with the project.

integer($int64)

-

Yes

Yes

projectStageId

The internal ID of the project stage associated with the project.

integer($int64)

-

Yes

Yes

purchaseOrderApprovalProcess

The internal ID of the approval process for purchase orders associated with the project. Mutually exclusive with purchaseOrderApprover.

integer($int64)

-

Yes

-

purchaseOrderApprover

The internal ID of the User who approves purchase orders associated with the project, if a single approver process is used. Mutually exclusive with purchaseOrderApprovalProcess.

Other possible values:

  • -1 - the purchase order owner's manager.

  • -2 - the manager of the purchase order owner's manager.

  • -3 - the project owner.

  • -4 - self (purchase order owner).

integer($int64)

-

Yes

-

purchaseRequestApprovalProcess

The internal ID of the approval process for purchase requests associated with the project. Mutually exclusive with purchaseRequestApprover.

integer($int64)

-

Yes

-

purchaseRequestApprover

The internal ID of the User who approves purchase requests associated with the project, if a single approver process is used. Mutually exclusive with purchaseRequestApprovalProcess.

Other possible values:

  • -1 - the purchase request owner's manager.

  • -2 - the manager of the purchase request owner's manager.

  • -3 - the project owner.

  • -4 - self (purchase request owner).

integer($int64)

-

Yes

-

rate

The hourly billing rate for the project.

number($float)

-

Yes

-

rateCardId

The rate card to be used for projected billing, if not zero.

integer($int64)

-

Yes

Yes

revenueApprovalProcess

The internal ID of the revenue container approval process for the project. Mutually exclusive with revenueApprover.

integer($int64)

-

Yes

-

revenueApprover

The internal ID of the employee who approves revenue containers for the project, if a single approver process is used. Mutually exclusive with revenueApprovalProcess.

Other possible values:

  • -1 - the revenue container owner's manager.

  • -2 - the manager of the container owner's manager.

  • -3 - the project owner.

  • -4 - self.

integer($int64)

-

Yes

-

sgaLabor

The allocated cost (SG and A) overhead percentage applied to labor for profitability analysis.

number($float)

-

Yes

-

shippingContactId

The internal ID of the shipping contact associated with the project, if different from the designated shipping contact for the customer.

integer($int64)

-

Yes

-

soldToContactId

The internal ID of the sold to contact associated with the project, if different from the designated sold to contact for the customer.

integer($int64)

-

Yes

-

startDate

The scheduled start date of the project.

string($date)

-

Yes

Yes

syncWorkspace

A 1/0 field indicating whether to synchronize the project resources with membership of the workspace associated with the project.

Boolean

-

Yes

-

taskBudgetCost

The total projected cost across all tasks in the project, if task budgeting is enabled.

number($float)

Yes

Yes

-

taskBudgetRevenue

The total projected billing across all tasks in the project, if task budgeting is enabled.

number($float)

Yes

Yes

-

taxLocationId

The internal ID of the of the tax location associated with the project.

integer($int64)

-

Yes

Yes

taxRateFederal

The federal tax rate for the project.

number($float)

-

Yes

-

taxRateState

The state/HST tax rate for the project.

number($float)

-

Yes

-

templateProjectId

The internal ID of the project or project template to be copied. Used only with POST/projects/from-template/.

integer($int64)

-

-

-

timesheetApprovalProcess

The internal ID of the approval process for timesheets associated with the project. Mutually exclusive with timesheetApprover.

integer($int64)

-

Yes

-

timesheetApprover

The internal ID of the User who approves timesheets associated with the project, if a single approver process is used. Mutually exclusive with timesheetApprovalProcess.

Other possible values:

  • -1 - the timesheet owner's manager.

  • -2 - the manager of the timesheet owner's manager.

  • -3 - the project owner.

  • -4 - self (timesheet owner).

integer($int64)

-

Yes

-

timetypeFilter

A comma-delimited list of internal IDs of time types against which time can be booked for the project.

string

-

Yes

-

updated

The date the project was last updated or modified.

string($date-time)

Yes

Yes

-

userFilter

A comma-delimited list of internal IDs of employees who can edit the project.

string

-

Yes

-

userId

The internal ID of the employee associated with the project - the project owner.

integer($int64)

-

Yes

Yes

Note:

Access to certain object types and object attributes depend on the business logic configured for your SuiteProjects Pro account. It may vary depending on the role and access privileges associated with the access token and with the user who authorized the application.

Required and read-only attributes also depend on the business logic configured for each specific SuiteProjects Pro account. Some fields such as id, created, and updated are system-generated and always read-only.