Projects
Manages projects in Xero, allowing you to query, insert, and update project data. Projects can be tracked for revenue, expenses, and time entries, allowing you to manage workflows and budgets.
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 identifier for the project in Xero. This field is generated by Xero to distinguish each project within the system. |
| ContactId | String | False |
The unique identifier of the contact for whom the project was created. This represents the client or business entity associated with the project. |
| Name | String | False |
The name of the project. This is typically a descriptive title given to the project to help identify its purpose or scope. |
| CurrencyCode | String | True |
The ISO code of the currency used within the project. This allows the project to be linked with a specific currency for transactions. |
| MinutesLogged | Int | True |
The total number of minutes logged across all tasks within the project. This is the cumulative time spent working on the project, recorded in minutes. |
| TotalTaskAmountValue | Decimal | True |
The total actual amount for each project task. This value represents the sum of all task-related charges or costs associated with the project. |
| TotalTaskAmountCurrency | String | True |
The currency in which the TotalTaskAmountValue is denominated. This allows different tasks to be measured in various currencies if necessary. |
| TotalExpenseAmountValue | Decimal | True |
The total actual amount for all expenses incurred in the project. This represents the sum of all costs tied to expenses for the project. |
| TotalExpenseAmountCurrency | String | True |
The currency of the TotalExpenseAmountValue, indicating the currency in which the total expenses are recorded. |
| MinutesToBeInvoiced | Int | True |
The total number of minutes for which work has been done but not yet invoiced. This helps track work that still needs to be billed. |
| TaskAmountToBeInvoicedValue | Decimal | True |
The total value of the tasks that have been worked on but not yet invoiced. This represents the amount to be billed for unfinished work. |
| TaskAmountToBeInvoicedCurrency | String | True |
The currency of the TaskAmountToBeInvoicedValue, which indicates the currency in which pending task amounts will be invoiced. |
| TaskAmountInvoicedValue | Decimal | True |
The total value of tasks that have been invoiced. This represents the amount billed to the client for completed tasks. |
| TaskAmountInvoicedCurrency | String | True |
The currency of the TaskAmountInvoicedValue, representing the currency in which invoiced tasks are billed. |
| ExpenseAmountToBeInvoicedValue | Decimal | True |
The total amount of project expenses that have been incurred but not yet invoiced. This represents pending charges for expenses. |
| ExpenseAmountToBeInvoicedCurrency | String | True |
The currency of the ExpenseAmountToBeInvoicedValue, indicating the currency of the pending expense amounts for the project. |
| ExpenseAmountInvoicedValue | Decimal | True |
The total amount of project expenses that have been invoiced. This value represents the billed amount for project expenses. |
| ExpenseAmountInvoicedCurrency | String | True |
The currency of the ExpenseAmountInvoicedValue, indicating the currency used for invoiced expenses. |
| ProjectAmountInvoicedValue | Decimal | True |
The total amount that has been invoiced across the entire project, including both tasks and expenses. |
| ProjectAmountInvoicedCurrency | String | True |
The currency of the ProjectAmountInvoicedValue, reflecting the currency in which the entire project has been invoiced. |
| DepositValue | Decimal | True |
The deposit value for the project. This represents an upfront payment made for the project. |
| DepositCurrency | String | True |
The currency of the DepositValue, indicating the currency in which the deposit was made. |
| DepositAppliedValue | Decimal | True |
The portion of the deposit that has been credited toward project invoices. This reduces the total remaining balance of the project. |
| DepositAppliedCurrency | String | True |
The currency of the DepositAppliedValue, reflecting the currency in which the deposit is being applied. |
| CreditNoteValue | Decimal | True |
The total value of any credit notes issued for the project. This is used to reduce the amount owed on the project. |
| CreditNoteCurrency | String | True |
The currency of the CreditNoteValue, indicating the currency used for the issued credit notes. |
| Deadline | Date | False |
The deadline or due date for completing the project. This helps track the expected project completion date. |
| TotalInvoicedValue | Decimal | True |
The total amount that has been invoiced to the project across all categories (such as tasks or expenses). |
| TotalInvoicedCurrency | String | True |
The currency of the TotalInvoicedValue, indicating the currency in which the total project invoicing was carried out. |
| TotalToBeInvoicedValue | Decimal | True |
The total remaining value of the project that has not yet been invoiced. This includes both tasks and expenses still to be billed. |
| TotalToBeInvoicedCurrency | String | True |
The currency of the TotalToBeInvoicedValue, indicating the currency of the remaining amount to be invoiced. |
| EstimateValue | Decimal | False |
The initial estimated value of the project, representing the projected costs or revenue for the entire project. |
| EstimateCurrency | String | True |
The currency of the EstimateValue, indicating the currency in which the project estimate was calculated. |
| Status | String | True |
The current status of the project. Valid values are 'INPROGRESS' (ongoing) or 'CLOSED' (completed or terminated). |
| TenantId | String | False |
The ID of the tenant to query instead of the connection tenant. This is used to reference a specific tenant in multi-tenant environments. |