Commerce Xero

Commerce Xero provides integration between Drupal Commerce and online accounting.
Xero provides an online accounting system, which makes it easy to ingest bank statements, payments, invoices, transactions, etc... This makes reconciliation of e-commerce payments or transactions with bank statements painless.


  • Configure Xero API.
  • Go to admin/commerce/config/xero and add an account.
    • Payment method: Paypal,, etc...
    • Xero bank account code: The bank that processes the payment method.
    • Xero revenue account code: Your user-defined account code
    • Transaction type: Bank Transaction or Invoice Payment
      • Depending on your Xero accounting work flow it may be easier to reconcile e-commerce bank statements via bank transactions. A more robust work flow might post these as invoices with invoice payments. This doesn't handle the work flow of creating invoices first and then payments, but all at once. Multiple payments are supported.
  • When a Drupal Commerce Payment Transaction is created (or updated), it will be added to the Queue for processing. This will most likely occur during cron runs. However you may manually do this with actions / Views Bulk Operations.
  • Login to and check the Bank Account to see bank transactions and paymetns that are not reconciled. You should be able to use Xero's "auto-match" functionality to easily reconcile bank transactions to bank statements.
    • Some experiences with reconciliation:
    • Paypal posts statements per transaction, are verbose, and very easy to reconcile.
    • Some other bank statements may not be as verbose, but auto-match should work by date and amount to match up multiple transactions to the statement.
  • Note: Xero querying problems will be logged to watchdog by the Xero API module. Please report issues regarding commerce xero here.

Roadmap: 7.x-1.x

  • 7.x-1.x: Need more examples of tax types.
  • 7.x-1.x: Tracking categories to improve payment details.

All development done by Kosada.