Use projects to manage, track, and report on work performed by or for your company.
Returns up to 100 object references from the collection with a key, ID, and link for each project. This operation is mostly for use in testing; use query to find objects that meet certain criteria and to specify properties that are returned.
Subscription | Projects |
---|---|
User type | Business, Employee, Project Manager |
Permissions | List Projects |
OK
Bad Request
{- "ia::result": [
- {
- "key": "100",
- "id": "P-040",
- "href": "/objects/projects/project/100"
}, - {
- "key": "101",
- "id": "P-050",
- "href": "/objects/projects/project/101"
}, - {
- "key": "102",
- "id": "P-060",
- "href": "/objects/projects/project/102"
}
], - "ia::meta": {
- "totalCount": 3,
- "start": 1,
- "pageSize": 5,
- "next": 0,
- "previous": 0
}
}
Creates a new project.
id
is required if document sequencing is not enabled for projects in the company. If document sequencing is enabled, you can provide an id
value to use instead of the document sequence value.
Subscription | Projects |
---|---|
User type | Business, Project Manager |
Permissions | Add Projects |
Project to be created
name required | string Project name. Example: "Implementation Project" | ||||||||||||||||||||||||
category required | string Default: "contract" Project category. Used for filtering and reporting. Example: "contract" | ||||||||||||||||||||||||
id | string Unique identifier for the project. Example: "P-0045" | ||||||||||||||||||||||||
description | string or null A brief description of the project. Example: "Software Implementation Project" | ||||||||||||||||||||||||
projectCurrency | string or null Currency used for project budget information. Example: "USD" | ||||||||||||||||||||||||
object Project status | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
startDate | string or null <date> Date on which the project is scheduled to begin. Example: "2023-01-23" | ||||||||||||||||||||||||
endDate | string or null <date> Date on which the project is scheduled to end. Example: "2023-04-01" | ||||||||||||||||||||||||
object Project budget projections. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object GL budget used by Rev Rec to calculate the projected cost amount for the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
contractAmount | string or null <decimal-precision-2> The contracted amount for the project for reporting purposes. Example: "15000.00" | ||||||||||||||||||||||||
billingType | string or null Default: null Billing type specifies how the project will be invoiced. Example: "timeAndMaterial" | ||||||||||||||||||||||||
salesOrderNumber | string or null Sales order number for the project, for reference. Example: "SO-5478" | ||||||||||||||||||||||||
purchaseOrderNumber | string or null Purchase order number for the project, for reference. Example: "PO-7829" | ||||||||||||||||||||||||
purchaseOrderAmount | string or null <decimal-precision-2> Project purchase order amount, for reference. Example: "4500.00" | ||||||||||||||||||||||||
purchaseQuoteNumber | string or null Project purchase quote number, for reference. Example: "1453" | ||||||||||||||||||||||||
documentNumber | string or null An external reference number that can be used to report on the project in custom reports. Example: "1453" | ||||||||||||||||||||||||
object The parent project if this project is the child of another, larger project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
invoiceWithParent | boolean or null Default: false Set to Example: true | ||||||||||||||||||||||||
object The customer associated with the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The sales contact employee for the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Project type, used to categorize and report on projects- | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Project manager employee for the project. Project managers usually approve timesheets and expense reports. Project managers can also run and view project reports. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The department associated with this project. The project department overrides any department associated with an employee on a timesheet. If a project department is not set, the employee department is used. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The location associated with this project. The project location overrides any location associated with an employee on a timesheet. If a project location is not set, the employee location is used. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The Accounts Receivable payment terms for the project. The payment terms are included on the invoice header. If project payment terms are not set, the customers terms are used. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object A Sage Intacct user assigned as a customer representative with the ability to approve timesheets for the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Class dimension used to track the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
userRestrictions | string Default: "systemDefault" User restrictions for entering project time and expenses (overrides default user restrictions for the Projects application). Example: "systemDefault" | ||||||||||||||||||||||||
isBillableEmployeeExpense | boolean Default: false Set to Example: true | ||||||||||||||||||||||||
isBillablePurchasingAPExpense | boolean Default: false Set to Example: true | ||||||||||||||||||||||||
object Rates and Pricing | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Contacts associated with the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
invoiceMessage | string or null Message to appear on invoices. Example: "Invoice for project" | ||||||||||||||||||||||||
invoiceCurrency | string or null Currency to use when generating invoices for the project. Example: "USD" | ||||||||||||||||||||||||
billingOverMax | string Default: "doNothing" Billing control to prevent or warn of billings that exceed the projects budgeted billing amount. Example: "preventBilling" | ||||||||||||||||||||||||
excludeExpenses | boolean or null Default: false Set to Example: false | ||||||||||||||||||||||||
object Documents associated with the project, such as statements of work, specifications, or agreements. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Grant-related fields. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The project this project rolls up to for work in progress schedules. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
excludeFromWIPSchedule | boolean Default: true Set to true to exclude the project from work in progress schedules. Example: true | ||||||||||||||||||||||||
object This is the entity location. If Object's entity location is not set, it means object is created at the top. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
Created
Bad Request
{- "id": "P-0045",
- "name": "Implementation Project",
- "description": "Software Implementation Project",
- "projectCurrency": "USD",
- "category": "contract",
- "projectStatus": {
- "key": "1"
}, - "startDate": "2021-01-23",
- "EndDate": "2021-01-23",
- "budget": {
- "billingAmount": "10000",
- "budgetedDuration": "250",
- "budgetedCost": "10000"
}, - "glBudget": {
- "key": "5"
}, - "contractAmount": "15000",
- "progress": {
- "estimatedDuration": "200",
- "actualDuration": "183",
- "approvedDuration": "175",
- "remainingDuration": "8",
- "percentComplete": "35",
- "observedPercentComplete": "50"
}, - "billingType": "timeAndMaterial",
- "salesOrderNumber": "SO-5478",
- "purchaseOrderNumber": "PO-7829",
- "purchaseOrderAmount": "4500",
- "purchaseQuoteNumber": "1453",
- "salesforceKey": "1",
- "documentNumber": "1453",
- "parent": {
- "key": "10",
- "id": "P-0040",
- "name": "NET-XML30-2"
}, - "invoiceWithParent": false,
- "customer": {
- "key": "13"
}, - "salesContact": {
- "key": "10"
}, - "projectType": {
- "key": "3"
}, - "manager": {
- "key": "10"
}, - "department": {
- "key": "10"
}, - "location": {
- "key": "1"
}, - "paymentTerm": {
- "key": "10"
}, - "customerUser": {
- "key": "1"
}, - "class": {
- "key": "1"
}, - "userRestrictions": "systemDefault",
- "isBillableEmployeeExpense": false,
- "isBillablePurchasingAPExpense": false,
- "ratesAndPricing": {
- "laborPricing": "billingRate",
- "laborMarkup": "10",
- "pricing": "billingRate",
- "expenseMarkup": "10",
- "DefaultRate": "12"
}, - "contacts": {
- "primary": {
- "key": "1"
}, - "billTo": {
- "key": "2"
}, - "shipTo": {
- "key": "2"
}
}, - "invoiceMessage": "Invoice for project",
- "invoiceCurrency": "USD",
- "billingOverMax": "preventBilling",
- "excludeExpenses": false,
- "contract": {
- "key": "1"
}, - "attachment": {
- "key": "1"
}, - "rootProject": {
- "key": "12"
}, - "grant": {
- "aln": 10.555,
- "fundedProjectName": "Undergraduate Programs",
- "agency": "US government",
- "payer": "federal",
- "otherId": "Other",
- "assistanceType": "cash",
- "revenueRestriction": "time",
- "restrictionExpiry": "1",
- "restrictionExpirationDate": "2021-01-23",
- "isTimeSatisfactionScheduled": false
}, - "wipScheduleProject": {
- "key": "10",
- "id": "P-0040",
- "name": "NET-XML30-2"
}, - "excludeFromWIPSchedule": false,
- "status": "active"
}
{- "ia::result": {
- "key": "100",
- "id": "P-0045",
- "href": "/objects/projects/project/100"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Returns detailed information for a specified project.
Subscription | Projects |
---|---|
User type | Business, Employee, Project Manager |
Permissions | View Projects |
key required | string System-assigned key for the project. Example: 635 |
OK
Bad Request
{- "ia::result": {
- "key": "83",
- "id": "P-0045",
- "name": "Implementation Project",
- "description": "Software Implementation Project",
- "projectCurrency": "USD",
- "category": "contract",
- "projectStatus": {
- "key": "1",
- "id": "In Progress",
- "disableGenerateInvoice": false,
- "disablePurchasingAPEntry": false,
- "disableExpenseEntry": false,
- "disableTimesheetEntry": false
}, - "startDate": "2021-01-23",
- "endDate": "2021-01-23",
- "budget": {
- "billingAmount": "10000",
- "budgetedDuration": "250",
- "budgetedCost": "10000"
}, - "glBudget": {
- "key": "5",
- "id": "KPI Budgets",
- "href": "/objects/general-ledger/budget/5"
}, - "contractAmount": "15000",
- "progress": {
- "estimatedDuration": "200",
- "actualDuration": "183",
- "approvedDuration": "175",
- "remainingDuration": "8",
- "percentComplete": "35",
- "observedPercentComplete": "50"
}, - "billingType": "timeAndMaterial",
- "salesOrderNumber": "SO-5478",
- "purchaseOrderNumber": "PO-7829",
- "purchaseOrderAmount": "4500",
- "purchaseQuoteNumber": "1453",
- "salesforceKey": "1",
- "documentNumber": "1453",
- "parent": {
- "key": "10",
- "id": "P-0040",
- "name": "NET-XML30-2"
}, - "invoiceWithParent": false,
- "customer": {
- "key": "13",
- "id": "113",
- "name": "Software company"
}, - "salesContact": {
- "key": "10",
- "id": "100"
}, - "projectType": {
- "key": "3",
- "id": "Internal"
}, - "manager": {
- "key": "10",
- "id": "E10"
}, - "department": {
- "key": "10",
- "id": "20",
- "name": "Sales"
}, - "location": {
- "key": "1",
- "id": "1",
- "name": "US"
}, - "paymentTerm": {
- "key": "10",
- "id": "10"
}, - "customerUser": {
- "key": "1",
- "id": "Admin"
}, - "class": {
- "key": "1",
- "id": "10",
- "name": "Construction"
}, - "userRestrictions": "systemDefault",
- "isBillableEmployeeExpense": false,
- "isBillablePurchasingAPExpense": false,
- "ratesAndPricing": {
- "laborPricing": "billingRate",
- "laborMarkup": "10",
- "pricing": "billingRate",
- "expenseMarkup": "10",
- "defaultRate": "12"
}, - "contacts": {
- "primary": {
- "key": "1",
- "id": "JSmith",
- "href": "/objects/company-config/contact/1"
}, - "billTo": {
- "key": "2",
- "id": "ABrown",
- "href": "/objects/company-config/contact/2"
}, - "shipTo": {
- "key": "2",
- "id": "ABrown",
- "href": "/objects/company-config/contact/2"
}
}, - "invoiceMessage": "Invoice for project",
- "invoiceCurrency": "USD",
- "billingOverMax": "preventBilling",
- "excludeExpenses": false,
- "contract": {
- "key": "1",
- "id": "CON-002"
}, - "attachment": {
- "key": "1",
- "id": "1",
- "href": "/objects/company-config/attachment/100"
}, - "rootProject": {
- "key": "12",
- "id": "12",
- "name": "PRJ-RT-0001"
}, - "grant": {
- "aln": 10.555,
- "fundedProjectName": "Undergraduate Programs",
- "agency": "US government",
- "payer": "federal",
- "otherId": "Other",
- "assistanceType": "cash",
- "revenueRestriction": "time",
- "restrictionExpiry": "1",
- "restrictionExpirationDate": "2021-01-23",
- "isTimeSatisfactionScheduled": false
}, - "wipScheduleProject": {
- "key": "10",
- "id": "P-0040",
- "name": "NET-XML30-2"
}, - "excludeFromWIPSchedule": false,
- "status": "active",
- "multiEntityLocation": {
- "key": "2",
- "id": "2",
- "name": "US",
- "href": "/objects/company-config/location/2"
}, - "audit": {
- "createdDateTime": "2022-04-20T16:20:00Z",
- "modifiedDateTime": "2022-04-20T16:20:00Z",
- "createdBy": "1",
- "modifiedBy": "95"
}
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Updates an existing project by setting field values. Any fields not provided remain unchanged.
Subscription | Projects |
---|---|
User type | Business, Project Manager |
Permissions | Edit Projects |
key required | string System-assigned key for the project. Example: 635 |
name | string Project name. Example: "Implementation Project" | ||||||||||||||||||||||||
description | string or null A brief description of the project. Example: "Software Implementation Project" | ||||||||||||||||||||||||
projectCurrency | string or null Currency used for project budget information. Example: "USD" | ||||||||||||||||||||||||
category | string Default: "contract" Project category. Used for filtering and reporting. Example: "contract" | ||||||||||||||||||||||||
object Project status | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
startDate | string or null <date> Date on which the project is scheduled to begin. Example: "2023-01-23" | ||||||||||||||||||||||||
endDate | string or null <date> Date on which the project is scheduled to end. Example: "2023-04-01" | ||||||||||||||||||||||||
object Project budget projections. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object GL budget used by Rev Rec to calculate the projected cost amount for the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
contractAmount | string or null <decimal-precision-2> The contracted amount for the project for reporting purposes. Example: "15000.00" | ||||||||||||||||||||||||
billingType | string or null Default: null Billing type specifies how the project will be invoiced. Example: "timeAndMaterial" | ||||||||||||||||||||||||
salesOrderNumber | string or null Sales order number for the project, for reference. Example: "SO-5478" | ||||||||||||||||||||||||
purchaseOrderNumber | string or null Purchase order number for the project, for reference. Example: "PO-7829" | ||||||||||||||||||||||||
purchaseOrderAmount | string or null <decimal-precision-2> Project purchase order amount, for reference. Example: "4500.00" | ||||||||||||||||||||||||
purchaseQuoteNumber | string or null Project purchase quote number, for reference. Example: "1453" | ||||||||||||||||||||||||
documentNumber | string or null An external reference number that can be used to report on the project in custom reports. Example: "1453" | ||||||||||||||||||||||||
object The parent project if this project is the child of another, larger project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
invoiceWithParent | boolean or null Default: false Set to Example: true | ||||||||||||||||||||||||
object The customer associated with the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The sales contact employee for the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Project type, used to categorize and report on projects- | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Project manager employee for the project. Project managers usually approve timesheets and expense reports. Project managers can also run and view project reports. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The department associated with this project. The project department overrides any department associated with an employee on a timesheet. If a project department is not set, the employee department is used. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The location associated with this project. The project location overrides any location associated with an employee on a timesheet. If a project location is not set, the employee location is used. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The Accounts Receivable payment terms for the project. The payment terms are included on the invoice header. If project payment terms are not set, the customers terms are used. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object A Sage Intacct user assigned as a customer representative with the ability to approve timesheets for the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Class dimension used to track the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
userRestrictions | string Default: "systemDefault" User restrictions for entering project time and expenses (overrides default user restrictions for the Projects application). Example: "systemDefault" | ||||||||||||||||||||||||
isBillableEmployeeExpense | boolean Default: false Set to Example: true | ||||||||||||||||||||||||
isBillablePurchasingAPExpense | boolean Default: false Set to Example: true | ||||||||||||||||||||||||
object Rates and Pricing | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Contacts associated with the project. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
invoiceMessage | string or null Message to appear on invoices. Example: "Invoice for project" | ||||||||||||||||||||||||
invoiceCurrency | string or null Currency to use when generating invoices for the project. Example: "USD" | ||||||||||||||||||||||||
billingOverMax | string Default: "doNothing" Billing control to prevent or warn of billings that exceed the projects budgeted billing amount. Example: "preventBilling" | ||||||||||||||||||||||||
excludeExpenses | boolean or null Default: false Set to Example: false | ||||||||||||||||||||||||
object Documents associated with the project, such as statements of work, specifications, or agreements. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Grant-related fields. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object The project this project rolls up to for work in progress schedules. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
excludeFromWIPSchedule | boolean Default: true Set to true to exclude the project from work in progress schedules. Example: true | ||||||||||||||||||||||||
object This is the entity location. If Object's entity location is not set, it means object is created at the top. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
status | string Default: "active" Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced. Example: "active" |
OK
Bad Request
{- "name": "Implementation Project",
- "description": "Software Implementation Project",
- "projectCurrency": "USD",
- "category": "contract"
}
{- "ia::result": {
- "key": "124",
- "id": "P-0345",
- "href": "/objects/projects/project/124"
}, - "ia::meta": {
- "totalCount": 1,
- "totalSuccess": 1,
- "totalError": 0
}
}
Deletes a project. You can only delete projects without posted transactions. If posted transactions exist for the project, you can make the project inactive but cannot delete it.
Subscription | Projects |
---|---|
User type | Business, Project Manager |
Permissions | Delete Projects |
key required | string System-assigned key for the project. Example: 635 |
No Content
Bad Request
{- "ia::result": {
- "ia::error": {
- "code": "invalidRequest",
- "message": "Payload contains errors",
- "supportId": "sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ",
- "errorId": "REST-1064",
- "additionalInfo": {
- "messageId": "IA.PAYLOAD_CONTAINS_ERRORS",
- "placeholders": { },
- "propertySet": { }
}, - "details": [
- {
- "code": "invalidRequest",
- "message": "/testDate is not a valid field",
- "errorId": "REST-1043",
- "target": "/testDate",
- "additionalInfo": {
- "messageId": "IA.NOT_A_VALID_FIELD",
- "placeholders": {
- "FIELD": "/testDate"
}, - "propertySet": { }
}
}
]
}, - "ia::meta": {
- "totalCount": 3,
- "totalSuccess": 2,
- "totalError": 1
}
}, - "ia::error": {
- "code": "invalidRequest",
- "message": "Malformed URL",
- "supportId": "sQrM9%7EYdh5oDEWVb80mrn9xuHjoAAAABBQ",
- "details": [
- {
- "code": "invalidRequest",
- "message": "The content type is not valid",
- "correction": "TODO"
}
]
}
}
Queries an object for filtered data.
object | string Object type to query, in the form Example: "projects/project" | ||||||||
fields | Array of strings List of fields to include in the response. Can be any combination of these:
Example: ["key","id","max:vendor.creditLimit"] | ||||||||
Array of equal (object) or not equal (object) or less than (object) or (less than or equal (object)) or greater than (object) or (greater than or equal (object)) or in (object) or not in (object) or between (object) or not between (object) or contains (object) or does not contain (object) or starts with (object) or does not start with (object) or ends with (object) or does not end with (object) Filter conditions to select the objects to return based on their field values. You use operators and conditions to build your filter, such as Example: [{"$eq":{"status":"active"}},{"$gt":{"totalDue":"1000"}},{"$contains":{"name":"Acme"}}] | |||||||||
Array Any of: Field value must be equal to this specified value. For date fields, you can use these macro values that are relative to the current date or the
These are most useful for queries that you want to save and use repeatedly, such as for views or reports. Just change the For example,
| |||||||||
filterExpression | string Default: "and" Logical operators to apply when there are multiple filter conditions. The conditions in the Shortcuts:
Example: "(1 and 2) or 3" | ||||||||
| |||||||||
Array of objects Set the order of the results by specifying field names to sort by and whether they should be in ascending or descending order. Example: [{"totalDue":"asc"},{"lastPaymentMadeDate":"desc"}] | |||||||||
Array
| |||||||||
start | integer First record of the result set to include in the response. Example: 1 | ||||||||
size | integer Number of records to include in the response. Example: 100 |
OK
Bad Request
{- "object": "projects/project",
- "filters": [
- {
- "$eq": {
- "customer.name": "Hyatt Regency Downtown"
}
}
], - "fields": [
- "key",
- "id",
- "name",
- "customer.name"
], - "orderBy": [
- {
- "id": "asc"
}
]
}
{- "ia::result": [
- {
- "key": "114",
- "id": "22-006",
- "name": "Hyatt Regency Downtown Renovation",
- "customer.name": "Hyatt Regency Downtown"
}, - {
- "key": "115",
- "id": "22-006.01",
- "name": "Hyatt Regency Floor 1",
- "customer.name": "Hyatt Regency Downtown"
}, - {
- "key": "117",
- "id": "22-006.01.01",
- "name": "Hyatt Floor 1 Dining Area",
- "customer.name": "Hyatt Regency Downtown"
}, - {
- "key": "122",
- "id": "22-006.01.02",
- "name": "Hyatt Floor 1 Fitness Room",
- "customer.name": "Hyatt Regency Downtown"
}
], - "ia::meta": {
- "totalCount": 4,
- "start": 1,
- "pageSize": 100,
- "next": null,
- "previous": null
}
}