Skip to content

Accounting

Your farm records post to Xero. You stop typing them twice.

The harvest was logged at the raceway. The sale was logged at pickup. And yet the books will not know about either until someone sits down with Xero and re-enters the week from memory and receipts. Every farm running Xero next to a field notebook has the same quiet leak: the gap between what happened and what got booked.

That gap costs real money at tax time, when the COGS figure is a guess, and at pricing time, when nobody can say what a crop actually cost to grow. The fix is not more typing discipline. It is removing the second round of typing entirely.

How it actually works

FarmHub pushes to Xero. The premise mirrors our QuickBooks integration: the farm system holds the operational truth, the accounting system gets clean entries.

  • FIFO valuation stays in FarmHub. FarmHub is the system of record for inventory and its FIFO valuation. Xero receives the accounting consequences: manual journals for COGS and spoilage, sales invoices for revenue, and bills for expenses.
  • Entries post to your organisation, against your account codes. At connect time FarmHub captures your Xero organisation and reads your chart of accounts live. You map revenue, expense, and COGS account codes once, and every entry posts against them.
  • One farm record, one Xero entry, forever. FarmHub keeps a persistent mapping between each record and the Xero entry it created. Already-synced records are updated or skipped, never re-created, even after you disconnect and reconnect.
  • Token rotation handled for you. Xero rotates refresh tokens on every use. FarmHub persists the new token each time, so the connection stays alive without you re-authorizing every month.

You keep working the way you already record: enter it once, at the tank or the market table, and the ledger catches up on its own.

WHAT YOU CAN COUNT ON

What you can count on

What is actually shipped:

  • OAuth2 through Xero’s own login. You authorize on Xero’s screen with accounting scopes. Credentials are stored encrypted per connection. FarmHub never holds your Xero password.
  • Reconnect-stable, duplicate-proof. The record-to-entry mapping survives disconnects, so a reconnect does not replay your history into the ledger as duplicates.
  • Retries with backoff. A failed push retries automatically instead of vanishing. Nothing gets silently dropped between FarmHub and Xero.
  • Kill switch and hash-chained audit rows. Disable the connection instantly if needed. Every sync action is written to an audit log with hash-chained rows, so the push history is tamper-evident.

What we do not do

And what we deliberately do not do:

  • FarmHub does not pull transactions from Xero into the farm record. The push is one-way.
  • FarmHub does not use Xero’s inventory tracking. Quantities and FIFO valuation live in FarmHub, and Xero gets journals, not item movements.
  • FarmHub does not reconcile your bank feed or close your books. Your accountant keeps that job.

Setup, honestly

You need a Xero organisation and permission to connect apps to it.

  1. In FarmHub, open Integrations and choose Xero.
  2. Sign in through Xero’s OAuth screen and pick the organisation to connect.
  3. Map your revenue, expense, and COGS account codes from the chart of accounts FarmHub reads from Xero.
  4. Record one sale in FarmHub and confirm the invoice lands in Xero against the right code. Then trust it with the rest.

Questions farmers ask

What does FarmHub create in Xero?

Manual journals for COGS and spoilage, sales invoices (ACCREC) for revenue, and bills (ACCPAY) for expenses, posted against the account codes you mapped at setup.

Will I get duplicate entries if I reconnect Xero?

No. FarmHub keeps a persistent mapping between each farm record and its Xero entry. After a reconnect, mapped records are updated or skipped rather than re-created.

Does inventory sync to Xero?

No, by design. FarmHub is the system of record for inventory quantities and FIFO valuation. Xero receives the accounting entries that valuation produces, not item-level inventory movements.

How is the connection secured?

The connection uses OAuth2 through Xero’s own login, with credentials encrypted per connection. Xero rotates refresh tokens on use and FarmHub persists each new token. A kill switch can disable the connection instantly, and all sync activity lands in hash-chained audit rows.

What if a push fails while Xero is down?

FarmHub retries the delivery with backoff until it succeeds or is marked as a permanent failure you can see. Entries are not silently lost.

READY FOR THE NEXT SHIFT

One entry, one ledger, zero retyping

Connect Xero, map your account codes, and let the field record and the ledger agree without you carrying numbers between them.

Start free