Skip to main content
New Expensify integrates with major accounting platforms to automate expense reporting, syncing, and reconciliation. Connect your workspace to QuickBooks Online, Xero, NetSuite, Sage Intacct, or QuickBooks Desktop to streamline your financial workflows.

Available Integrations

New Expensify supports the following accounting integrations:

QuickBooks Online

Sync expenses, invoices, and categories with QuickBooks Online

Xero

Connect to Xero with 2FA security for automated expense syncing

NetSuite

Enterprise-grade integration with NetSuite ERP

Sage Intacct

Advanced financial management with Sage Intacct

QuickBooks Desktop

Desktop integration via web connector

Key Features

All accounting integrations provide:
  • Automatic Syncing: Expenses, categories, and tax codes sync automatically
  • Two-way Data Flow: Changes in your accounting system reflect in Expensify and vice versa
  • Customizable Mappings: Map Expensify data to your chart of accounts, classes, customers, and more
  • Export Configuration: Control how and when expenses are exported
  • Real-time Updates: See your financial data in real-time across both platforms

Getting Started

1

Navigate to Accounting Settings

Go to your workspace settings and select Accounting from the menu
2

Choose Your Integration

Select your accounting platform from the available options
3

Authenticate

Follow the connection flow to authenticate with your accounting system
4

Configure Import Settings

Choose which data to import from your accounting system (categories, classes, customers, etc.)
5

Configure Export Settings

Set up how expenses should be exported (preferred exporter, export date, account mappings)

Connection Security

Some integrations like Xero require two-factor authentication to be enabled on your Expensify account for enhanced security.

Managing Multiple Connections

For NetSuite and Sage Intacct, you can reuse existing connections across multiple workspaces:
// Example from ConnectToNetSuiteFlow
const connectionOptions = [
  {
    icon: icons.LinkCopy,
    text: translate('workspace.common.createNewConnection'),
    onSelected: () => {
      Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_TOKEN_INPUT.getRoute(policyID));
    },
  },
  {
    icon: icons.Copy,
    text: translate('workspace.common.reuseExistingConnection'),
    onSelected: () => {
      Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXISTING_CONNECTIONS.getRoute(policyID));
    },
  },
];
This allows you to efficiently manage credentials across workspaces without re-authenticating.

Troubleshooting

If you encounter authentication errors, verify:
  • Your credentials are correct and up-to-date
  • You have the necessary permissions in your accounting system
  • Two-factor authentication is enabled (for Xero)
For syncing problems:
  • Check your internet connection
  • Ensure auto-sync is enabled in Advanced settings
  • Manually trigger a sync from the connection page
If data isn’t appearing:
  • Verify your import settings include the required fields
  • Check that the data exists in your accounting system
  • Review error messages in the connection status

Support

Need help with your accounting integration? Contact Expensify Support through Concierge for personalized assistance with connection setup and troubleshooting.

Build docs developers (and LLMs) love