FP&A PlatformCustom SoftwareFree ToolsNewsPricing
Getting Started6 min read

Connecting Your Data

Step-by-step instructions for connecting QuickBooks, Xero, Puzzle.io, or uploading CSV files to James Analytics.

Overview

Supported Integrations

James Analytics connects directly to the accounting platforms your business already uses. We support three native integrations — QuickBooks Online, Xero, and Puzzle.io — plus a flexible CSV upload option for any other data source. Each integration uses secure OAuth authentication, meaning James never stores your accounting login credentials.

You can connect multiple data sources to a single James account. This is useful if you manage finances across different entities or if you’re transitioning between accounting platforms. James will consolidate the data and flag any overlaps so your statements remain accurate.

Most Popular

QuickBooks Online

The most popular integration. Full two-way sync of your chart of accounts, transactions, invoices, and bills. Initial sync takes 2-5 minutes for most companies.

Full Support

Xero

Complete integration with Xero's accounting data including bank transactions, invoices, contacts, and manual journals. Supports multi-currency Xero organizations.

Startup Friendly

Puzzle.io

Purpose-built for startups using Puzzle as their accounting layer. Syncs transaction data, categorizations, and account balances with minimal configuration.

Universal

CSV Upload

Import data from any source using our standardized CSV template. Ideal for bank exports, legacy accounting systems, or supplemental data that isn't in your primary platform.

Integration Guide

Connecting QuickBooks

QuickBooks Online is the most common integration for James Analytics users. The connection uses Intuit’s official OAuth 2.0 flow, which means you authorize James to read your QuickBooks data without ever sharing your QuickBooks password. The entire process takes under two minutes.

Once connected, James pulls in your full chart of accounts, all transactions dating back to the start of your QuickBooks history, and ongoing updates every four hours. Your Income Statement, Balance Sheet, and Cash Flow Statement are generated automatically from this data.

01

Open Settings

Navigate to Settings → Integrations in the James Analytics sidebar. You'll see a list of available data source connections.

02

Click Connect QuickBooks

Click the "Connect" button next to QuickBooks Online. This opens a new window with Intuit's authorization page.

03

Authorize Access

Sign into your QuickBooks account if prompted, then click "Connect" to grant James read access. James requests read-only permissions — we never modify your QuickBooks data.

04

Select Your Company

If you have multiple QuickBooks companies, select the one you want to connect. You can connect additional companies later from the same Integrations page.

05

Wait for Initial Sync

The initial sync takes 2-5 minutes depending on your transaction volume. You'll see a progress indicator on the Integrations page. Once complete, head to Financials to see your statements.

Integration Guide

Connecting Xero

The Xero integration follows a similar OAuth flow to QuickBooks. James connects to your Xero organization and pulls in bank transactions, invoices, bills, manual journals, and your complete chart of accounts. If your Xero organization uses multiple currencies, James handles the conversion automatically using your configured base currency.

Xero connections are refreshed automatically every four hours. You can also trigger a manual sync from the Integrations page at any time if you’ve just entered new data in Xero and want to see it reflected immediately in James.

01

Open Integrations

Go to Settings → Integrations and find Xero in the list of available connections.

02

Authorize with Xero

Click "Connect" next to Xero. You'll be redirected to Xero's login page. Sign in and authorize James to access your organization's data.

03

Select Organization

If you manage multiple Xero organizations, choose the one you want to connect. Each organization requires a separate connection.

04

Confirm Permissions

James requests read-only access to your accounting data. Review the permissions and confirm. No write access is required.

05

Sync Complete

The initial sync for Xero typically takes 2-4 minutes. Once finished, your financial statements and dashboards will populate automatically.

Integration Guide

Connecting Puzzle.io

Puzzle.io is a modern accounting platform built for startups, and James Analytics integrates with it natively. If you use Puzzle to manage your books, connecting to James gives you the FP&A layer — budgeting, forecasting, scenario modeling, and AI insights — that Puzzle doesn’t provide on its own.

The Puzzle integration syncs your categorized transactions, account balances, and chart of accounts. Because Puzzle already handles smart categorization, the data that flows into James is typically cleaner and requires less manual adjustment than CSV uploads.

01

Navigate to Integrations

From the James sidebar, open Settings → Integrations and locate Puzzle.io in the connections list.

02

Connect Your Account

Click "Connect" and sign into your Puzzle.io account. Authorize James to access your financial data through Puzzle's OAuth flow.

03

Select Workspace

Choose the Puzzle workspace you want to connect. If you run multiple companies through Puzzle, each workspace is connected separately.

04

Initial Data Pull

James pulls your complete transaction history and account structure from Puzzle. This typically takes 1-3 minutes for early-stage startups with moderate transaction volume.

Manual Upload

Uploading CSV Files

If your accounting data lives outside of QuickBooks, Xero, or Puzzle, you can upload it directly using CSV files. This is also a good option for importing historical data from a previous accounting system, supplemental bank data, or transaction exports from fintech tools.

James provides a standardized CSV template that you can download from the Integrations page. The template includes four required columns: date, description, amount, and category. You can also include optional columns for account name, reference number, and notes.

After uploading, James validates your file and highlights any rows with errors — missing dates, invalid amounts, or unrecognized categories. You can fix these inline in the upload preview screen or correct your CSV and re-upload. Once all rows pass validation, confirm the import and James will process the data into your financial statements.

Required CSV Columns

dateYYYY-MM-DD

The transaction date. Must be in ISO format (e.g., 2026-03-15).

descriptionText

A description of the transaction (e.g., "Office rent payment").

amountNumber

The transaction amount. Use negative values for expenses, positive for income.

categoryText

The account category (e.g., "Revenue", "Rent", "Payroll"). James maps these to your chart of accounts.

Upload Process

01

Download Template

Get the CSV template from Settings → Integrations → CSV Upload. Fill it with your transaction data.

02

Upload & Validate

Drag and drop your file or click to browse. James validates every row and highlights errors for you to fix.

03

Confirm Import

Review the preview, resolve any flagged issues, and confirm. Your data appears in Financials within seconds.

Maintenance

Sync & Troubleshooting

Once connected, you can sync your data at any time using the Sync button on the Settings → Integrations page. Syncs typically complete in under a minute, pulling in all new or modified transactions from your accounting platform. You’ll see the last sync timestamp next to each connected integration.

Common Issues

Expired Authorization

OAuth tokens can expire if you change your accounting platform password or revoke access. If you see an "Authorization expired" message, click "Reconnect" on the Integrations page to re-authenticate. No data is lost — James picks up where it left off.

Rate Limit Errors

QuickBooks and Xero impose API rate limits. If James hits a rate limit during sync, it automatically retries after a short delay. You may see a temporary "Sync in progress" status that resolves on its own within 15-30 minutes.

Missing Transactions

If recently entered transactions aren't appearing, first try a manual sync. If they still don't show, check that the transactions are fully posted (not in draft status) in your accounting platform. James only syncs finalized transactions.

Duplicate Data

James de-duplicates transactions using unique identifiers from your accounting platform. If you see duplicates after connecting multiple data sources, review your connections in Settings to ensure you haven't linked the same accounts twice.

Pro Tip

Start with just one integration. Get comfortable with how your data flows into James and verify that your financial statements look correct before adding additional data sources. This makes it much easier to identify and resolve any mapping issues early, rather than debugging across multiple connected platforms.

Connect Your Data Now

Link your accounting software in under two minutes and see your financial statements instantly.