MCP Server for Xero

Build 25.0.9440

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.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9440