Xero Invoice Sync for Krikkit pushes paid and refunded Krikkit invoices into Xero, so bookkeepers do not re-enter the ledger each month. Install it on Krikkit 2.1.0 or newer, connect one Xero organisation, map tax treatments and clearing accounts, then let paid invoices sync on the xero queue.

What syncs

  • Paid, numbered invoice becomes a Xero contact, an AUTHORISED accounts-receivable invoice, a payment on the mapped clearing account, and a PDF attachment
  • A full refund after a paid sync becomes a Xero credit note, allocated when Xero allows it
  • Open, failed, and sample invoices stay out of Xero
  • Amounts and tax come from the issued invoice snapshot; the sync does not recompute VAT

Operator setup

  • Dashboard path: Finance, then Xero
  • Xero OAuth web app with Client ID and Client secret
  • Scopes: openid, offline_access, accounting.invoices, accounting.payments, accounting.contacts, accounting.settings, accounting.attachments
  • Map each tax treatment to a Xero tax type and revenue account
  • Map each payment driver to a clearing or bank account
  • Merchant-of-record posting for Whop and Paddle: net (mode A) or gross (mode B)
  • Test connection, sync one invoice, or backfill a date range
  • Retry failed syncs from the invoice or from Finance, Xero
  • Daily reconcile through the Krikkit scheduler
  • Reconnect when the status is needs_reauth; admins can receive a throttled mail alert

Requirements

  • Krikkit 2.1.0 or newer
  • PHP 8.3+ and MySQL, same stack as Krikkit
  • Queue worker that includes the xero queue
  • Scheduler running for the nightly reconcile
  • One Xero organisation per Krikkit install

This is an addon for Krikkit. It installs under extensions/Xero and does not patch Krikkit core files.

You May Also Like