There are two practical ways to get Xero data into Google Sheets: export a report manually, or connect the systems so the data can refresh automatically. The right choice depends on whether the spreadsheet is a one-off analysis or part of a recurring finance process.
Key takeaways
- ✓Manual export is suitable for occasional, point-in-time analysis.
- ✓Automated sync is better for recurring reports, dashboards, and client portfolios.
- ✓A reliable workflow separates source data from calculations and presentation.
- ✓Access, refresh ownership, and exception checks should be decided before rollout.
Option 1: export a Xero report to Google Sheets
Xero can export many reports directly to Google Sheets. Open the report, set the date range and filters, select Export, and choose Google Sheets. Xero then creates a spreadsheet containing that report at that moment in time.
This is often the fastest route for an ad-hoc question. It is also useful when you want a static period-end file that will not change later.
- Good for one-off analysis and archived reporting packs
- No additional integration software is required
- Simple for a single organisation and a small number of reports
- Requires another export whenever the source data changes
Where manual exports start to break down
The export itself is rarely the time-consuming part. The work appears after the export: renaming tabs, moving columns, restoring formulas, checking date filters, and confirming that everyone is working from the latest version.
Those small steps compound across monthly reporting, weekly cash reviews, and multiple clients. They also create a control problem: a polished report can look current even when the underlying data is not.
- Repeated copy-and-paste steps introduce avoidable errors
- Formatting changes can break formulas and charts
- Refresh responsibility often depends on one team member
- Multi-entity reporting multiplies the same work across files
Option 2: automate the Xero to Sheets connection
An automated connector uses authorised access to retrieve accounting data and place it into a defined area of the spreadsheet. The workbook keeps its formulas, commentary, and presentation layer while the data range is refreshed on demand or on a schedule.
This works best when the same report is used repeatedly. Management accounts, client dashboards, board packs, and consolidated reporting are all strong candidates.
A clean setup in five steps
Treat the connection as part of the reporting process, not merely a data import. A small amount of structure at the beginning makes the workbook far easier to maintain.
- 1
Define the output
Write down the decisions the report should support, its audience, and the required refresh frequency.
- 2
Separate raw data
Use dedicated data tabs and keep calculations, commentary, and charts on separate tabs.
- 3
Choose stable identifiers
Map by account codes and IDs where possible instead of relying only on names that people may edit.
- 4
Set refresh ownership
Decide who can change the connection, who receives failure alerts, and when scheduled refreshes run.
- 5
Add control checks
Include a last-refreshed timestamp, organisation name, period, and reconciliation total in the visible report.
How often can it refresh? What Xero publishes (checked 2026-08-11)
Refresh cadence is set by the Xero platform, not by whichever connector you pick, so it is worth reading Xero's own published limits before agreeing a reporting deadline. These apply per tenant — per organisation, account or practice — to every application connected to Xero:
Xero also publishes what happens at the ceiling and how long extraction takes. Its own recommendation is explicit: "it may take some time to extract the required data – it is recommended that an application is structured to schedule or queue this function so there is no user expectation of an immediate response."
These are facts about the Xero API, checked 2026-08-11 and sourced below, with a next review of 2026-11-11. They are not a performance figure for CrunchSync or for any other connector, and this page does not publish one. The practical consequence is the same whichever tool you choose: a large or multi-entity refresh is queued work, so build the pack's timetable around a refresh that completes before review rather than one that returns instantly on demand.
- Concurrent Limit: 5 calls in progress at one time
- Minute Limit: 60 calls per minute
- Daily Limit: 1,000 calls per day for starter, 5,000 calls per day for higher tiers
- App Minute Limit: 10,000 calls per minute (across all tenants)
- Exceeding a rate limit will result in an HTTP 429 (too many requests) response. It will include an X-Rate-Limit-Problem header telling you which limit you have reached.
- Each API response you receive will include the X-DayLimit-Remaining, X-MinLimit-Remaining and X-AppMinLimit-Remaining headers telling you the number of remaining against each limit.
- If you have exceed [sic] the minute or daily limit you will also receive a Retry-After http header that tells you how many seconds to wait before making another request.
- The maximum request size limit for all APIs is 10MB.
If your pack lives in Excel instead
The choice above is about where the recurring process lives, not about which spreadsheet application you prefer. If your reporting pack is already an Excel workbook and the team is happy in it, the manual-versus-automated trade-off is identical: the export is quick, and the cost is the rebuild afterwards.
What differs is the connector market. CrunchSync refreshes into Google Sheets, so if your pack must stay in Excel, this is not the product for that job and you should evaluate tools that target Excel directly.
Which approach should you choose?
Use a manual export when the request is genuinely one-off and the spreadsheet will be treated as a static document. Use an automated connection when the workbook is a repeatable process, must remain current, or combines several Xero organisations.
A useful threshold is repetition: if your team has already performed the same export-and-clean routine twice, the workflow is stable enough to consider automating.
14-day trial