Skip to Content
SourcesXeroOverview

Xero

Source - Vendo imports Xero accounting data and maps financial activity into events and contact profiles for reporting, modeling, and revenue analysis.

What Vendo Syncs

Xero is an Airbyte-managed source in Vendo. The app setup highlights invoices, contacts, and bank transactions, and the source package can sync the full Xero accounting stream set below.

StreamWhat it containsPrimary key
AccountsChart of accounts and accounting categoriesaccount_id
Bank TransactionsCash movements, totals, dates, and reconciliation contextbank_transaction_id
ContactsCustomer and supplier profilescontact_id
Credit NotesCredit note records and financial adjustmentscredit_note_id
InvoicesInvoice totals, currency, contact, status, and datesinvoice_id
Manual JournalsManual accounting journal entriesmanual_journal_id
OrganisationsXero organization metadataorganisation_id
PaymentsPayment records, amounts, contacts, and datespayment_id
Tracking CategoriesXero tracking dimensions used for reportingtracking_category_id

Raw tables follow the pattern raw_xero_<source_short_id>_<stream_key>, for example raw_xero_src1_invoices.

Modeled Events and Profiles

Vendo uses the Xero streams below in semantic mappings:

Xero streamVendo entityKey mappings
InvoicesEventinvoice_id -> event ID, date -> occurred at, total -> revenue, currency_code -> currency, contact_id -> customer ID
PaymentsEventpayment_id -> event ID, date -> occurred at, amount -> revenue, contact_id -> customer ID
Bank TransactionsEventbank_transaction_id -> event ID, date -> occurred at, total -> revenue, contact_id -> customer ID
ContactsUser profilecontact_id -> customer ID, email_address -> email, name -> name

Reference streams such as accounts, organizations, manual journals, credit notes, and tracking categories are kept available for modeling and accounting context.

Authentication

The Vendo app currently asks for Xero Custom Connection credentials:

FieldDescription
Tenant IDYour Xero organization’s tenant ID
Start DateUTC timestamp for the first record to sync, formatted as YYYY-MM-DDTHH:mm:ssZ
Client IDXero Custom Connection client ID
Client SecretXero Custom Connection client secret

Vendo maps these fields to the pipeline as tenant_id, start_date, client_id, and client_secret.

Setup

  1. In Xero, create or open the Custom Connection used for Vendo
  2. Copy the tenant ID for the Xero organization you want to sync
  3. Copy the Custom Connection client ID and client secret
  4. Choose a UTC start date such as 2024-01-01T00:00:00Z
  5. In Vendo, navigate to Sources > Xero
  6. Enter Tenant ID, Start Date, Client ID, and Client Secret
  7. Select the Xero data you want to import and save the source

Platform Details

SettingValue
ProviderAirbyte-managed Xero source
Auth MethodXero Custom Connection credentials
Sync MethodServer-side scheduled import
Default CadenceDaily
Schema ModeDiscovered from Xero by Airbyte
MaterializationMerge for transaction streams; replace or merge for reference streams
Highlighted Setup StreamsInvoices, contacts, bank transactions

Verify Setup

  1. Confirm the Xero source status is active in Vendo
  2. Trigger a manual sync or wait for the next daily sync
  3. Check that invoice, contact, and bank transaction tables are populated
  4. Confirm invoice and payment totals line up with Xero for the same date range
  5. Review Vendo job logs for Airbyte authentication, schema discovery, or stream errors

Troubleshooting

SymptomWhat to check
Credentials fail validationConfirm the tenant ID belongs to the Xero organization and the client ID/client secret are from the Custom Connection
No records importCheck that the start date uses YYYY-MM-DDTHH:mm:ssZ and is earlier than the records you expect
Invoices import but contacts look sparseConfirm contacts in Xero have email/name fields populated; Vendo maps contact_id, email_address, and name
Totals do not match a Xero reportCompare the same date range, currency, and invoice/payment status filters
Schema changes appear after setupXero schema discovery is managed by Airbyte; review job logs for schema drift or stream-specific failures
Last updated on