All blocks
Block
Available
Pro

Xero

Version
0.1.1
Database part
Yes

The contract

Takes an invoice or a payment. Posts it to Xero and returns the result.

Settings

NameWhat it does
tenantIdThe Xero organisation to post to, as its tenant id, passed in the connection.
baseUrlWhere the accounting API is reached, passed in the connection. Defaults to Xero's own. Set it to use a gateway.
tokenUrlWhere xeroClientCredentials signs in. Defaults to Xero's identity service.
scopesThe scopes xeroClientCredentials asks for. Defaults to accounting.transactions.
timeoutMsHow long one call to Xero may take, passed in the connection. Defaults to 30 seconds.

Requires

Live demo

Build an invoice

The block checks every field before anything is recorded or sent. Change a value to see what it refuses.

Lines

What would be sent to Xero

{
  "Type": "ACCREC",
  "Contact": {
    "ContactID": "7c3f5a1e-4b2d-4e8a-9f61-2a5d8c0b1e34"
  },
  "LineItems": [
    {
      "Description": "Monthly bookkeeping",
      "Quantity": 1,
      "UnitAmount": 450,
      "AccountCode": "200",
      "TaxType": "OUTPUT"
    },
    {
      "Description": "Payroll run",
      "Quantity": 2,
      "UnitAmount": 35.5,
      "AccountCode": "200",
      "TaxType": "OUTPUT"
    }
  ],
  "Date": "2026-11-13",
  "DueDate": "2026-11-27",
  "Reference": "Work order 104",
  "CurrencyCode": "AUD",
  "Status": "DRAFT"
}

Build a payment

What would be sent to Xero

{
  "Invoice": {
    "InvoiceID": "b1e2c3d4-5f60-4a7b-8c9d-0e1f2a3b4c5d"
  },
  "Account": {
    "Code": "090"
  },
  "Amount": 521,
  "Date": "2026-11-20",
  "Reference": "Bank transfer"
}