Harvest connects to Xero by copying invoices. It does not send individual timesheet entries into Xero. You prepare the bill in Harvest, then copy it across manually or when you send it to your client. Harvest describes the integration here.
What transfers?
| Record | Behaviour |
|---|---|
| Draft invoice | A copied Harvest draft remains a draft in Xero. |
| Sent invoice | Arrives as an approved invoice awaiting payment. |
| Payment | Can copy from Harvest to Xero when enabled. Xero payments do not copy back. |
| Time and expenses | Transfer as invoice lines, not separate records. |
| Client details | Only the client name copies; this is not a full contact-list sync. |
| Retainer funding invoice | Cannot be copied to Xero. |
Source: Harvest's Xero documentation, checked 7 September 2026.
An invoice or payment is missing
- Invoice missing: open it in Harvest and check for “View on Xero”. A copy can take a few minutes. For a manual copy, use Actions → Copy to Xero.
- Copy fails: check that each line has a description, the currency is supported and the invoice uses the linked Xero tax rates.
- Xero says paid, Harvest says unpaid: the payment connection is one-way. Reconcile both records before recording another payment.
Before retrying, search Xero for the invoice number and client. Creating a second invoice to resolve a missing link can leave two bills for the same work.
Decide where your team sends invoices
Use one sending process per client. If you send a bill from Harvest and later send its Xero copy, the client may receive it twice. Write down who sends invoices and who records payments so the handoff is clear.
If you want Xero drafts, Harvest can already copy them. Test that option before changing tools. If you also need retainer usage tracking or different invoice grouping, compare the whole monthly process with your bookkeeper.
Hour Cap sends tracked time to Xero as draft invoices. See how that works, or compare five Harvest alternatives. If you decide to move, keep a record of unbilled time and unpaid invoices first.