Skip to main content

Xero

The Xero Plugin enables authenticated access to Xero’s APIs so you can perform supported operations across areas like accounting, payroll, projects, assets, and files from within ToolJet.

The Xero Plugin uses OAuth 2.0 authentication and allows you to interact with multiple Xero service domains through a single data source configuration.

Generating Client ID and Client Secret

  • Go to the Xero Developer Portal and sign in.
  • Create a New App.
  • Choose Web App as the application type.
  • Copy the generated Client ID and Client Secret.
  • In your Xero app settings, add the Redirect URI provided by ToolJet.
Fetching Creds from Xero Developer Portal

Connection

To connect to Xero, the following credentials are required:

  • Client ID: Enter your Client ID. This identifies your ToolJet application to Xero.

  • Client Secret: Enter your Client Secret. Click 'Edit' in ToolJet and enter the value. This secret will be stored in the encrypted form.

  • Scope(s): Scope defines the permissions your ToolJet app will have in Xero. This field is pre-filled with commonly used scopes such as: "openid, profile, email, accounting.transactions, accounting.reports.read, accounting.reports.tenninetynine.read"

You can modify the scopes based on your use case.

⚠️ Ensure the scopes entered here exactly match the scopes configured in your Xero app.

Configuring Xero in ToolJet
  • Redirect URI: ToolJet automatically generates a Redirect URI.
{
http://localhost:8082/oauth2/authorize
}

This redirect URI is required for completing the OAuth authentication flow.

Selecting Tenant ID

The Xero Plugin in ToolJet provides a Tenant selection mechanism within the query builder to identify the Xero organization against which API operations are executed.

Each Xero API request must be associated with a Tenant ID, which represents a specific Xero organization (tenant) that the authenticated user has access to.

Get Tenants

The Get Tenants option allows ToolJet to dynamically fetch available Xero tenants after a successful and secure OAuth connection.

Manual Tenant ID Entry

ToolJet also supports manual Tenant ID input for advanced use cases using the fx Expression Editor

Configuring Xero in ToolJet

Supported Operations

Xero in ToolJet supports the following operations:

  1. Accounts
  2. Finance
  3. Identity
  4. Bank Feeds
  5. App Store
  6. Assets
  7. Payroll AU
  8. Payroll UK
  9. Payroll NZ
  10. Projects
  11. Files

Accounts

Manage and retrieve the chart of accounts used for categorizing financial transactions in Xero.

MethodAPI EndpointDescription
GET/ AccountsRetrieves the full chart of accounts.
PUT/ AccountsCreates a new charts of accounts.
GET/BatchPaymentsRetrieves either one or many batch payments for invoices.
PUT/BatchPaymentsCreates one or many batch payments for invoices.
POST/BatchPaymentsUpdates a specific batch payment for invoices and credit notes.
GET/BankTransactionsRetrieves any spent or received money transactions.
PUT/BankTransactionsCreates one or more spent or received money transactions.
POST/BankTransactionsUpdates or creates one or more spent or received money transactions.
GET/BankTransfersRetrieves all bank transfers.
PUT/BankTransfersCreates a bank transfer.
GET/BrandingThemesRetrieves all the branding themes.
GET/BudgetsRetrieves a list of budgets.
GET/ContactsRetrieves all contacts in a Xero organisation.
PUT/ContactsCreates multiple contacts (bulk) in a Xero organisation.
POST/ContactsUpdates or creates one or more contacts in a Xero organisation.
GET/ContactGroupsRetrieves the contact ID and name of each contact group.
PUT/ContactGroupsCreates a contact group.
GET/CreditNotesRetrieves any credit notes.
PUT/CreditNotesCreates a new credit note.
POST/CreditNotesUpdates or creates one or more credit notes.
GET/CurrenciesRetrieves currencies for your Xero organisation.
PUT/CurrenciesCreates a new currency for a Xero organisation.
GET/EmployeesRetrieves employees used in Xero payroll.
PUT/EmployeesCreates new employees used in Xero payroll.
POST/EmployeesUpdates or creates a single new employee used in Xero payroll.
GET/ExpenseClaimsRetrieves expense claims.
PUT/ExpenseClaimsCreates expense claims.
GET/InvoicesRetrieves sales invoices or purchase bills.
PUT/InvoicesCreates one or more sales invoices or purchase bills.
POST/InvoicesUpdates or creates one or more sales invoices or purchase bills.
GET/ItemsRetrieves items.
PUT/ItemsCreates one or more items.
POST/ItemsUpdates or creates one or more items.
GET/JournalsRetrieves journals.
GET/LinkedTransactionsRetrieves linked transactions (billable expenses).
PUT/LinkedTransactionsCreates linked transactions (billable expenses).
GET/ManualJournalsRetrieves manual journals.
PUT/ManualJournalsCreates one or more manual journals.
POST/ManualJournalsUpdates or creates a single manual journal.
GET/OrganisationRetrieves Xero organisation details.
GET/OverpaymentsRetrieves overpayments.
GET/PaymentsRetrieves payments for invoices and credit notes.
PUT/PaymentsCreates multiple payments for invoices or credit notes.
POST/PaymentsCreates a single payment for an invoice or credit note.
GET/PaymentServicesRetrieves payment services.
PUT/PaymentServicesCreates a payment service.
GET/PrepaymentsRetrieves prepayments.
GET/PurchaseOrdersRetrieves purchase orders.
PUT/PurchaseOrdersCreates one or more purchase orders.
POST/PurchaseOrdersUpdates or creates one or more purchase orders.
GET/QuotesRetrieves sales quotes.
PUT/QuotesCreates one or more quotes.
POST/QuotesUpdates or creates one or more quotes.
GET/ReceiptsRetrieves draft expense claim receipts for any user.
PUT/ReceiptsCreates draft expense claim receipts for any user.
GET/RepeatingInvoicesRetrieves repeating invoices.
PUT/RepeatingInvoicesCreates one or more repeating invoice templates.
POST/RepeatingInvoicesUpdates or deletes one or more repeating invoice templates.
GET/ReportsRetrieves the organisation’s unique reports that require a GUID to fetch.
POST/SetupSets the chart of accounts, conversion date, and conversion balances.
GET/TaxRatesRetrieves tax rates.
PUT/TaxRatesCreates one or more tax rates.
POST/TaxRatesUpdates tax rates.
GET/TrackingCategoriesRetrieves tracking categories and options.
PUT/TrackingCategoriesCreates tracking categories.
GET/UsersRetrieves users.

Account ID

MethodAPI EndpointDescription
GET/Accounts/{AccountID}Retrieves a single chart of accounts using a unique account ID .
POST/Accounts/{AccountID}Updates a chart of accounts.
DELETE/Accounts/{AccountID}Deletes a chart of accounts.
GET/Accounts/{AccountID}/AttachmentsRetrieves attachments for a specific account.
GET/Accounts/{AccountID}/Attachments/{AttachmentID}Retrieves a specific attachment using a unique attachment ID.
GET/Accounts/{AccountID}/Attachments/{FileName}Retrieves an attachment by filename.
POST/Accounts/{AccountID}/Attachments/{FileName}Updates an attachment by filename.
PUT/Accounts/{AccountID}/Attachments/{FileName}Creates an attachment on a specific account.

Batch Payment ID

MethodAPI EndpointDescription
GET/BatchPayments/{BatchPaymentID}Retrieves a specific batch payment using a unique batch payment ID.
POST/BatchPayments/{BatchPaymentID}Updates a specific batch payment for invoices and credit notes.
GET/BatchPayments/{BatchPaymentID}/HistoryRetrieves history from a specific batch payment.
PUT/BatchPayments/{BatchPaymentID}/HistoryCreates a history record for a specific batch payment.

Bank Transaction ID

MethodAPI EndpointDescription
GET/BankTransactions/{BankTransactionID}Retrieves a single spent or received money transaction using a unique bank transaction ID.
POST/BankTransactions/{BankTransactionID}Updates a single spent or received money transaction.
GET/BankTransactions/{BankTransactionID}/AttachmentsRetrieves any attachments from a specific bank transaction.
GET/BankTransactions/{BankTransactionID}/Attachments/{AttachmentID}Retrieves a specific attachment from a bank transaction using a unique attachment ID.
GET/BankTransactions/{BankTransactionID}/Attachments/{FileName}Retrieves a specific attachment from a bank transaction by filename.
POST/BankTransactions/{BankTransactionID}/Attachments/{FileName}Updates a specific attachment from a bank transaction by filename.
PUT/BankTransactions/{BankTransactionID}/Attachments/{FileName}Creates an attachment for a specific bank transaction by filename.
GET/BankTransactions/{BankTransactionID}/HistoryRetrieves history from a specific bank transaction using a unique bank transaction ID.
PUT/BankTransactions/{BankTransactionID}/HistoryCreates a history record for a specific bank transaction.

Bank Transfer ID

MethodAPI EndpointDescription
GET/BankTransfers/{BankTransferID}Retrieves a specific bank transfer using a unique bank transfer ID.
GET/BankTransfers/{BankTransferID}/AttachmentsRetrieves attachments from a specific bank transfer.
GET/BankTransfers/{BankTransferID}/Attachments/{AttachmentID}Retrieves a specific attachment from a bank transfer using a unique attachment ID.
GET/BankTransfers/{BankTransferID}/Attachments/{FileName}Retrieves a specific attachment on a bank transfer by file name.
POST/BankTransfers/{BankTransferID}/Attachments/{FileName}Updates a specific attachment on a bank transfer by file name.
PUT/BankTransfers/{BankTransferID}/Attachments/{FileName}Creates an attachment for a specific bank transfer by file name.
GET/BankTransfers/{BankTransferID}/HistoryRetrieves history from a specific bank transfer using a unique bank transfer ID.
PUT/BankTransfers/{BankTransferID}/HistoryCreates a history record for a specific bank transfer.

Branding Theme ID

MethodAPI EndpointDescription
GET/BrandingThemes/{BrandingThemeID}Retrieves a specific branding theme using a unique branding theme ID.
GET/BrandingThemes/{BrandingThemeID}/PaymentServicesRetrieves payment services for a specific branding theme.
POST/BrandingThemes/{BrandingThemeID}/PaymentServicesCreates a new custom payment service for a specific branding theme.

Budget ID

MethodAPI EndpointDescription
GET/Budgets/{BudgetID}Retrieves a specific budget, including budget lines.

Contact Number

MethodAPI EndpointDescription
GET/Contacts/{ContactNumber}Retrieves a specific contact by contact number in a Xero organisation.

Contact ID

MethodAPI EndpointDescription
GET/Contacts/{ContactID}Retrieves a specific contact in a Xero organisation using a unique contact ID.
POST/Contacts/{ContactID}Updates a specific contact in a Xero organisation.
GET/Contacts/{ContactID}/AttachmentsRetrieves attachments for a specific contact in a Xero organisation.
GET/Contacts/{ContactID}/Attachments/{AttachmentID}Retrieves a specific attachment from a contact using a unique attachment ID.
GET/Contacts/{ContactID}/Attachments/{FileName}Retrieves a specific attachment from a contact by file name.
POST/Contacts/{ContactID}/Attachments/{FileName}Updates a specific attachment from a contact by file name.
PUT/Contacts/{ContactID}/Attachments/{FileName}Creates an attachment for a specific contact by file name.
GET/Contacts/{ContactID}/CISSettingsRetrieves CIS settings for a specific contact in a Xero organisation.
GET/Contacts/{ContactID}/HistoryRetrieves history records for a specific contact.
PUT/Contacts/{ContactID}/HistoryCreates a new history record for a specific contact.

Contact Group ID

MethodAPI EndpointDescription
GET/ContactGroups/{ContactGroupID}Retrieves a specific contact group using a unique contact group ID.
POST/ContactGroups/{ContactGroupID}Updates a specific contact group.
PUT/ContactGroups/{ContactGroupID}/ContactsCreates contacts for a specific contact group.
DELETE/ContactGroups/{ContactGroupID}/ContactsDeletes all contacts from a specific contact group.
DELETE/ContactGroups/{ContactGroupID}/Contacts/{ContactID}Deletes a specific contac
info

Accounts Entity supports more operations. You can find them all in the query panel.

Finance

Access financial insights and accounting activity metrics for analytics and BI use cases.

MethodAPI EndpointDescription
GET/CashValidationRetrieves cash validation details

Account Usage

MethodAPI EndpointDescription
GET/AccountingActivities/AccountUsageRetrieves account usage details

Lock History

MethodAPI EndpointDescription
GET/AccountingActivities/LockHistoryRetrieves lock history details

Report History

MethodAPI EndpointDescription
GET/AccountingActivities/ReportHistoryRetrieves report history details

User Activities

MethodAPI EndpointDescription
GET/AccountingActivities/UserActivitiesRetrieves user activity details

Balance Sheet

MethodAPI EndpointDescription
GET/FinancialStatements/BalanceSheetRetrieves the Balance Sheet report

Cashflow

MethodAPI EndpointDescription
GET/FinancialStatements/CashflowRetrieves the Cash Flow report

Profit and Loss

MethodAPI EndpointDescription
GET/FinancialStatements/ProfitAndLossRetrieves the Profit and Loss report

Trail Balance

MethodAPI EndpointDescription
GET/FinancialStatements/TrialBalanceRetrieves the Trial Balance report

Contacts

MethodAPI EndpointDescription
GET/FinancialStatements/contacts/revenueRetrieves revenue by contacts report
GET/FinancialStatements/contacts/expenseRetrieves expense by contacts report

Statements

MethodAPI EndpointDescription
GET/BankStatementsPlus/statementsRetrieves bank statement accounting details

Identity

Handle authentication and identity management using Xero’s OAuth 2.0 identity service. (Used for app sign-in and securing API access.)

MethodAPI EndpointDescription
GET/ConnectionsRetrieves the connections for this user.

ID

MethodAPI EndpointDescription
DELETE/Connections/{id}Deletes connections for this user. (i.e.,disconnect a Tenant)

Bank Feeds

Provide transaction feeds and bank connection data for supported financial institutions.

MethodAPI EndpointDescription
GET/FeedConnectionsSearches for feed connections.
POST/FeedConnectionsCreates one or more new feed connection.
GET/StatementsRetrieves all statements.
POST/StatementsCreates one or more new statements.

ID

MethodAPI EndpointDescription
GET/FeedConnections/{id}Retrieves single feed connection based on an unique id provided.

Delete Requests

MethodAPI EndpointDescription
POST/FeedConnections/DeleteRequestsDeletes an existing feed connection.

Statement ID

MethodAPI EndpointDescription
GET/Statements/{StatmentId}Retrieves single statement based on an unique id provided.

App Store

Browse and manage third-party apps and integrations available in the Xero marketplace.

Subscription ID

MethodAPI EndpointDescription
GET/Subscriptions/{SubscriptionId}Retrieves a subscription for a given subscriptionId.
POST/Subscriptions/{SubscriptionId}/items//{SubscriptionItemId}/usage-recordsSend metered usage belonging to this subscription and subscription item.
PUT/Subscriptions/{SubscriptionId}/items//{SubscriptionItemId}/usage-records/{usageRecordId}Update and existing metered usage belonging to this subscription and subscription item.
GET/Subscriptions/{SubscriptionId}/usage-recordsGets all usage records related to the subscription.

Assets

Manage fixed assets, including creation, depreciation tracking, and disposals.

MethodAPI EndpointDescription
GET/AssetsSearches fixed asset.
POST/AssetsAdds a fixed asset.
GET/AssetTypesSearches fixed asset types.
POST/AssetTypesAdds a fixed asset type.
GET/SettingsSearches for fixed asset settings.

ID

MethodAPI EndpointDescription
GET/Assets/{id}Retrieves fixed asset by id.

Payroll AU

Access payroll features for Australian businesses, like syncing employees and pay details.

MethodAPI EndpointDescription
GET/EmployeesSearches payroll employees.
POST/EmployeesCreates payroll employees.
GET/LeaveApplicationsRetrieves leave applications.
POST/LeaveApplicationsCreates a leave application.
GET/PayItemsRetrieves pay items.
POST/PayItemsCreates a pay item.
GET/PayrollCalendarsRetrieves payroll calendar.
POST/PayrollCalendarsCreates a payroll calendar.
GET/PayRunsRetrieves pay runs.
POST/PayRunsCreates a pay run.
GET/SettingsRetrieves payroll settings.
GET/SuperfundsRetrieves superfunds.
POST/SuperfundsCreates superfunds.
GET/SuperfundProductsRetrieves superfund products.
GET/TimesheetsRetrieves timesheets.
POST/TimesheetsCreates timesheets.

Employee ID

MethodAPI EndpointDescription
GET/Employees/{EmployeeID}Retrieves an employee's detail by unique employee id.
POST/Employees/{EmployeeID}Updates an employee's detail.

V2

MethodAPI EndpointDescription
GET/LeaveApplications/v2Retrieves leave applications including leave requests.

Leave Application ID

MethodAPI EndpointDescription
GET/LeaveApplications/{LeaveApplicationID}Retrieves leave application by an unique leave application id .
PUT/LeaveApplications/{LeaveApplicationID}Updates specific leave application.
POST/LeaveApplications/{LeaveApplicationID}/approveApproves a requested leave application by an unique leave application id.
POST/LeaveApplications/{LeaveApplicationID}/rejectRejects a leave application by an unique leave application id.

Payroll Calendar ID

MethodAPI EndpointDescription
GET/PayrollCalendars/{PayrollCalendarID}Retrieves payroll calendar by using an unique payroll calendar id.

Payrun ID

MethodAPI EndpointDescription
GET/PayRuns/{PayRunID}Retrieves pay run by using an unique pay run id.
POST/PayRuns/{PayRunID}Updates a pay run.

Payslip ID

MethodAPI EndpointDescription
GET/PaySlip/{PaySlipID}Retrieves for a payslip by an unique payslip id.
POST/PaySlip/{PaySlipID}Updates a payslip.

Superfund ID

MethodAPI EndpointDescription
GET/Superfunds/{SuperFundID}Retrieves a superfund by using unique superfund id.
POST/Superfunds/{SuperFundID}Updates a superfund.

Timesheet ID

MethodAPI EndpointDescription
GET/Timesheets/{TimesheetId}Retrieves a timesheet by using unique timsheet id.
POST/Timesheets/{TimesheetId}updates a timesheet.

Payroll UK

Access payroll features for UK-based businesses, like employee and pay run data.

MethodAPI EndpointDescription
GET/EmployeesRetrieves employees.
POST/EmployeesCreates employees.
GET/BenifitsRetrieves employee benifits.
POST/BenifitsCreates a new employee benifit.
GET/DeductionsRetrieves deductions.
POST/DeductionsCreates a new deduction.
GET/PayrollCalendarsRetrieves payroll calendar.
POST/PayrollCalendarsCreates a payroll calendar.
GET/EarningsOrdersRetrieves earnings orders.
GET/EarningsRatesRetrieves earnings rates.
POST/EarningsRatesCreates a new earnings rate.
GET/LeaveTypesRetrieves leave types.
POST/LeaveTypesCreates a new leave type.
GET/ReimbursementsRetrieves reimbursements.
POST/ReimbursementsCreates a new reimbursement.
GET/TimesheetsRetrieves timesheets.
POST/TimesheetsCreates a new timesheet.
GET/PayRunCalendarsRetrieves pay run calendars.
POST/PayRunCalendarsCreates a new pay run calendar.
GET/PayRunsRetrieves pay runs.
GET/PayslipsRetrieves pay slips.
GET/SettingsRetrieves payroll settings.

Employee ID

MethodAPI EndpointDescription
GET/Employees/{EmployeeID}Retrieves specific employees' by using unique employee id.
PUT/Employees/{EmployeeID}Updates a specific employee's detail.
POST/Employees/{EmployeeID}/EmploymentCreates employment detail for a specific employee using a unique employee ID.
GET/Employees/{EmployeeID}/TaxRetrieves tax records for a specific employee using a unique employee ID.
GET /Employees/{EmployeeID}/ukopeningbalancesRetrieves a specific employee's opening balances using a unique employee ID.
POST/Employees/{EmployeeID}/ukopeningbalancesCreates an opening balance for a specific employee.
PUT/Employees/{EmployeeID}/ukopeningbalancesUpdates a specific employee's opening balances.
GET/Employees/{EmployeeID}/Leavespecific employee's leave records using a unique employee ID.
POST/Employees/{EmployeeID}/LeaveCreates leave records for a specific employee.
GET/Employees/{EmployeeID}/Leave/{LeaveID}Retrieves a specific employee's leave record using a unique employee ID.
PUT/Employees/{EmployeeID}/Leave/{LeaveID}Updates a specific employee's leave records.
DELETE/Employees/{EmployeeID}/Leave/{LeaveID}Deletes a specific employee's leave record.
GET/Employees/{EmployeeID}/LeaveBalancesRetrieves a specific employee's leave balances using a unique employee ID.
GET/Employees/{EmployeeID}/StatutoryLeaveBalanceRetrieves a specific employee's leave balances using a unique employee ID.
GET/Employees/{EmployeeID}/LeavePeriodsRetrieves a specific employee's leave periods using a unique employee ID.
GET/Employees/{EmployeeID}/LeaveTypesRetrieves a specific employee's leave types using a unique employee ID.
POST/Employees/{EmployeeID}/LeaveTypesCreates employee leave type records.
GET/Employees/{EmployeeID}/PaymentMethodsRetrieves a specific employee's payment method using a unique employee ID.
POST/Employees/{EmployeeID}/PaymentMethodsCreates an employee payment method.
GET/Employees/{EmployeeID}/PayTemplatesRetrieves a specific employee pay templates using a unique employee ID.
POST/Employees/{EmployeeID}/PayTemplates/earningsCreates an earnings template records for a specific employee.
PUT/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}Updates a specific employee's earnings template records.
DELETE/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}Deletes a specific employee's earnings template record.
POST/Employees/{EmployeeID}/paytemplateearningsCreates an employee's earnings template records.
PUT/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}Updates a specific employee's earnings template records.
DELETE/Employees/{EmployeeID}/PayTemplates/earnings/{PayTemplateEarningID}Deletes a specific employee's earnings template record.
POST/Employees/{EmployeeID}/paytemplateearningsCreates multiple earnings template records for a specific employee using a unique employee ID.
GET/Employees/{EmployeeID}/SalaryAndWagesRetrieves a specific employee's salary and wages by using a unique employee ID.
POST/Employees/{EmployeeID}/SalaryAndWagesCreates a salary and wage record for a specific employee.
GET/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}Retrieves a specific salary and wages record for a specific employee using a unique salary and wage id.
PUT/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}Updates salary and wages record for a employee.
DELETE/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}Deletes a salary and wages record for a employee.

Summary

MethodAPI EndpointDescription
GET/StatutoryLeaves/Summary/{EmployeeID}Retrieves a specific employee's summary of statutory leaves using a unique employee ID.

Sick

MethodAPI EndpointDescription
POST/StatutoryLeaves/SickCreates statutory sick leave records.
GET/StatutoryLeaves/Sick/{StatutorySickLeaveID}Retrieves a statutory sick leave for an employee.

ID

MethodAPI EndpointDescription
GET/Benefits/{id}Retrieves a specific benefit by using a unique benefit ID.
GET/EarningsOrders/{id}Retrieves a specific earnings orders by using a unique earnings orders id.

Deduction ID

MethodAPI EndpointDescription
GET/Deductions/{deductionId}Retrieves a specific deduction by using a unique deduction ID.

Earnings Rate ID

MethodAPI EndpointDescription
GET/EarningsRates/{EarningsRateID}Retrieves a specific earnings rates by using a unique earnings rate id.

Leave Type ID

MethodAPI EndpointDescription
GET/LeaveTypes/{LeaveTypeID}Retrieves a specific leave type by using a unique leave type ID.

Reimbursement ID

MethodAPI EndpointDescription
GET/Reimbursements/{ReimbursementID}Retrieves a specific reimbursement by using a unique reimbursement id.

Timesheet ID

MethodAPI EndpointDescription
GET/Timesheets/{TimesheetID}Retrieves a specific timesheet by using a unique timesheet ID.
DELETE/Timesheets/{TimesheetID}Deletes a specific timesheet.
POST/Timesheets/{TimesheetID}/LinesCreates a new timesheet line for a specific timesheet using a unique timesheet ID.
POST/Timesheets/{TimesheetID}/ApproveApproves a specific timesheet.
POST/Timesheets/{TimesheetID}/RevertToDraftReverts a specific timesheet to draft.
PUT/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}Updates a specific timesheet line for a specific timesheet.
DELETE/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}Deletes a specific timesheet line.

Payrun Calendar ID

MethodAPI EndpointDescription
GET/PayRunCalendars/{PayRunCalendarID}Retrieves a specific payrun calendar by using a unique payrun calendar ID.

Payrun ID

MethodAPI EndpointDescription
GET/PayRuns/{PayRunID}Retrieves a specific pay run by using a unique pay run ID.
PUT/PayRuns/{PayRunID}Updates a specific pay run.

Payslip ID

MethodAPI EndpointDescription
GET/Payslips/{PayslipID}Retrieves a specific payslip by using a unique payslip ID.

Tracking Categories

MethodAPI EndpointDescription
GET/Settings/trackingCategoriesRetrieves tracking categories.

Payroll NZ

Manage payroll functions for New Zealand businesses with the NZ payroll API.

MethodAPI EndpointDescription
GET/EmployeesRetrieves employees.
POST/EmployeesCreates an employees.
GET/DeductionsRetrieves deductions for a specific employee.
POST/DeductionsCreates a new deduction for a specific employee.
GET/StatutoryDeductionsRetrieves statutory deductions.
GET/SuperannuationsRetrieves superannuations.
POST/SuperannuationsCreates a new superannuation.
GET/EarningsRatesRetrieves earnings rates.
POST/EarningsRatesCreates a new earnings rate.
GET/LeaveTypesRetrieves leave types.
POST/LeaveTypesCreates a new leave type.
GET/ReimbursementsRetrieves reimbursements.
POST/ReimbursementsCreates a new reimbursement.
GET/TimesheetsRetrieves timesheets.
POST/TimesheetsCreates a new timesheet.
GET/PayRunCalendarsRetrieves payrun calendars.
POST/PayRunCalendarsCreates a new payrun calendar.
GET/PayRunsRetrieves pay runs.
POST/PayRunsCreates a pay run.
GET/PayslipsRetrieves payslips.
GET/SettingsRetrieves settings.

Employee ID

MethodAPI EndpointDescription
GET/Employees/{EmployeeID}Retrieves an employees using a unique employee ID.
PUT/Employees/{EmployeeID}Updates an existing employee.
POST/Employees/{EmployeeID}/EmploymentCreates an employment detail for a specific employee.
GET/Employees/{EmployeeID}/TaxRetrieves tax records for a specific employee.
POST/Employees/{EmployeeID}/TaxUpdates the tax records for a specific employee.
GET/Employees/{EmployeeID}/OpeningBalancesRetrieves the opening balance for a specific employee.
POST/Employees/{EmployeeID}/OpeningBalancesCreates opening balances for a specific employee.
GET/Employees/{EmployeeID}/LeaveRetrieves leave records for a specific employee.
POST/Employees/{EmployeeID}/LeaveCreates leave records for a specific employee.
PUT/Employees/{EmployeeID}/Leave/{LeaveID}Updates leave records for a specific employee.
DELETE/Employees/{EmployeeID}/Leave/{LeaveID}Deletes a leave record for a specific employee.
GET/Employees/{EmployeeID}/LeaveBalancesRetrieves leave balances for a specific employee.
GET/Employees/{EmployeeID}/LeavePeriodsRetrieves leave periods for a specific employee.
POST/Employees/{EmployeeID}/LeaveSetupCreates a leave set-up for a specific employee. This is required before viewing, configuring and requesting leave for an employee.
GET/Employees/{EmployeeID}/LeaveTypesRetrieves leave types for a specific employee.
POST/Employees/{EmployeeID}/LeaveTypesCreates leave type records for a specific employee.
GET/Employees/{EmployeeID}/PaymentMethodsRetrieves available payment methods for a specific employee.
POST/Employees/{EmployeeID}/PaymentMethodsCreates a payment method for an employee.
GET/Employees/{EmployeeID}/PayTemplatesRetrieves pay templates for a specific employee.
POST/Employees/{EmployeeID}/PayTemplates/EarningsCreates earnings template records for an employee.
PUT/Employees/{EmployeeID}/PayTemplates/Earnings/{PayTemplateEarningID}Updates an earnings template records for an employee.
DELETE/Employees/{EmployeeID}/PayTemplates/Earnings/{PayTemplateEarningID}Deletes an employee's earnings template record.
POST/Employees/{EmployeeID}/PayTemplateEarningsCreates multiple employee earnings template records for a specific employee.
GET/Employees/{EmployeeID}/SalaryAndWagesRetrieves an employee's salary and wages record.
POST/Employees/{EmployeeID}/SalaryAndWagesCreates an employee salary and wage record.
GET/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}Retrieves an employee's salary and wages record by using a unique salary and wage ID.
PUT/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}Updates an employee's salary and wages record.
DELETE/Employees/{EmployeeID}/SalaryAndWages/{SalaryAndWagesID}Deletes an employee's salary and wages record.
GET/Employees/{EmployeeID}/Working-PatternsRetrieves employee's working patterns.
POST/Employees/{EmployeeID}/Working-PatternsCreates an employee working pattern.
GET/Employees/{EmployeeID}/Working-Patterns/{EmployeeWorkingPatternID}Retrieves employee's working patterns.
DELETE/Employees/{EmployeeID}/Working-Patterns/{EmployeeWorkingPatternID}Deletes employee's working patterns.

Deduction ID

MethodAPI EndpointDescription
GET/Deductions/{deductionId}Retrieves a single deduction by using a unique deduction ID.

ID

MethodAPI EndpointDescription
GET/StatutoryDeductions/{id}Retrieves a specific statutory deduction by using a unique statutory deductions id.

Super Annuation ID

MethodAPI EndpointDescription
GET/Superannuations/{SuperannuationID}Retrieves a specific superannuation using a unique superannuation ID.

Earnings Rated ID

MethodAPI EndpointDescription
GET/EarningsRates/{EarningsRateID}Retrieves a specific earnings rates by using a unique earnings rate id.

Leave Type ID

MethodAPI EndpointDescription
GET/LeaveTypes/{LeaveTypeID}Retrieves a specific leave type by using a unique leave type ID.

Reimbursement ID

MethodAPI EndpointDescription
GET/Reimbursements/{ReimbursementID}Retrieves a specific reimbursement by using a unique reimbursement ID.

Timesheet ID

MethodAPI EndpointDescription
GET/Timesheets/{TimesheetID}Retrieves a specific timesheet by using a unique timesheet ID.
DELETE/Timesheets/{TimesheetID}Deletes a specific timesheet.
POST/Timesheets/{TimesheetID}/LinesCreates a new timesheet line for a specific timesheet using a unique timesheet ID.
POST/Timesheets/{TimesheetID}/ApproveApproves a specific timesheet.
POST/Timesheets/{TimesheetID}/RevertToDraftReverts a specific timesheet to draft.
PUT/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}Updates a specific timesheet line for a specific timesheet.
DELETE/Timesheets/{TimesheetID}/Lines/{TimesheetLineID}Deletes a specific timesheet line.

Payrun Calendar ID

MethodAPI EndpointDescription
GET/PayRunCalendars/{PayRunCalendarID}Retrieves a specific payrun calendar by using a unique payrun calendar ID.

Payrun ID

MethodAPI EndpointDescription
GET/PayRuns/{PayRunID}Retrieves a specific pay run by using a unique pay run ID.
PUT/PayRuns/{PayRunID}Updates a specific pay run.

Payslip ID

MethodAPI EndpointDescription
GET/Payslips/{PayslipID}Retrieves a specific payslip by using a unique payslip ID.
PUT/Payslips/{PayslipID}Creates an employee Payslip.

Tracking Categories

MethodAPI EndpointDescription
GET/Settings/trackingCategoriesRetrieves tracking categories.

Projects

Track project time, costs, and profitability (for service and project-based businesses).

MethodAPI EndpointDescription
GET/ProjectsRetrieves all projects.
POST/ProjectsCreates one or more new projects.
GET/ProjectsUsersRetrieves a list of all project users.

Project ID

MethodAPI EndpointDescription
GET/Projects/{projectId}Retrieves a project.
PUT/Projects/{projectId}Updates a specific project.
PATCH/Projects/{projectId}Creates a project for a specified contact.
GET/Projects/{projectId}/TasksRetrieves all project tasks.
POST/Projects/{projectId}/TasksAllows you to create a task.
GET/Projects/{projectId}/Tasks/{taskId}Retrieves a single project task.
PUT/Projects/{projectId}/Tasks/{taskId}Allows you to update a task.
DELETE/Projects/{projectId}/Tasks/{taskId}Allows you to delete a task.
GET/Projects/{projectId}/TimeRetrieves all time entries associated with a specific project.
POST/Projects/{projectId}/TimeCreates a time entry for a specific project.
GET/Projects/{projectId}/Time/{timeEntryId}Retrieves a single time entry for a specific project.
PUT/Projects/{projectId}/Time/{timeEntryId}Updates a time entry for a specific project.
DELETE/Projects/{projectId}/Time/{timeEntryId}Deletes a time entry for a specific project.

Files

Upload, retrieve, and attach documents like receipts and invoices to records in Xero.

MethodAPI EndpointDescription
GET/FilesRetrieves files.
POST/FilesUploads a file to the inbox.
GET/FoldersRetrieves folders.
POST/FoldersCreates a new folder.
GET/InboxRetrieves inbox folder.

File ID

MethodAPI EndpointDescription
GET/Files/{FileId}Retrieves a file by a unique file ID.
PUT/Files/{FileId}Updates a file.
DELETE/Files/{FileId}Deletes a specific file.
GET/Files/{FileId}/ContentRetrieves the content of a specific file.
GET/Files/{FileId}/AssociationsRetrieves a specific file associations.
POST/Files/{FileId}/AssociationsCreates a new file association.
DELETE/Files/{FileId}/Associations/{ObjectId}Deletes an existing file association.

Folder ID

MethodAPI EndpointDescription
POST/Files/{FolderId}Uploads a file to a specific folder.
GET/Folders/{FolderId}Retrieves a specific folder by using a unique folder ID.
PUT/Folders/{FolderId}Updates an existing folder.
DELETE/Folders/{FolderId}Deletes a folder.

Object ID

MethodAPI EndpointDescription
GET/Associations/{ObjectId}Retrieves an association object using a unique object ID.

Count

MethodAPI EndpointDescription
GET/Associations/CountRetrieves a count of associations for a list of objects.

Example Queries

Accounts

Get Accounts fetches all accounts associated with the selected Xero tenant.

Operation : GET /Accounts

Optional Parameters

  • where : allows you to filter the accounts based on specific conditions (for example, by Status or Type).
  • order : lets you sort the returned accounts by a selected field in ascending or descending order.
Response Example
{
"Id": "05263684-a3fe-48bf-ad06-4fa1835f9df1",
"Status": "OK",
"ProviderName": "test",
"DateTimeUTC": "/Date(1767007119760)/",
"Accounts": [
{
"AccountID": "d7c6f5e4",
"Name": "Sales",
"Type": "REVENUE",
"Code": "200",
"Status": "ACTIVE",
"TaxType": "OUTPUT"
}
]
}
Example query in Xero

Bank Transactions

Create Bank Transactions allows you to create one or more bank transactions for the selected Xero tenant.

Operation : POST /BankTransactions

Optional Parameters

  • summarizeErrors : When set to true, validation errors are summarized instead of returning detailed error messages for each transaction.
  • unitdp : Specifies the number of decimal places to use for unit amounts in the transaction (for example, 2 or 4).

Request Body

  • Pagination : Used to control pagination behavior in the request payload when applicable.
  • Warnings : An array used to capture any warnings returned during the processing of bank transactions.
  • BankTransation : An array containing one or more bank transaction objects to be created, including details such as transaction type, date, line items, and amounts.
Response Example
{
"Id": "61609765-4c78-45df-8bdf-d2415c77372b",
"Status": "OK",
"ProviderName": "app1abc",
"DateTimeUTC": "/Date(1770616360380)/",
"BankTransactions": [
{
"BankTransactionID": "b2a3f6d9-9c44-4f88-b2d1-0f7d9e6a1234",
"Type": "SPEND",
"Contact": {
"ContactID": "e7a9c1b4-3d55-4a9e-8c22-7f6a8d9c5678",
"Name": "Office Supplies Ltd"
},
"Date": "/Date(1770600000000)/",
"LineAmountTypes": "Exclusive",
"LineItems": [
{
"Description": "Stationery purchase",
"Quantity": 2,
"UnitAmount": 250,
"AccountCode": "400",
"LineAmount": 500
}
],
"SubTotal": 500,
"TotalTax": 0,
"Total": 500,
"Status": "AUTHORISED"
}
]
}
Example query in Xero

Projects

Get Projects retrieves projects associated with the selected Xero tenant. This operation supports filtering and pagination to narrow down the results.

Operation : GET /Projects

Optional Parameters

  • projectIds : A list of specific project IDs to retrieve. When provided, only projects matching these IDs are returned.
  • contactID : Filters projects linked to a specific contact.
  • states : Filters projects based on their current state (for example, ACTIVE, CLOSED).
  • page : Specifies the page number to retrieve. Used for paginated results.
  • pageSize : Defines the number of projects returned per page.
Response Example
{
"projectIds": [
"111-22-33-444-555555"
],
"contactID": "aaa-bbb-ccc-dd-ee",
"states": "ACTIVE",
"page": 1,
"pageSize": 20
}
Example query in Xero