Projects
Query, insert and update projects for a Xero organisation.
Table-Specific Information
Creating Projects
A Project must be created with a Name and ContactId. The ContactId comes from the ContactId column in the Contacts table of the Accounting API. An EstimateValue may also be provided to set the initial estimate for the project:
INSERT INTO Projects (Name, ContactId, Deadline, EstimateValue) VALUES ('Construct Parking Lot', '1c5ac798-1e31-4c09-82ac-4781261ff20a', '2025-01-01', 250000)
Updating Projects
Once a project has been created, only its Deadline and EstimateValue may be updated:
UPDATE Projects SET Deadline = '2022-01-01', EstimateValue = 150000 WHERE ProjectId = '1de78bad-5a81-4cb8-ab53-5a1a3bc73b29'
Columns
Name | Type | ReadOnly | Description |
ProjectId [KEY] | String | True |
The unique Xero identifier of the project. |
ContactId | String | False |
The ID of the Contact the project was created for |
Name | String | False |
The name of the project. |
CurrencyCode | String | True |
The currency used within the project. |
MinutesLogged | Int | True |
The total minutes logged against all tasks in the project |
TotalTaskAmountValue | Decimal | True |
The total actuals amount of each project task |
TotalTaskAmountCurrency | String | True |
The currency of the TotalTaskAmountValue |
TotalExpenseAmountValue | Decimal | True |
The total actuals amount of each project expense |
TotalExpenseAmountCurrency | String | True |
The currency of the TotalExpenseAmountValue |
MinutesToBeInvoiced | Int | True |
The total minutes across all tasks which have not been invoiced |
TaskAmountToBeInvoicedValue | Decimal | True |
The total AmountToBeInvoicedValue for each task in the project |
TaskAmountToBeInvoicedCurrency | String | True |
The currency of the TaskAmountToBeInvoicedValue |
TaskAmountInvoicedValue | Decimal | True |
The total AmountInvoicedValue for each task in the project |
TaskAmountInvoicedCurrency | String | True |
The currency of the TaskAmountInvoicedValue |
ExpenseAmountToBeInvoicedValue | Decimal | True |
The total of all the expenses in the project which have not been invoiced |
ExpenseAmountToBeInvoicedCurrency | String | True |
The currency of the ExpenseAmountToBeInvoicedValue |
ExpenseAmountInvoicedValue | Decimal | True |
The total of all the expenses in the project which have been invoiced |
ExpenseAmountInvoicedCurrency | String | True |
The currency of the ExpenseAmountInvoicedValue |
ProjectAmountInvoicedValue | Decimal | True |
The total amount that has been invoiced across the whole project |
ProjectAmountInvoicedCurrency | String | True |
The currency of the ProjectAmountInvoicedValue |
DepositValue | Decimal | True |
The deposit for the project |
DepositCurrency | String | True |
The currency of the DepositValue |
DepositAppliedValue | Decimal | True |
The amount of the deposit which have been credited to project invoices. |
DepositAppliedCurrency | String | True |
The currency of the DepositAppliedValue |
CreditNoteValue | Decimal | True |
The total amount of credit notes in the project |
CreditNoteCurrency | String | True |
The currency of the CreditNoteValue |
Deadline | Date | False |
The currency of the CreditNoteValue |
TotalInvoicedValue | Decimal | True |
The total amount invoiced to the project across all categories |
TotalInvoicedCurrency | String | True |
The currency of the TotalInvoicedValue |
TotalToBeInvoicedValue | Decimal | True |
The total amount for the project that is yet to be invoiced, across all categories |
TotalToBeInvoicedCurrency | String | True |
The currency of the TotalToBeInvoicedValue |
EstimateValue | Decimal | False |
The estimate for the project |
EstimateCurrency | String | True |
The currency of the EstimateValue |
Status | String | True |
Either INPROGRESS or CLOSED |
TenantId | String | False |
The ID of the tenant to query instead of the connection tenant |