Notion Xero Integration: How to Import Xero Data into Notion

Want to import Xero data into Notion without writing code? If you track invoices, contacts, and payments in Xero, a smooth Xero → Notion integration can save hours of manual copy-paste and keep your dashboards always current.

In this step-by-step guide, you’ll connect Xero to Notion with Note API Connector: from creating a Xero OAuth app to selecting your Xero organisation (tenant) and importing data into a Notion database.

Getting started with Note API Connector

Connect your Notion workspace, grant the requested permissions, and you’re ready to build API-based imports in a few clicks.

👉 Follow the official setup guide to get started in minutes.

Create a Xero app

To securely connect Xero to Notion, first create a Xero app.

Log in to https://developer.xero.com/myapps. Click the New app button.

Xero New App

Fill out the app name (e.g., "Note API Connector") and other fields.

Xero New App Params

Make sure to add https://api.noteapiconnector.com/oauth/callback as the Redirect URI.

Then open Configuration in the left panel and click Generate a secret.

Xero Generate Secret

You should see your Client id and Client Secret . Keep them, you will need those values later.

Connect Xero to Notion via OAuth

Now it’s time to connect Xero to Notion through OAuth . Click Create request and select Authorization → OAuth → Add Custom OAuth.

Notion API Oauth

Enter the following details:

  • Name , e.g. Xero Connection
  • Authorization Base URLhttps://login.xero.com/identity/connect/authorize
  • Token URLhttps://identity.xero.com/connect/token
  • Client ID → your client ID
  • Client Secret → your client secret
  • Scopesoffline_access accounting.transactions.read accounting.contacts.read
💡

What each scope does — and when to add more

  • offline_access — allows Xero to issue a refresh token so Note API Connector can re-authenticate in the background. Always required for scheduled syncs.
  • accounting.transactions.read — grants read access to Invoices, Payments, CreditNotes, and BankTransactions.
  • accounting.contacts.read — grants read access to Contacts.
  • accounting.settings.read — needed if you want to pull Accounts, Tax Rates, or Tracking Categories. Add this scope to the list if you plan to use those endpoints.

You can add multiple scopes separated by spaces. If you add a new scope later, you will need to reconnect the OAuth connection so Xero can prompt you to approve the new permissions.

Notion Xero OAuth Params

Click Create connection, then sign in to Xero in the pop-up window.

Notion Xero OAuth Login

After a successful login, the pop-up will close and your OAuth connection should show a success state.

⚠️

Important: Allow Access to Your Xero Organisation

During the Xero login flow you will be asked to select and allow access to your Xero organisation (tenant). You must complete this step, without granting organisation access the integration will not work.

Notion Xero OAuth Success

Import Xero Data into Notion

You can browse Accounting API endpoints in the Xero docs. For invoices, see the official endpoint reference here.

Create a Notion database where you will bring your Xero data.

Notion Xero Invoices

If you want to importXero Invoices, use the following API format:

https://api.xero.com/api.xro/2.0/Invoices

Name your request Xero Invoices , choose your Notion database, and paste the API URL into the request field.

Xero Notion Integration

Invoices data is nested in API response data. Add this JMES expression Response.Invoices.Invoice to target invoices.

💡

Xero always requires a JMES expression

Because all Xero API responses wrap their data inside nested objects, you will always need a JMES Path expression to reach the records you want. You don't have to write these by hand, use the Select Nested Data tool to generate the correct expression by clicking through the response tree visually.

Xero Notion JMES

Review the fetched Xero data in the Response Field Mapping view.

Xero Notion Data

Click Save & Import to bring the Xero data in your Notion database.

Xero Notion Notion Import

Other popular Xero endpoints

Each endpoint requires a JMES expression to reach the nested records. The table below shows the URL, the expression to use, and which scope must be included in your OAuth connection.

Endpoint What it returns Required scope JMES expression
/api.xro/2.0/Contacts Customers and suppliers stored in Xero accounting.contacts.read Response.Contacts.Contact
/api.xro/2.0/Payments Payments applied to invoices or credit notes accounting.transactions.read Response.Payments.Payment
/api.xro/2.0/Accounts Chart of accounts (assets, liabilities, revenue, etc.) accounting.settings.read Response.Accounts.Account
/api.xro/2.0/CreditNotes Credit notes issued to customers or received from suppliers accounting.transactions.read Response.CreditNotes.CreditNote
/api.xro/2.0/BankTransactions Spend and receive money transactions from your bank accounts accounting.transactions.read Response.BankTransactions.BankTransaction

Automate Data Updates in Notion

Manually refreshing your Xero data in Notion can be tedious. With Note API Connector’s scheduling feature, you can automate data updates and ensure your Notion workspace always reflects the latest Xero data.

Choose to sync hourly, daily, or at custom intervals so your finance dashboard stays current without manual exports.

Automate Data Updates

Conclusion

With Note API Connector, you can import Xero data into Notion quickly and securely, no coding needed. Connect once with OAuth and pull the endpoints you need like invoices, contacts, payments, and accounts into a clean Notion database.

Map key fields to Notion properties, build views for statuses and due dates, and schedule automatic syncs that keep numbers fresh. Whether you are a founder, accountant, or ops lead, this Xero → Notion integration turns Notion into a living source of truth for your finances.

Ready to go deeper? Add additional scopes to unlock more endpoints, sync only approved invoices, or maintain separate databases for multiple Xero organisations.

Frequently Asked Questions

Create a Xero OAuth app, add a Custom OAuth connection in Note API Connector, then build a request to a Xero endpoint such as /api.xro/2.0/Invoices.

Related Posts

Explore Related Topics

Leave a Comment