Xero Integration in Zoho Flow | Line Items Mapping

Xero

What is Xero?  

Xero is a cloud-based accounting platform that helps businesses manage finances, including invoicing, bank reconciliation, expense tracking, payroll, and financial reporting. It is commonly used by small to medium-sized businesses and integrates with many third-party applications to automate accounting workflow

How to connect your Xero account to Zoho Flow

  1. Select the required trigger and click Next.
  2. If there are no other Xero connections in your account, click Connect
    .



    Alternatively, you can create a new connection by navigating to Settings, then clicking Connections. Click Create connection and choose Xero.
  3. Enter a connection name and click Authorize.
  4. Enter the credentials of your Xero account in the pop-up and click Login, if you haven't logged in yet. 
  5. Select the organization for which you want to generate a connection, then click Allow access.

API documentation  

If you experience any Xero-related errors in your flows or if you wish to learn more about the Xero API, you can check out the API documentation.

Learn how to fix app-specific errors using API documentation

Triggers and actions available in Zoho Flow

Triggers
Actions
Triggers

Bank transaction created: Triggers when a new bank transaction is recorded, for example to create an expense in Zoho Books automatically or notify your finance team in Slack.

Bank transaction created or updated: Triggers when a bank transaction is added or modified, for example to sync updates to QuickBooks Online or update a record in Zoho CRM.

Contact created: Triggers when a new contact is added, for example to create a deal in Zoho CRM or add the contact to a list in Mailchimp.

Contact created or updated: Triggers when a contact is created or updated, for example to sync details to Google Contacts or update a ticket in Zoho Desk.

Credit note created: Triggers when a new credit note is issued, for example to notify the sales team in Zoho Cliq or update refund records in Shopify.

Credit note created or updated: Triggers when a credit note is created or modified, for example to sync changes to Xero or log updates in Google Sheets.

Invoice created: Triggers when a new invoice is generated, for example to send a notification in Microsoft Teams or update a deal stage in Zoho CRM.

Invoice created or updated: Triggers when a sales invoice or purchase bill is created or modified, for example to sync data with Xero or update payment tracking in Zoho Books.

Payment created: Triggers when a new payment is recorded, for example to mark a deal as closed in Zoho CRM or notify your team in Slack.

Payment created or updated: Triggers when a payment is added or updated, for example to sync status with Stripe or update subscription records in Zoho Subscriptions.

Purchase order created: Triggers when a new purchase order is generated, for example to create a procurement task in Zoho Projects or notify suppliers via email.

Purchase order created or updated: Triggers when a purchase order is created or modified, for example to sync order updates to SAP S/4HANA or track changes in Airtable.

Quote created: Triggers when a new sales quote is created, for example to create an opportunity in Zoho CRM or notify the sales team in Zoho Cliq.

Quote created or updated: Triggers when a quote is created or modified, for example to update the deal stage in Zoho CRM or sync quote details to HubSpot.
Actions

Create bank transaction: Automatically create a bank transaction in Xero when a payment is recorded in Zoho Books, Stripe, or PayPal.

Create contact: Create a new contact in Xero when a customer is added in Zoho CRM, HubSpot, or Shopify.

Create invoices: Generate a Xero invoice when a deal is marked as won in Zoho CRM or when a new order is placed in Shopify.

Create project: Create a project in Xero when a new project is initiated in Zoho Projects or a deal is closed in Zoho CRM.

Create purchase order: Automatically create a purchase order in Xero when a new vendor request is approved in Zoho Creator or a form is submitted via Typeform.

Create quote: Generate a sales quote in Xero when a new deal enters the proposal stage in Zoho CRM or Pipedrive.

Fetch account: Retrieve account details from Xero to validate ledger information before posting entries from Zoho Books or a custom app.

Fetch bank account: Fetch bank account details from Xero to verify account information before recording transactions from Stripe or Razorpay.

Fetch bank transaction: Retrieve a specific bank transaction from Xero to reconcile payments received via PayPal or Zoho Checkout.

Fetch contact: Fetch contact details from Xero to check if a customer exists before creating invoices from Zoho CRM or Shopify.

Fetch invoice: Retrieve invoice details from Xero to update payment status in Zoho CRM or notify customers via Zoho Mail.

Fetch project: Fetch project details from Xero to sync project status with Zoho Projects or generate reports in Zoho Analytics.

Fetch purchase order: Retrieve purchase order details from Xero to update approval status in Zoho Creator or notify vendors via Slack.

Fetch quote: Fetch quote details from Xero to update deal stages in Zoho CRM or send reminders through Zoho Cliq.

Update bank transaction: Update a bank transaction in Xero when reconciliation status changes in Zoho Books or payment status updates in Stripe.

Update contact: Update contact details in Xero when customer information is modified in Zoho CRM or Shopify.

Update invoice: Update an invoice in Xero when payment is received via PayPal or when status changes in Zoho Books.

Update project:  Update project details in Xero when milestones are completed in Zoho Projects.

Update purchase order: Update a purchase order in Xero when approval status changes in Zoho Creator or inventory updates in Zoho Inventory.

Update quote:  Update a quote in Xero when pricing or deal details are modified in Zoho CRM.
 

Data Flow Diagram

                              


Line items support

Line items are repeated sets of similar data (like products in an order), grouped together so you can automate them efficiently in your workflow. They allow multiple items to be processed individually, ensuring each item appears as a separate row instead of being grouped together as one value.

Line item field mapping: 

Line items in a trigger can be mapped in two ways:

  1. Map to a list of records field  : You can map the entire line item array directly to a field that accepts a list of records. For example,


          [
          { City: "Pleasanton",

             Region: "California",

             Country: "United States",

             Address Line 1: "4141 Hacienda Drive",

             Type: "STREET" }

         { City: "Austin",

           Region: "Texas",

           Country: "United States",

           Address Line 1: "979 Springdale Rd, Suite 123",

           Type: "POBOX" }

         ]







      2. Map to expanded fields  : Enable the field toggle to map each line item property separately. Each field will receive an array of values. For example,

City → ["Pleasanton", "Austin"]

            Region → ["California", "Texas"]



            Alternatively, you can generate line items with a custom function  :
            If you only have single-value fields, you can use a custom function to construct line items dynamically.

Limitations  

Some usage limits are defined and enforced directly by Xero and cannot be changed from within the integration. If you require higher limits, you will need to contact Xero support to request an increase.

  • API rate limits:
    Xero enforces strict API limits:

5 concurrent calls at one time

60 calls per minute per tenant

5,000 calls per day per tenant

10,000 calls per minute per app across all tenants

  • Starter plan limits:

Organizations on the Starter pricing plan can only create:

20 approved accounts receivable invoices per month via API


            These limits are set by Xero and apply regardless of how the API is accessed.


NotesNote:

If your workflow requires higher invoice volumes, consider upgrading your Xero plan or contacting Xero support for available options.

  • Line Account Code requirement:
    Non-US users may encounter validation errors when creating invoices because the Line Account Code field is required in some cases, even if it appears optional in Flow. To prevent errors, ensure this field is filled in.

 

Frequently asked questions  

Why does my Xero account keep getting disconnected?  

If you disconnect Zoho Flow from the Managed Connections section in Xero, all related connections for that organization in Zoho Flow will be revoked.

To restore the connection, you will need to reconnect your Xero account in Zoho Flow by navigating to Settings > Connections.

Why am I unable to connect my Xero account?  

To connect Xero with Zoho Flow, the Xero user account must have either Standard or Advisor access.

The following roles do not have permission to use the Xero API and cannot be used for integration:

Read Only

Invoice Only

Cashbook Client

Please ensure you are using an account with the appropriate access level.

How do I use line items with Xero?  

To work with line items, make sure that both the trigger and the action in your flow support line items.

If either app does not support line items directly, you can use a custom function to structure the data according to Xero’s line item schema, based on their public API documentation.