
This add-on was built by Maropost
Add-ons and Integrations built in-house by Maropost Commerce are documented and supported by our customer service team. If you're having issues with this integration, let us know!
In this Article
Integration Overview
Xero is a cloud accounting application for SMEs. Over 120,000 Australian businesses use Xero to power their businesses.
Maropost Commerce integrates with Xero for seamless account management. Maropost Commerce's Xero integration eliminates the need for duplicate data entry and can even extend the functionality of your Xero solution. When used in conjunction with Maropost Commerce Inventory or Unleashed integration, you can create a powerful ecosystem of e-commerce, inventory and accounting.
What Data is Integrated?
Maropost Commerce to Xero:
- Invoices: Sales orders in Maropost Commerce that are approved and completed (includes cancelled orders).
- Credit Notes (RMAs)
- Payments
- Customers
- Products
- Purchase Orders
Xero to Maropost Commerce:
- Accounts
- Tax Rates
- Customers
- Products
Please Note: Product SKUs have a maximum Length of 25, cannot contain spaces or special characters. We recommend modifying your SKUs in Xero to ensure they meet this requirement prior to integration.
Handle Large Transaction Volumes With Ease
Maropost Commerce does not limit the number of invoices you enter per month, with many Maropost Commerce customers processing thousands of invoices every single day. Xero does not recommend that customers enter more than 1,000 invoices into its application per month.
Invoices will export automatically to Xero at 6am and 6pm by default. Depending on what status you’ve set up, invoices will only be exported when they are either approved or dispatched. Orders that have been invoiced after that integration start date will be exported.
For larger and growing businesses this could become restrictive. To get around this issue Maropost Commerce has developed an innovative and scalable solution that negates the need to have more than a few transactions written to Xero each day (no matter how many invoices you enter into Maropost Commerce). We call it “batching”.
If you are a business that issues more than 100 invoices per day, you can turn on batching. As the name implies batching will automatically batch invoices, payments and credit notes by date or time and enter them into Xero as a single or just a few transactions.
Invoices, credit notes, payments and even customer statements are all managed in Maropost Commerce and therefore, there is no need to have this data duplicated into your accounting system.
Our batch integration method still allows you to split income by account (so that you can record income by product category for example) and it still allows you to properly reconcile payment receipts by payment method and account.
Streamline your operations today and turn on Maropost Commerce’s batching feature for Xero!
Set up your Xero Integration
-
In your Maropost Commerce control panel click the Addons menu.
-
In the Accounting menu, install Xero.

-
Once installed you will be taken to the Add New Integration page to set up the General Settings:
Field Name | Description | Example |
---|
Integration Start Date | This is the date that Maropost Commerce will start sending data to Xero. DD/MM/YYYY format. | 22/09/2020 |
Batch invoices together for export to Xero | To stay under Xero’s transaction limits you can batch invoices together rather than send them individually. If you expect to send more than 30 invoices a day you should batch them. | Yes |
Batch invoice lines by account code for export to Xero | If you’re not using the above batching setting, you can instead batch orderlines by the account code. | No |
Batch credit note lines by account code for export to Xero | If you’re not using the above batching settings you can instead batch credit notes by their account code when exported to Xero. | No |
Batch payments together for export to Xero | If you’re not using the above batching methods, you can instead batch exports to Xero by payments. | No |
Export invoices to this Xero ContactID | Set a specific contact that all invoices will be associated with, or leave blank (recommended) to have them match to the correct customer. | <blank> |
Automatically export invoices when | Select when Maropost Commerce sends invoices to Xero, either when the sales order is approved, or Completed (dispatched). Note that if you select Cancelled (Approved), any orders that are Cancelled (Approved) will also export. | Approved |
Export transaction date for invoices | Set the transaction date to the date Invoiced, or date Completed (dispatched). The previous setting must be set to Completed (dispatched) for this setting to appear. | Completed (dispatched) |
Track cost of goods sold | If you use the Maropost Commerce Inventory add-on, you can update COGs in Xero. | Yes |
Batch COGS journals together for export to Xero | Select if and how COGs journals should be batched. Choose from No, by Invoice Date, or by Date Completed (dispatched). | No |
Automatically export purchase order when | Select when purchase orders will be sent to Xero, when they’re fully received, sent or both. | Fully received |
Convert foreign currency purchase orders to base currency | Set to Yes so that purchase orders are sent to Xero in your site’s default currency. Otherwise multi-currency must be configured in Xero. | Yes |
Export purchase orders to Xero as | Set the status of exported purchase orders in Xero, draft, awaiting approval or awaiting payment. | Awaiting Payment |
Please Note: If you plan to process more than 30 invoices per day through Maropost Commerce you must select to batch invoices. If you do not, you will quickly exceed Xero’s transaction limits.
When complete click the Continue button.

-
Click the Connect to Xero button.

-
Click the Click Here To Generate Your Xero Token button.

-
Login to Xero if you're not already logged in.

-
Click the Allow Access button. If you have more than one organisation in your Xero account, select the organisation first.
Tip: If you're reconnecting the Xero account you won't need to select and organisation to connect to.

-
You will be taken back to Maropost Commerce and your Xero information will be downloaded. Allow several minutes for this to complete.
Please Note: If you're reconnecting to Xero you'll be prompted to select an organisation in Maropost Commerce first.

-
Once this is done click the Click Here To Complete Configuration Of Xero button.

-
Map Your Xero Accounts to the applicable Maropost Commerce accounts. If you need to create or modify an account, do so in Xero and then click Refresh Chart Of Accounts in Maropost Commerce.

You can map accounts on a product and payment method level. To map accounts for each payment method, go to Settings & Tools > Payment methods. To map accounts per product open each product and scroll to the Accounting section.
Tip: Mapping your accounts, customers and items ensures that orders exported to Xero are marked as paid.
When complete click Save to finalise your Xero integration.
Activate your Xero Integration
To activate (go live) your new Xero integration change the status of the integration from “inactive” to “active”.
Running your Xero Integrated Store
Now that you have turned on your Xero integration, Maropost Commerce will automatically start to export and import data between the two systems based on the settings you have defined.
Integration Tasks
An integration task is an import or export process that pushes data to or pulls data from Xero.
To see a full list of integration tasks in Maropost Commerce go to: Xero > Tasks.
The tasks required for your integration will automatically run on the schedule set. You can edit a tasks schedule by clicking the tasks ID number. We do not recommend editing the default schedules that have been setup for you.
Manually Run Integration Tasks
You can manually run an integration task at any time by clicking the “Run Task” button on the right side of the task. This will run the chosen task within a minute. Click “OK” when the popup appears to confirm your request.
Handling Overpayments
Xero does not allow you to overpay an invoice in the same way that Maropost Commerce does. Instead when an order is overpaid it creates an over-payment which appears as a credit in the “Credits Pending Allocation” list, under the Xero tab.
Once an overpayment is used up in Maropost Commerce, you must manually assign the over-payment as a payment against its related sale in Xero.
Important: Your bookkeeper or accountant should periodically access this log and manually apply any used credits to their related sales in Xero.
At the end of any accounting period, this log should be cleared. This does not need to be done on a daily basis but you should try to keep this log under control.
Advanced Configuration
Advanced configuration settings can be accessed by selecting the Xero in the menu bar, then Setup & tools and clicking either the Integration ID or Name. You'll see the systems default settings under General Settings, which we recommend sticking with. If you require Advanced/Custom Configuration for your Xero setup, please contact our integration's support team for further advice.
Common API Error Messages
Xero errors and solutions can be found in our help article here.
Set Multiple Maropost Commerce Accounts to Integrate with a Single Xero Account
There are two ways you can have multiple Maropost Commerce accounts pushing data into the one Xero account.
Manually Update Xero Tokens Daily
For this exercise, you require access to Xero’s advanced configuration. Please contact
Maropost Commerce Support to enable this on your behalf.
One option is to manually refresh the Xero token on daily basis for each website to sync the data between the system. To do this from the Maropost Commerce dashboard, navigate to Xero > Setup & Tools and click the Connect button.

You will be required to set unique accounting prefixes to prevent clashes (eg. generating the same invoice number for both websites) when it’s exported to Xero. This involves adding prefixes to invoice, credit note and payment numbers exported to Xero by each Maropost Commerce site. This ensures each sites transactions are always unique.
You are only required to make the following changes on one website.
-
In your Maropost Commerce control panel navigate to Xero > Setup & tools.
-
Under Integration Options, click Create My Own Custom Configuration (will only appear once enabled by Maropost Commerce staff)
-
Under the Advanced Configuration section, enter a unique prefix (two alpha characters will be fine) into the following fields:
- Invoice number prefix
- Credit note number prefix
- Payment transaction ID prefix
- Overpayment transaction ID prefix

Use Datafeeds to Process Orders on one Account
Alternatively, you can set up a datafeed which includes your orders, payments, customers and products to all be processed on one website.
On your secondary site, you will need to change your invoice prefix (default is ‘N’ eg. N11177) so that invoices don’t clash when it’s imported to your primary website. You can change this in your Sales Order Settings.

Additionally you should edit the field “export invoices to this contactID (eg. the name of your secondary store) to be a contact that you have setup specifically for the Maropost Commerce website you are exporting from.
Integration Logs
Every single invoice, customer, payment or credit note that is pushed to Xero from Maropost Commerce is logged in the accounting integration logs. These logs provide in-depth reporting into the success or failure of each transaction as well as an overview of what has not yet been exported. From these logs you can also re-export any transaction at the click of a button.

Customer Fields
The following mappings occur between Maropost Commerce and Xero for customers:
Maropost Commerce | Xero |
---|
Company Name OR First Name + Last Name | Contact Name |
First Name + Last Name | Contact Person |
Email Address | Email Address |
Username | Contact ID/Number |
Maropost Commerce will first look for a contact in Xero with a Contact ID that matches the customer’s username. If a contact cannot be found this way, Maropost Commerce will then look for a match by Company Name and then email address. If a match is found, the contact ID for that contact in Xero is then updated with the customer’s username.
Important: If you want to merge customers, the customer username in Maropost Commerce is matched to the Contact ID in Xero. Ensure that the customers are merged in the same direction on both platforms. For example, if customer x is merged into customer y in Maropost Commerce, then contact x must be merged into contact y in Xero.
If you buy and sell from the same company, ensure that the supplier ID and customer username match in Maropost Commerce. This ensures that purchase orders and sales made to this company are exported to the same card in Xero. Alternatively, if you want to maintain two different customer cards then ensure the supplier ID and customer username are different.
Related Articles