Skip to content

Installation and setup

  • CS-Cart or Multi-Vendor 4.17.2 or later (tested up to 4.21.2), PHP 7.4 to 8.3.
  • Administrator access to the store’s admin panel.
  • A Xero organisation. You use your own Xero developer app, so no account with us and no third-party service is involved: orders travel from your store straight to Xero.
  • A free Xero developer account (https://developer.xero.com) to create the app. The Xero Demo Company is the place to test.
  • A cron job on your server (see step 8).
  1. Download the kv_xero-<version>.zip package from your Kavio Labs or CS-Cart Marketplace account.
  2. In the admin panel, open Add-ons > Manage add-ons.
  3. Click the gear button and choose Manual installation, then upload the archive.
  4. Find Xero Accounting Sync in the list and make sure its status is Active.
  5. Enter your license key under Settings > License (Kavio Labs downloads) and click Check now.
  1. Sign in at https://developer.xero.com/app/manage and choose New app.
  2. Integration type: Web app (authorization code flow).
  3. Company or application URL: your store address.
  4. Redirect URI: copy the address shown on the add-on’s Connection page under Redirect URI. It must match exactly. Xero accepts https addresses, and http://localhost for development.
  5. Create the app, then open Configuration and generate a client secret. Copy the client ID and the secret; Xero shows the secret once.
  1. Open Orders > Xero sync > Connection (or Add-ons > Manage add-ons > Xero Accounting Sync > Settings and click Connection).
  2. Pick Test mode, enter the client ID and the client secret of your app, press Save.
  3. Press Connect to Xero. Xero asks you to choose the organisation and to allow the access; use the Demo Company for the first run.
  4. You are sent back to the store. With one organisation it is selected for you; with several, choose one in Xero organisation. Test connection shows the organisation name, country and currency.
  5. Open the Mapping page (see Configuration): press Load accounts and tax types from Xero, then Fill the tax types suggested for my country (United Kingdom, Australia and New Zealand), check the codes and save. Map a bank account to each payment method.
  6. Choose the order statuses that start the work (see Configuration). Set Sync orders from to the first day of the period you want in Xero.
  7. Place a test order, move it to the invoice status and watch Orders > Xero sync and Jobs.
  8. Add the cron job from the settings page (Cron section), every minute is fine. Overlapping runs are prevented.
  9. For live books: create or open the app for your real organisation, switch Mode to Live, enter its credentials, Connect to Xero again and repeat the mapping for that organisation.

The connection renews itself: Xero refresh tokens last 60 days from their last use, and the add-on uses and renews it whenever it works and once a week when the store is quiet. If the store is switched off for more than 60 days, press Connect to Xero again.

By default the marketplace owner connects one Xero organisation for all vendors (Marketplace owner mode on): the owner’s books get every vendor order. Per-vendor books are not part of 1.0. Switching the mode off lets each vendor connect their own organisation in the vendor panel; use that only if you accept the limits described in Usage.

  1. Upload the new package the same way. Your settings, credentials and data are kept.
  2. The add-on adds missing tables and settings by itself on the first request after the update.

See CHANGELOG for what changed in each version.

Open Add-ons > Manage add-ons, click the add-on’s gear button and choose Uninstall. This removes the add-on’s settings, language variables and database tables, including the stored credentials and tokens. Documents already in Xero stay there. You can also remove the app’s access in Xero under Settings > Connected apps.