Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

xero

61 sites Security covered
View on drupal.org

Provides methods to integrate with the Xero Account SaaS that allows modules to create invoices and payments or read in data from Xero.

This uses Xero's OAuth 2.0 application. You will need to follow their instructions to setup your application for your organization.

Drupal 8 or greater

Xero API uses the xeroclient library.

Getting Started

Please review the README for the most up-to-date instructions.

API

  • Typed Data integration for Xero types including custom "view" method to print out a render array for a data type.
  • xero.query service to get, post, and put to Xero API.
  • Xero reference field to store references to Xero objects by GUID.
  • Form builder service to dynamically create forms based on Typed Data data types.
  • Templates for Xero types.
  • PHPUnit tests running off of qa.drupal.org.

Drupal 7.x-2.x

Experimental OAuth2 support is available in 7.x-2.x branch of this module.

Drupal 6, Drupal 7 1.x

Xero API uses the PHP-Xero library, and is not compatible with oauth module because of the way in which the OAuth class is included in both the module and the PHP-Xero library.

API

  • Methods: Query data, cache data, and build forms around data.
  • Make API: Create array structures for various Xero data types.
  • Theme API: Theme functions and templates for basic data types.
  • Field API: Xero reference field stores Contact, Payment, BankTransaction, Account, and Invoice Xero types (7.x-1.0-beta2 or greater)
  • Tests: Connection test and validation assertions using SimpleTest.
  • Example: See included Ubercart Xero example.

Modules that use Xero API

Xero API provides methods as described in API.txt to let you develop modules. As an example, I have used the Xero API to create addhours and addhours_xero modules (private), which post hour entries as Invoice line items to Xero. You can make any GET or POST query as defined in the Xero Developer Documentation.

As such this module actually has no visible effect other than providing methods for a module developer to use and to test their own application. I found that there is no one way that Accounting is setup per organization.

Version information

Module Version Drupal Compatibility Library Compatibility 3.1.x 10, 11 xeroclient >= 0.5.1 3.0.x 10 xeroclient >= 0.4 8.x-2.x 8, 9 xeroclient < 0.4 >= 0.3 7.x-2.x 7 xeroclient (included) 7.x-1.x 7 No longer compatible with Xero API

Activity

Total releases
1
First release
Aug 2025
Latest release
8 months ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
3.1.0-alpha2 Pre-release Aug 15, 2025