Xero
Xero is an online accounting software platform designed for small businesses and accountants to manage finances efficiently.
Categories: accounting
Type: xero/v1
Connections
Version: 1
OAuth2 Authorization Code
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
clientId | Client Id | STRING | true | |
clientSecret | Client Secret | STRING | true |
Actions
Create Bill
Name: createBill
Creates draft bill (Accounts Payable).
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
ContactID | Contact ID | STRING | ID of the contact to create the bill for. | true |
Date | Date | DATE | Date of the bill. If no date is specified, the current date will be used. | true |
DueDate | Due Date | DATE | Date bill is due. If no date is specified, the current date will be used. | false |
LineAmountTypes | Line Amount Type | STRING OptionsExclusive, Inclusive, NoTax | false | |
LineItems | Line Items | ARRAY Items[{STRING(Description), NUMBER(Quantity), NUMBER(UnitAmount), STRING(AccountCode)}($LineItem)] | Line items on the bill. | true |
CurrencyCode | Currency | STRING | Currency that bill is raised in. | false |
Reference | Invoice Reference | STRING | Reference number of the bill. | false |
Example JSON Structure
{ "label" : "Create Bill", "name" : "createBill", "parameters" : { "ContactID" : "", "Date" : "2021-01-01", "DueDate" : "2021-01-01", "LineAmountTypes" : "", "LineItems" : [ { "Description" : "", "Quantity" : 0.0, "UnitAmount" : 0.0, "AccountCode" : "" } ], "CurrencyCode" : "", "Reference" : "" }, "type" : "xero/v1/createBill"}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
Type | STRING | Type of the invoice. |
Contact | OBJECT Properties{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
Status | STRING | Status of the invoice. |
LineAmountTypes | STRING | Line Amount Type |
LineItems | ARRAY Items[{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
CurrencyCode | STRING | The currency that invoice has been raised in. |
Output Example
{ "Type" : "", "Contact" : { "ContactID" : "", "Name" : "", "EmailAddress" : "" }, "DateString" : "", "DueDateString" : "", "Status" : "", "LineAmountTypes" : "", "LineItems" : [ { "Description" : "", "Quantity" : 1, "UnitAmount" : 0.0 } ], "CurrencyCode" : ""}
Create Contact
Name: createContact
Creates a new contact.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
Name | Name | STRING | Full name of a contact or organisation. | true |
CompanyNumber | Company Number | STRING | Company registration number. | false |
AccountNumber | Account Number | STRING | Unique account number to identify, reference and search for the contact. | false |
ContactStatus | Contact Status | STRING OptionsACTIVE, ARCHIVED, GDPRREQUEST | Current status of a contact. | false |
FirstName | First Name | STRING | First name of primary person. | false |
LastName | Last Name | STRING | Last name of primary person. | false |
EmailAddress | Email Address | STRING | Email address of contact person. | false |
BankAccountDetails | Bank Account Number | STRING | Bank account number of contact. | false |
TaxNumber | Tax Number | STRING | Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using. | false |
Phones | Phones | ARRAY Items[{STRING(PhoneType), STRING(PhoneNumber), STRING(PhoneAreaCode), STRING(PhoneCountryCode)}] | false | |
Addresses | Addresses | ARRAY Items[{STRING(AddressType), STRING(City), STRING(Region), STRING(PostalCode), STRING(Country)}] | false |
Example JSON Structure
{ "label" : "Create Contact", "name" : "createContact", "parameters" : { "Name" : "", "CompanyNumber" : "", "AccountNumber" : "", "ContactStatus" : "", "FirstName" : "", "LastName" : "", "EmailAddress" : "", "BankAccountDetails" : "", "TaxNumber" : "", "Phones" : [ { "PhoneType" : "", "PhoneNumber" : "", "PhoneAreaCode" : "", "PhoneCountryCode" : "" } ], "Addresses" : [ { "AddressType" : "", "City" : "", "Region" : "", "PostalCode" : "", "Country" : "" } ] }, "type" : "xero/v1/createContact"}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
ContactID | STRING | ID of the contact. |
CompanyNumber | STRING | Company registration number. |
AccountNumber | STRING | A user defined account number. |
ContactStatus | STRING | Status of the contact. |
Name | STRING | Full name of contact/organisation. |
FirstName | STRING | First name of contact person. |
LastName | STRING | Last name of contact person. |
EmailAddress | STRING | Email address of contact person. |
BankAccountDetails | STRING | Bank account number of contact. |
TaxNumber | STRING | Tax number of contact. |
Addresses | ARRAY Items[{STRING(AddressType), STRING(City), STRING(Region), STRING(PostalCode), STRING(Country)}] | List of addresses associated with the contact. |
Phones | ARRAY Items[{STRING(PhoneType), STRING(PhoneNumber), STRING(PhoneAreaCode), STRING(PhoneCountryCode)}] |
Output Example
{ "ContactID" : "", "CompanyNumber" : "", "AccountNumber" : "", "ContactStatus" : "", "Name" : "", "FirstName" : "", "LastName" : "", "EmailAddress" : "", "BankAccountDetails" : "", "TaxNumber" : "", "Addresses" : [ { "AddressType" : "", "City" : "", "Region" : "", "PostalCode" : "", "Country" : "" } ], "Phones" : [ { "PhoneType" : "", "PhoneNumber" : "", "PhoneAreaCode" : "", "PhoneCountryCode" : "" } ]}
Create Invoice
Name: createSalesInvoice
Creates draft invoice (Acount Receivable).
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
ContactID | Contact ID | STRING | ID of the contact to create the invoice for. | true |
Date | Date | DATE | Date invoice was issued. If no date is specified, the current date will be used. | false |
DueDate | Due Date | DATE | Date invoice is due. If no date is specified, the current date will be used. | false |
LineAmountTypes | Line Amount Type | STRING OptionsExclusive, Inclusive, NoTax | false | |
LineItems | Line Items | ARRAY Items[{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount), NUMBER(DiscountRate)}] | Line items on the invoice. | true |
CurrencyCode | Currency Code | STRING | Currency code that invoice is raised in. | false |
Reference | Invoice Reference | STRING | Reference number of the invoice. | false |
Example JSON Structure
{ "label" : "Create Invoice", "name" : "createSalesInvoice", "parameters" : { "ContactID" : "", "Date" : "2021-01-01", "DueDate" : "2021-01-01", "LineAmountTypes" : "", "LineItems" : [ { "Description" : "", "Quantity" : 1, "UnitAmount" : 0.0, "DiscountRate" : 0.0 } ], "CurrencyCode" : "", "Reference" : "" }, "type" : "xero/v1/createSalesInvoice"}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
Type | STRING | Type of the invoice. |
Contact | OBJECT Properties{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
Status | STRING | Status of the invoice. |
LineAmountTypes | STRING | Line Amount Type |
LineItems | ARRAY Items[{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
CurrencyCode | STRING | The currency that invoice has been raised in. |
Output Example
{ "Type" : "", "Contact" : { "ContactID" : "", "Name" : "", "EmailAddress" : "" }, "DateString" : "", "DueDateString" : "", "Status" : "", "LineAmountTypes" : "", "LineItems" : [ { "Description" : "", "Quantity" : 1, "UnitAmount" : 0.0 } ], "CurrencyCode" : ""}
Create Quote
Name: createQuote
Creates a new quote draft.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
ContactID | Contact ID | STRING | ID of the contact that the quote is being raised for. | true |
Date | Date | DATE | Date quote was issued. | true |
LineItems | Line Items | ARRAY Items[{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount), NUMBER(DiscountRate)}] | Line items on the invoice. | true |
LineAmountTypes | Line Amount Type | STRING OptionsExclusive, Inclusive, NoTax | false | |
ExpiryDate | Expiry Date | DATE | Date quote expires | false |
CurrencyCode | Currency Code | STRING | The currency code that quote has been raised in. | false |
QuoteNumber | Quote Number | STRING | Unique alpha numeric code identifying a quote. | false |
Reference | Reference | STRING | Additional reference number | false |
BrandingThemeID | Branding Theme ID | STRING | The branding theme ID to be applied to this quote. | false |
Title | Title | STRING | The title of the quote. | false |
Summary | Summary | STRING | The summary of the quote. | false |
Terms | Terms | STRING | The terms of the quote. | false |
Example JSON Structure
{ "label" : "Create Quote", "name" : "createQuote", "parameters" : { "ContactID" : "", "Date" : "2021-01-01", "LineItems" : [ { "Description" : "", "Quantity" : 1, "UnitAmount" : 0.0, "DiscountRate" : 0.0 } ], "LineAmountTypes" : "", "ExpiryDate" : "2021-01-01", "CurrencyCode" : "", "QuoteNumber" : "", "Reference" : "", "BrandingThemeID" : "", "Title" : "", "Summary" : "", "Terms" : "" }, "type" : "xero/v1/createQuote"}
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
QuoteID | STRING | |
QuoteNumber | STRING | |
Reference | STRING | |
Terms | STRING | |
Contact | OBJECT Properties{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | |
LineItems | ARRAY Items[{STRING(LineItemID), STRING(Description), NUMBER(UnitAmount), INTEGER(DiscountRate), INTEGER(Quantity)}] | |
DateString | STRING | |
ExpiryDateString | STRING | |
Status | STRING | |
CurrencyCode | STRING | |
Title | STRING | |
BrandingThemeID | STRING | |
Summary | STRING | |
LineAmountTypes | STRING |
Output Example
{ "QuoteID" : "", "QuoteNumber" : "", "Reference" : "", "Terms" : "", "Contact" : { "ContactID" : "", "Name" : "", "EmailAddress" : "" }, "LineItems" : [ { "LineItemID" : "", "Description" : "", "UnitAmount" : 0.0, "DiscountRate" : 1, "Quantity" : 1 } ], "DateString" : "", "ExpiryDateString" : "", "Status" : "", "CurrencyCode" : "", "Title" : "", "BrandingThemeID" : "", "Summary" : "", "LineAmountTypes" : ""}
Triggers
New Bill
Name: newBill
Trigger off whenever a new bill is added.
Type: STATIC_WEBHOOK
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
webhookKey | Webhook Key | STRING | The key used to sign the webhook request. | true |
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
Type | STRING | Type of the invoice. |
Contact | OBJECT Properties{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
Status | STRING | Status of the invoice. |
LineAmountTypes | STRING | Line Amount Type |
LineItems | ARRAY Items[{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
CurrencyCode | STRING | The currency that invoice has been raised in. |
JSON Example
{ "label" : "New Bill", "name" : "newBill", "parameters" : { "webhookKey" : "" }, "type" : "xero/v1/newBill"}
New Contact
Name: newContact
Triggers when a contact is created.
Type: STATIC_WEBHOOK
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
webhookKey | Webhook Key | STRING | The key used to sign the webhook request. | true |
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
ContactID | STRING | ID of the contact. |
CompanyNumber | STRING | Company registration number. |
AccountNumber | STRING | A user defined account number. |
ContactStatus | STRING | Status of the contact. |
Name | STRING | Full name of contact/organisation. |
FirstName | STRING | First name of contact person. |
LastName | STRING | Last name of contact person. |
EmailAddress | STRING | Email address of contact person. |
BankAccountDetails | STRING | Bank account number of contact. |
TaxNumber | STRING | Tax number of contact. |
Addresses | ARRAY Items[{STRING(AddressType), STRING(City), STRING(Region), STRING(PostalCode), STRING(Country)}] | List of addresses associated with the contact. |
Phones | ARRAY Items[{STRING(PhoneType), STRING(PhoneNumber), STRING(PhoneAreaCode), STRING(PhoneCountryCode)}] |
JSON Example
{ "label" : "New Contact", "name" : "newContact", "parameters" : { "webhookKey" : "" }, "type" : "xero/v1/newContact"}
New Invoice
Name: newInvoice
Trigger off whenever a new invoice is added.
Type: STATIC_WEBHOOK
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
webhookKey | Webhook Key | STRING | The key used to sign the webhook request. | true |
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
Type | STRING | Type of the invoice. |
Contact | OBJECT Properties{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
Status | STRING | Status of the invoice. |
LineAmountTypes | STRING | Line Amount Type |
LineItems | ARRAY Items[{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
CurrencyCode | STRING | The currency that invoice has been raised in. |
JSON Example
{ "label" : "New Invoice", "name" : "newInvoice", "parameters" : { "webhookKey" : "" }, "type" : "xero/v1/newInvoice"}