Skip to content

Xero Accounting Input

Xero accounting entities — invoices, payments, bank transactions, contacts, and chart of accounts.

Configuration

yaml
data_sources:
  xero:
    XeroAccounting:
      tenant_id: "00000000-0000-0000-0000-000000000000"
      start_date: "2024-01-01"
      stream_profile: full
      lookback_days: 90
      oauth_client_id: ${XERO_CLIENT_ID}
      oauth_client_secret: ${XERO_CLIENT_SECRET}
      oauth_refresh_token: ${XERO_REFRESH_TOKEN}
FieldDefaultDescription
tenant_id(required)Xero organisation tenant ID
start_date(required)First sync date (YYYY-MM-DD)
lookback_days90Modified-since lookback window
page_size100API page size (1–100)
stream_profilefullminimal, standard, or full
streamsprofile setExplicit namespace list
min_query_interval_ms350Minimum delay between API calls
oauth_token_urlXero token endpointOAuth token URL
access_tokenShort-lived bearer token
oauth_*OAuth refresh credentials
privacyField redaction settings

Pipeline wiring

yaml
pipelines:
  accounting:
    data_source: data_sources.xero
    data_sink: data_sinks.landing

Incremental sync uses UpdatedDateUTC checkpoints per stream.

Authentication

Xero uses OAuth refresh: oauth_client_id, oauth_client_secret, and oauth_refresh_token (XERO_CLIENT_ID, XERO_CLIENT_SECRET, XERO_REFRESH_TOKEN). tenant_id is the organisation tenant. A short-lived access_token is optional for a single run.

This site is source-available under PolyForm Shield 1.0.0