PHPackages                             mediabeastnz/craft-commerce-xero - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. mediabeastnz/craft-commerce-xero

ActiveCraft-plugin[Payment Processing](/categories/payments)

mediabeastnz/craft-commerce-xero
================================

0.9.3(6y ago)25681[1 issues](https://github.com/thejoshsmith/craft-commerce-xero/issues)proprietaryPHPCI failing

Since Jul 20Pushed 5y agoCompare

[ Source](https://github.com/thejoshsmith/craft-commerce-xero)[ Packagist](https://packagist.org/packages/mediabeastnz/craft-commerce-xero)[ RSS](/packages/mediabeastnz-craft-commerce-xero/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (2)Versions (6)Used By (0)

[![Xero plugin for Craft Commerce 2](./src/icon.svg)](./src/icon.svg)

Xero plugin for Craft Commerce 2
================================

[](#xero-plugin-for-craft-commerce-2)

> **ALERT**: This plugin has been deprecated in favour of [Xero for Craft Commerce 2 &amp; 3](https://github.com/thejoshsmith/commerce-xero) that supports OAuth 2.0.
>
> This plugin is no longer maintained and is for those still using the deprecated OAuth1.0a method of connecting to Xero.
>
> All new issues and pull requests should be created on the new repository.

Overview
--------

[](#overview)

**NOTE: 👨‍💻This plugin is stable and fine to use in production however it's in active development so expect frequent updates while new features are added until v1.0.0.**

This plugin allows you to automatically send Commerce invoices into Xero including contacts, payments and even inventory updates.

You'll need to create a [private application](https://developer.xero.com) within Xero and then connect via OAuth using a consumer key, consumer secret and private (self signed) certificate.

You'll also need a Certificate store which can be downloaded from this repo for ease of use. It's generated from Firefox's own Cert store and updated often. [see here](https://github.com/bagder/ca-bundle)

Once connected the plugin allows you to map your Chart of Accounts (Account Codes) including:

- sales revenue
- accounts receivable
- shipping/develiery
- rounding

By default all fully paid orders will be pushed into the queue (you'll need to ensure you're processing the queue freqeuently) with a delay of 30 seconds (this is reduce the time customers spend waiting for their order to process) and then once the queue has dispatched the job, the invoice will be sent to Xero.

If you need to send existing orders to Cero you can do so by viewing an order and you'll see a "Send to Xero" button which will instantly send the order off to Xero. This button also currently acts as a way to see if an order is already in Xero.

### What fields are sent to Xero

[](#what-fields-are-sent-to-xero)

Below is a list of fields that is sent to Xero. In future versions hooks/events will be avaialbe if you require more information to be sent.

**Contact**

- first name
- last name
- email

**Order**

- status (AUTHORISED)
- type (ACCREC)
- contact (as above)
- LineAmountType (Exclusive) (future versions will be configurable)
- Invoice Number (order referrence)
- SentToContact (invoices are marked as sent)
- Due Date (now)

**Line Items**

- account code (sales)
- description (product tile)
- quantity
- unit amount (item total)
- Item Code (sku) (if inventory is enabled)

**Shipping adjustments**

- same as above but account is set to you defined shipping account.

**Payment**

- account (receivable account)
- reference (order transaction reference)
- amount (total paid amount)
- date (date paid)

### Rounding

[](#rounding)

Due to how different systems calculate rounding if for whatever reason the order total is different to what Xero calculates, an additional line item to account for rounding is added in Xero. Please ensure you have this account code selected under settings.

### Multi environment settings

[](#multi-environment-settings)

If you require different settings per environment the plugin ships with an example config file `xero-config.php` which should be copied into your config folder and renamed to `xero.php`. Once this is in place you r can define all the plugins settings for each environment. Note if this file exists all settings will then be read from this file instead of whats in Craft.

> More detailed documentation to coming soon.

Feature requests 🙏
------------------

[](#feature-requests-)

As this plugin is still in active development now is a good time to suggest new features. Feel free to contact me via email or create a GitHub issue.

Roadmap 🚀
---------

[](#roadmap-)

- Improve documentation
- Configure Crafts new testing framework to ensure new features don't cause unexpected issues.
- Add multiple hooks/events so developers can further extend if required
- Refunds support
- Admin features like element actions, widgets and different syncing methods

Installation
------------

[](#installation)

Either by the plugin store (search "Xero") or via composer.

`"thejoshsmith/craft-commerce-xero": "^0.9.3"`

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.1.0 or later and Craft Commerce 2.0 or later.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 70.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~25 days

Total

4

Last Release

2412d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2e4d1e3c7076289316ec631e25f7d4b76636a8ba36ce4f6d90461ff6a9fa002d?d=identicon)[mediabeast](/maintainers/mediabeast)

---

Top Contributors

[![mylesthedev](https://avatars.githubusercontent.com/u/909749?v=4)](https://github.com/mylesthedev "mylesthedev (12 commits)")[![dwhoban](https://avatars.githubusercontent.com/u/5687870?v=4)](https://github.com/dwhoban "dwhoban (3 commits)")[![moacode](https://avatars.githubusercontent.com/u/5515179?v=4)](https://github.com/moacode "moacode (2 commits)")

---

Tags

cmsinvoiceCraftcraftcmscraft-pluginxero

### Embed Badge

![Health badge](/badges/mediabeastnz-craft-commerce-xero/health.svg)

```
[![Health](https://phpackages.com/badges/mediabeastnz-craft-commerce-xero/health.svg)](https://phpackages.com/packages/mediabeastnz-craft-commerce-xero)
```

###  Alternatives

[enupal/stripe

Allows customers sign up for recurring and one-time payments with Stripe, perfect for orders, donations, subscriptions, and events. Create simple payment forms in seconds easily without coding. For Craft CMS 3.x

3416.5k1](/packages/enupal-stripe)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
