MCP Server for Xero

Build 25.0.9440

Tasks

Stores and manages tasks associated with projects in Xero. You can query, insert, update, and delete tasks, which include details like task name, description, assigned personnel, and deadlines.

Table-Specific Information

Creating Tasks

A Task must be created with a ProjectId, Name, RateCurrency, RateValue, and ChargeType. The ProjectId and RateCurrency must come from the project (ProjectId and CurrencyCode respectively). ChargeType determines how the RateValue is applied to the cost of the project:

  • TIME charges the project the amount in RateValue every hour.
  • FIXED charges the project the amount in RateValue once.
  • NON_CHARGEABLE does not charge the project. RateValue must be set to 0.

The EstimateMinutes may also be provided to set the time estimate for the task:

INSERT INTO Tasks (ProjectId, Name, RateCurrency, RateValue, ChargeType, EstimateMinutes) VALUES ('1de78bad-5a81-4cb8-ab53-5a1a3bc73b29', 'Pave Sidewalks', 'USD', 25000, 'FIXED', 1000)

Updating Tasks

Once a Task has been created, its RateCurrency, RateValue, ChargeType or EstimateMinutes may be updated:

UPDATE Tasks SET RateValue = 250, ChargeType = 'TIME', EstimateMinutes = 2000 WHERE Id = '1de78bad-5a81-4cb8-ab53-5a1a3bc73b29/d15810a1-9324-4765-a357-80d160a0b87c'

Deleting Tasks

Tasks may also be deleted by specifying their Id:

DELETE FROM Tasks WHERE Id = '1de78bad-5a81-4cb8-ab53-5a1a3bc73b29/d15810a1-9324-4765-a357-80d160a0b87c'

Columns

Name Type ReadOnly Description
Id [KEY] String False

A unique combination of the project and task identifiers, ensuring that each task is distinctly identified within the project.

TaskId String True

The unique Xero identifier for the task, which is automatically assigned when the task is created in Xero.

ProjectId String False

The unique identifier for the project to which this task belongs, providing context for the task's association with a specific project.

Name String False

The name of the task, which provides a human-readable label for identifying the task.

ChargeType String False

Indicates how the task is billed. Possible values include 'TIME' (charged based on hours worked), 'FIXED' (a predetermined amount for the task), or 'NON_CHARGEABLE' (the task cannot be billed).

RateValue Decimal False

The per-hour rate that is charged for the task, applicable only if the ChargeType is TIME. This value represents the hourly cost for the task.

RateCurrency String False

The currency in which the RateValue is measured, specifying the monetary unit for the rate (such as USD or EUR).

EstimateMinutes Int False

The estimated number of minutes required to complete the task, providing a time forecast for project planning.

TotalMinutes Int True

The actual total number of minutes logged against the task, indicating how much time has been spent on the task to date.

TotalAmountValue Decimal True

The total value of the task, calculated as the product of TotalMinutes and RateValue, reflecting the total cost for the task based on the time spent and the rate.

TotalAmountCurrency String True

The currency in which the TotalAmountValue is expressed, specifying the monetary unit for the total task value.

MinutesToBeInvoiced Int True

The number of minutes associated with the task that have not yet been invoiced, indicating outstanding work that needs to be billed.

MinutesInvoiced Int True

The number of minutes associated with the task that have already been invoiced, showing the work that has been billed.

NonChargeableMinutes Int True

The number of minutes for the task that cannot be billed to the client, typically indicating work that is non-billable or covered under a fixed rate.

AmountToBeInvoicedValue Decimal True

The total amount of the task that has not been invoiced, calculated as the product of MinutesToBeInvoiced and RateValue, representing the outstanding charge for the task.

AmountToBeInvoicedCurrency String True

The currency of the AmountToBeInvoicedValue, indicating the monetary unit for the outstanding invoice amount.

AmountInvoicedValue Decimal True

The total amount for the task that has been invoiced, calculated as the product of MinutesInvoiced and RateValue, showing how much has already been billed for the task.

AmountInvoicedCurrency String True

The currency of the AmountInvoicedValue, specifying the monetary unit for the amount that has been invoiced.

Status String True

The current status of the task. Possible values include 'ACTIVE' (the task is ongoing), 'INVOICED' (the task has been billed), or 'LOCKED' (the task is complete and cannot be modified).

TenantId String False

The unique identifier for the tenant to query, allowing you to specify which tenant's data should be returned, useful for multi-tenant environments.

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