Finance

Xero Readiness

Read Xero evidence for invoice readiness and unbilled-work review without changing provider records.

Explore 6 capabilities ↓

What you can build

  • Compare project/time evidence with existing invoices
  • Prepare an invoice-readiness exception list
  • Build reviewed drafts in OrgSDK without writing to the provider

Access and credentials

Reads the configured authorised Xero organisation only: invoices/bills, contacts and invoice attachment metadata. Every call verifies the tenant against /connections. No writes, email, payments, deletion or file downloads.

Obtain an OAuth access token using your own provider application and store it in OrgSDK. On OrgSDK 0.1.0, renew this token outside OrgSDK before it expires; native consent and refresh are not available for this provider.

Example action

Verify the configured Xero organisation

Use this call in a saved OrgSDK action after enabling the plugin and connecting a credential.

return await xero.verifyConnection({});

Use with OrgSDK

OrgSDK gives external AI clients persistent projects and controlled execution. Plugins add optional tools to those projects. Each run uses pinned plugin versions, and project configuration determines which credentials they can use.

Set up OrgSDK locally ↗

The plugin’s toolkit

Capabilities

6 functions from this published version. Read calls retrieve or process information; write actions can change data in the connected service.

6 of 6 functions

Verify the configured tenant against Xero's authorised connections; return only that organisation.

Parameters and return value

This call takes no parameters.

Returns Promise<XeroConnection>

Read one page of sales invoices or bills with line items in a date range of at most 366 days. No provider changes.

Parameters and return value
ParameterTypeDetails
fromstringInclusive invoice date YYYY-MM-DD.
tostringInclusive invoice date YYYY-MM-DD.
statusOptional"DRAFT" | "SUBMITTED" | "AUTHORISED" | "PAID" | "VOIDED" | "DELETED"—
typeOptional"ACCREC" | "ACCPAY"—
contactIdOptionalstring—
pageOptionalnumber1..10000; one page is fetched per call.
pageSizeOptionalnumber1..100; defaults to 50.

Returns Promise<{ invoices: XeroInvoice[]; page: number; pageSize: number; nextPage: number | null; mayHaveMore: boolean }>

Read one invoice or bill, including reference, totals, status and line items.

Parameters and return value
ParameterTypeDetails
invoiceIdstring—

Returns Promise<XeroInvoice>

Read one page of customer/supplier contact and billing identity data.

Parameters and return value
ParameterTypeDetails
pageOptionalnumber1..10000; one page is fetched per call.
pageSizeOptionalnumber1..100; defaults to 50.

Returns Promise<{ contacts: XeroContact[]; page: number; pageSize: number; nextPage: number | null; mayHaveMore: boolean }>

Read one contact's billing identity and addresses.

Parameters and return value
ParameterTypeDetails
contactIdstring—

Returns Promise<XeroContact>

Read attachment metadata for one invoice. Files and provider URLs are not downloaded or exposed.

Parameters and return value
ParameterTypeDetails
invoiceIdstring—

Returns Promise<{ invoiceId: string; attachments: XeroAttachment[] }>