Xero

Xero is powerful online accounting software that has localizations for many countries. MRPeasy focuses on manufacturing resource planning, reporting, inventory management, sales, and procurement. MRPeasy together with Xero accounting creates a very powerful ERP system. We strongly recommend performing all business operations in MRPeasy, and in Xero the accounting only.

A quick summary of the integration:

  • The integration works fully automatically and synchronizes purchases, sales invoices and stock values/movements between the two systems.
  • All inventory transactions must be performed in MRPeasy, the inventory levels (the piece counts) are only tracked in MRPeasy, and inventory valuation, WIP, COGS, etc. are posted to appropriate accounts in Xero.
  • Items, customers, and vendors are posted together with Purchase Orders and Invoices. Posting happens within 5 minutes of creation, or instantly if the "Add to Xero" button is clicked.
  • Materials on Hand, Finished Goods, Payroll, Cost of Goods Sold, WIP, etc. are sent to Xero once per day, MRPeasy creates a manual journal entry in Xero.
  • Purchase Orders can be posted to Xero as Bills or as Purchase Orders. (The "Invoice ID" must be entered for a PO for it to be posted to Xero.)
  • Payments for POs are synchronized two-ways with Xero if POs are posted as Bills to Xero. 
  • Payments of Invoices are synchronized two-ways.

Jump to:

  1. How to configure the integration with Xero?
  2. How to import items, customers, and vendors from Xero?
  3. How does the integration work between MRPeasy and Xero?
  4. When are synchronizations performed?
  5. How are new items, customers, and vendors posted to Xero?
  6. How are inventory tracking and financial transactions performed?
  7. Can I use Xero Tracked Inventory?
  8. How to work with Purchase Orders (POs) and Invoices?
  9. How to reconcile direct labor, overheads, and transfer expense liabilities?
  10. Troubleshooting, synchronization logs.

Setup of the integration between MRPeasy and Xero

For setting up the MRPeasy and Xero integration:

  1. Log in to MRPeasy.
  2. Navitage to Settings -> System settings -> Integrations.
  3. Click on Connect to Xero.
  4. Choose the accounts for journals (see below).
  5. Choose how to synchronize Purchase Orders (see below).
  6. Save.
Chart of Accounts configuration in Xero

During the setup phase, you will have to define the Xero accounts to which MRPeasy would post relevant journal entries. 

The following accounts or similar should be configured in the Xero chart of accounts before making the integration:

  1. One Inventory (Current asset) account only; or two accounts, a Finished goods (Current asset) account and a Materials on hand (Current asset) account.
    Accounts for tracking the value of inventory.

    A current asset account to record stock on hand is necessary. Do NOT choose an account type of 'INVENTORY' - this is a special system account type for Xero Tracked Inventory functionality, which cannot be used.

  2. Inventory Adjustments (Expense), or similar.
    An account for posting inventory balance changes from manual adjustments of inventory levels. Also, separate accounts can be configured for write-offs and write-ins.

  3. Work in progress (Current asset), or similar.
    An account for holding the value of currently unfinished goods, open manufacturing orders.
    A cost of a product = consumed materials + performed direct labor + allocated manufacturing overheads.

  4. Direct labor (Current liability), or similar.
    An account for posting direct labor costs, which are applied to product cost (to work in progress) according to time worked on a job. This should be a current liability, wages earned by employees, and should be reconciled with payroll regularly.
    (If the allocation of direct labor is not desired, then users’ hourly labor rates must be defined as 0 in MRPeasy)

  5. Allocated manufacturing overhead (Current liability), or similar.
    An account for posting allocated manufacturing overhead costs, which are applied to product cost (to work in progress). This should be a current liability, overhead expenses pre-applied to product costs, and should be reconciled with actual expenses regularly.
    (If the allocation of manufacturing overhead is not desired, then workstations’ hourly rates, and fixed and variable costs in Routings must be defined as 0 in MRPeasy.)

  6. Purchases or Pre-payments to vendors (Current Asset), or similar.
    An account for holding costs of items or services not yet received, but invoice from the vendor has been received or paid.

  7. Bank account (Bank account, Current Asset), or similar.
    An account to where payments, if entered in MRPeasy for Invoices/Bills/POs, are posted to.

  8. Sales (Revenue), or similar.
    An account where sales revenue is posted.

  9. Cost of goods sold (Expense), or similar.
    An account where the cost of goods sold is posted, once the items are shipped to the customer.

  10. Transfer orders liability (Current liability), or similar.
    If you have several sites between which you move items, then transfer fees, which are applied to inventory cost are posted on this account. This should be a liability, transfer expenses pre-applied to inventory, and should be reconciled regularly with actual expenses.

Accounts need to be chosen for posting the following entries to Xero:

Entry Description Example Xero account
Invoices Revenue account which is used for items when posting invoices from MRPeasy to Xero. Sales (Revenue)
Purchase Orders / Bills Assets account which is used for items when posting Purchase Orders / Purchase Invoices from MRPeasy to Xero. Purchases (Current asset)
Payments of Invoices and Bills The bank account where payment is posted, if payment for Invoice or Bill is entered in MRPeasy. Bank (Bank account)
Purchase receipt journals For journal entry with the net sum of changes in purchases received from the last synchronization. Purchases (Current asset)
Materials on hand stock journals For journal entry with the net sum of changes in raw materials inventory from the last synchronization. Materials on Hand (Current asset)
Work in progress journals For journal entry with the net sum of changes in work in progress from the last synchronization. Work in Progress (Current asset)
Manufacturing overhead journals For journal entry with the net sum of changes in applied manufacturing overhead costs from the last synchronization. Manufacturing Overheads (Current liability)
labor journals For journal entry with the net sum of changes in performed direct labor costs from the last synchronization. Payroll/Direct labor (Current liability)
Finished goods stock journals For journal entry with the net sum of changes in finished goods inventory from the last synchronization. Finished Goods (Current asset)
Cost of goods sold journals For journal entry with the net sum of changes in the cost of goods shipped from the last synchronization. Cost of Goods Sold (Expense)
Manual stock adjustment journals For journal entry with the net sum of changes from manual stock adjustments from the last synchronization. Inventory Shrinkage (Expense)
Additional costs journals due to transport between production sites For journal entry with the net sum of changes in the additional costs applied to transferred goods from the last synchronization. Transfer orders liability (Current liability)

When setting up accounts, always consult your local accounting specialists, to make sure you follow local laws and regulations.

Configuring Purchase Orders synchronization

Purchase Orders from MRPeasy can be posted to Xero as:

  1. Purchase Orders in Xero, or
  2. Bills in Xero. Payments for purchases are synchronized only if purchase orders are posted to Xero as bills.

Important! If Several invoices per PO is enabled, then POs are not posted to Xero and Purchase Invoices are posted as Bills.

Configuring user access rights in Xero

It is recommended to enable Advisor access for the account manager because otherwise, it is not possible to see manual journal entries that MRPeasy posts to Xero.

Importing stock items, customers, and vendors from Xero

It is possible to import stock items, customers, and vendors from Xero to MRPeasy at MRPeasy -> Settings -> System settings -> Integrations -> Xero. This will import new items. If some items were imported before, these will be skipped and not imported twice.

 

How the integration works between MRPeasy and Xero

# Event in MRPeasy Reaction Xero document Xero Debit account Xero Credit account
Purchasing
1 A purchase order is created in MRPeasy and confirmed (an 'Invoice ID' is saved). PO is posted from MRPeasy to Xero* PO or Bill 'Purchases (Current asset)' Xero controlled (eg, Accounts Payable (Current liability))
2 PO is paid. Payments are synced between MRPeasy and Xero two-ways** PO or Bill Xero controlled (eg, Accounts Payable (Current liability)) 'Bank (Current asset)'
3 PO is received in MRPeasy. Accounts are updated in Xero once per day*** Manual journal 'Materials on Hand (Current asset)' 'Purchases (Current asset)'
Manufacturing
4.1 Parts are consumed in MRPeasy. Material costs are posted.
Accounts are updated in Xero once per day***
Manual journal 'Work in Progress (Current asset)' 'Materials on Hand (Current asset)'
4.2 Manufacturing order is started in MRPeasy. Planned manufacturing overheads and labor costs are posted.
Accounts are updated in Xero once per day***
Manual journal 'Work in Progress (Current asset)' 'Manufacturing Overheads (Current liability)'
Manual journal 'Work in Progress (Current asset)' 'Payroll (Current liability)'
5 Manufacturing is finished in MRPeasy. The differences between real costs and planned costs are posted. The products move from WIP to finished goods account.
Accounts are updated in Xero once per day***
Manual journal 'Finished Goods (Current asset)' 'Work in Progress (Current asset)'
Sales
6 An invoice is created in MRPeasy and confirmed (status is changed from 'Dummy' to 'Unpaid'). Invoice is posted from MRPeasy to Xero* Invoice Xero controlled (eg, Accounts Receivable (Current asset)) 'Sales (Revenue)'
7 Invoice is paid. Payments are synced between MRPeasy and Xero two-ways** Invoice 'Bank (Current asset)' Xero controlled (eg, Accounts Receivable (Current asset))
8 Goods are shipped in MRPeasy. Accounts are updated in Xero once per day*** Manual journal 'Cost of Goods Sold (Expense)' 'Finished Goods (Current asset)'
Other inventory transactions
9 A manual stock lot is created in MRPeasy during the stock-taking. Accounts are updated in Xero once per day*** Manual journal 'Materials on Hand (Current asset)' / 'Finished Goods (Current asset)' 'Inventory Shrinkage (Expense)'
10 A manual write-off is created in MRPeasy during the stock-taking. Accounts are updated in Xero once per day*** Manual journal 'Inventory Shrinkage (Expense)' 'Materials on Hand (Current asset)' / 'Finished Goods (Current asset)'
11 A transfer order is made to move items between production sites, transport fee applied. Accounts are updated in Xero once per day*** Manual journal 'Materials on Hand (Current asset)' / 'Finished Goods (Current asset)' 'Transfer orders liability (Current liability)'

Synchronization schedule:

  • *) Invoices and purchase orders are sent to Xero once per 5 minutes. Alternatively, it is possible to send a particular document to Xero immediately by clicking the button Add to Xero at the document's details page.
  • **) Payments are synchronized along with invoices and purchase orders and during nightly synchronizations.
    NB! Payments for purchases are synchronized only if purchase orders are posted to Xero as bills.
  • ***) Actions, that are made once per day, are performed during the night (usually between 1 A.M. and 3 A.M.). They can be run manually by clicking button Synchronize at Settings -> System settings -> Integration -> Xero. Synchronization can be performed no more often than once per 5 minutes.

Inventory tracking and financial transactions step-by-step

In MRPeasy, together with all automatic accounting transactions, the inventory tracking and financial transactions work as follows:

  1. All items in inventory are tracked using stock lot tracking within MRPeasy. I.e. each batch of physical items is accounted for separately.

    A stock lot is an internal business object in the MRPeasy software, used for providing the FIFO method of using goods, and also for specific functionality, like expiry date, or batch traceability. Without such specifics, you do not need to operate with stock lots in your daily business (MRPeasy does it in the background).

  2. When a purchase order is ordered and an invoice is entered, but items are not yet received, then the cost of items is posted on a purchases account:
    D Purchases (Current assets)
    C Accounts payable (Current liability)
    (This is the result of posting the Purchase Order to Xero.)

  3. When purchased items are received, then items are transferred from purchases to materials on hand:
    D Materials on hand (Current assets)
    C Purchases (Current assets)

  4. Additional expenses incurred with purchases (e.g. transport, customs) can be accounted into the cost of the procured items, by entering them as “Additional fees” on the Purchase Order in MRPeasy.
    D Purchases (Current assets)
    C Accounts payable (Current liability)
    (This is the result of posting the Purchase Order to Xero.)

    Once the PO is received:
    D Materials on hand (Current assets)
    C Purchases (Current assets)

  5. When a manufacturing order is planned, then according to the bill of materials, the materials are reserved for this job.

  6. When a manufacturing order is started, the estimated labor and manufacturing overhead costs are posted to work in progress (WIP):
    D Work in progress (Current assets)
    C Direct labor (Current liability)
    D Work in progress (Current assets)
    C Applied manufacturing overhead (Current liability)

  7. When materials are reported consumed in production, they are moved to WIP:
    D Work in progress (Current assets)
    C Materials on hand (Current assets)

  8. Once a manufacturing order is finished
    first, WIP is adjusted for the difference between estimated and actual labor and overhead costs:
    D Work in progress (Current assets)
    C Direct labor (Current liability)
    D Work in progress (Current assets)
    C Applied manufacturing overhead
     (Current liability)

    And second, WIP is cleared and posted to finished goods:
    D Finished Goods (Current assets)
    C WIP (Current assets)

  9. When the customer is invoiced, the invoice is posted to accounts receivable:
    D Accounts receivable (Current assets)
    C Sales (Revenue)
    (This is the result of posting the Invoice to Xero.)

  10. When products are shipped to the customer, then the cost of the products is posted to cost of goods sold account:
    D Cost of goods sold (Expenses)
    Finished Goods (Current assets)

  11. When a payment has been…
    …made:
    C Bank (Current assets)
    D Accounts payable (Current liability)

    …received:
    D Bank (Current assets)
    C Accounts receivable (Current assets)

    Payments are synchronized in two ways, can be entered to Invoices and Bills either in MRPeasy or Xero.
    Payments for POs are synced only if POs are posted as Bills to Xero.

  12. When additional fees are posted to transfer orders, these increase the cost of the transferred items:
    D Materials on hand / Finished goods (Current assets)
    C Transfer orders liability (Current liability)

Synchronization of changes on the accounts is posted once per day as a manual journal to Xero, which posts total changes. As an exception to this, Invoices and Purchase Orders are synchronized within 5 minutes.

Working with Purchase Orders and Invoices

Synchronizing Purchase Orders or Bills with Xero

During integration setup you must choose if Purchase Orders in MRPeasy are posted to Xero as Bills or Purchase orders.

Once the Invoice ID has been entered on Purchase Orders or Purchase Invoices in MRPeasy, then it will be synchronized to Xero.

After a Bill / Purchase order has been approved in Xero, it is not possible to update it via the integration from MRPeasy any longer.

Posting additional fees on an MRPeasy Purchase Order to Xero

If the Additional fees field is used on a Purchase Order in MRPeasy, then this is posted as a line item to Xero.

This must be posted to the integration default account (Purchases or Inventory). The additional fees are expenses which are added to inventory valuation. This will be expensed when finished goods are sold and included in COGS.

If additional fees are expensed immediately, and not part of inventory valuation, then for these, non-inventory items in MRPeasy can be used. In the Xero Bill, if necessary, the desired expense account can be selected.

Coding items to different Inventory accounts

For inventory items, it’s possible to use a single Inventory account, or separately one Materials on hand account and one Finished goods account.

When an MRPeasy Purchase Order is synchronized to Xero, then:

  • On the Xero Bill, the asset account must not be changed. The integration default account must be used.
  • On the Xero PO, the asset account must not be changed. The integration default account must be used.

Otherwise, e.g., when materials are consumed in manufacturing, or items directly sold, MRPeasy will post a manual journal, which will credit the original asset account, but not the account that was changed on the Bill/PO.

Synchronizing Invoices to Xero

Once invoice type is marked Invoice or Credit invoice, and status is not Dummy, they are synced to Xero as drafts. They must be approved in Xero.

The invoices must have a due date saved in MRPeasy.

After an Invoice has been approved in Xero, it is not possible to update it via the integration from MRPeasy any longer.

Coding items to different Sales accounts

Different sales accounts for items can be assigned in Xero, after the invoice is posted from MRPeasy to Xero.

Posting new items, customers, and vendors to Xero

  • When posting invoices and purchase orders to Xero, MRPeasy will create stock items, customers, and vendors in Xero, if they do not exist.
  • Stock items are matched by Item Code in Xero and Part Number in MRPeasy.
  • If a part number is longer than 30 characters, then the item is not transferred to Xero as a product. The part number is combined with the description into the description field.

Xero Tracked Inventory

MRPeasy does not integrate with Xero Tracked Inventory because:

  1. At present Xero does not support the importing of inventory values for items via API.
  2. Xero advises not to use its' inventory tracking for manufacturing companies (https://central.xero.com/s/article/Track-your-inventory), or when using a 3rd party inventory application (https://central.xero.com/s/article/Options-for-managing-inventory-in-Xero)

Reconciling accounts

How to reconcile a Direct labor account?

Direct labor cost is part of the cost of goods sold (Expense), and it is pre-applied to products before a pay run is made. This allows to estimate the real cost of products, but this also means that the pre-applied portion of labor costs must be reconciled with actual labor costs.

Generic example, periodic reconciliation of posted direct labor:

  1. A pay run is made.
    For example, resulting account transactions might be the following:
    D Wages and Salaries (Expense)
    C Payroll (Current liability)
    D Payroll (Current liability)
    C Bank (Current assets)

  2. A manual journal entry is made to zero out direct labor liability for that period:
    D Direct labor account (Current liability)
    C Wages expense (Expense) / or COGS / or similar

Always consult your local accounting specialists, to make sure you follow local laws and regulations.

How to reconcile the Applied Manufacturing Overheads account?

Applied manufacturing overhead cost is part of the cost of goods sold (Expense), and it is pre-applied to products before bills have actually been received. This allows to estimate the real cost of products, but this also means that the pre-applied portion of overheads must be reconciled with actual expenses.

Generic example, periodic reconciliation of posted applied manufacturing overhead:

  1. Bills are entered on expense accounts as normal.
    For example, resulting account transactions might be the following:
    D Expense account(s), e.g. COGS
    C Accounts payable (Current liability)
    D Accounts payable (Current liability)
    C Bank (Current assets)

  2. At the end of the accounting period, a manual journal entry is made to zero the applied manufacturing overhead account for that period:
    D Applied manufacturing overhead account (Current liability)
    C Expenses account(s) / or COGS / or similar.

Always consult your local accounting specialists, to make sure you follow local laws and regulations.

How to reconcile the Transfer Orders Liability account?

Transfer orders cost is part of the cost of goods sold (Expense), and it is pre-applied to products before bills have actually been received. This allows to estimate the real cost of products, but this also means that the pre-applied portion of overheads must be reconciled with actual expenses.

Always consult your local accounting specialists, to make sure you follow local laws and regulations.

Generic example, periodic reconciliation of posted transfer orders liability:

  1. Transportation expenses are entered as normal.
    For example, resulting account transactions might be the following:
    D Transportation (Expenses)
    C Accounts payable (Current liability)
    D Accounts payable (Current liability)
    C Bank (Current assets)

  2. At the end of the accounting period, a manual journal entry is made to zero the Transfer Orders Liability account for that period:
    D Transfer Orders Liability (Current liability)
    C Expenses account(s) / or COGS / or similar.

Always consult your local accounting specialists, to make sure you follow local laws and regulations.

Troubleshooting

To see what manual journal entries have been posted to Xero, please go to Settings -> System settings -> Integrations -> Synchronization logs.

Posting Invoices to Xero:

  • An invoice is not posted to Xero: 
    - MRPeasy only posts invoices in statuses 'Unpaid', 'Paid partially' or 'Paid'; and types 'Invoice' or 'Credit invoice'. Invoices in other statuses or types are not posted. Please check the status and type of the invoice.
    - Invoices are posted once per 5 minutes. To synchronize immediately, click Add to Xero in the Invoice details page.
  • An invoice cannot be updated:
    - If an invoice is updated in MRPeasy after it is approved or paid in Xero, we cannot update it automatically, because Xero does not allow editing these invoices via API. This can only be done in Xero.

Posting Purchase Orders to Xero:

  • A Purchase Order is not posted to Xero: 
    - The "Invoice ID" must be saved in the Purchase Order details in MRPeasy, before it will be posted. Please check that this is done and the PO is saved. 
    - Purchase Orders are posted once per 5 minutes. To synchronize immediately, click Add to Xero in the Purchase Order details page.

An error message is displayed:

  • "Account code or ID must be specified" or "The TaxType field is mandatory"
    - Please go to Xero -> Products and services, and check that every product in the document has both purchases and sales accounts set.

Old version 

Above mentioned functionality is available in the new version of the integration, from August 24-th, 2017. If you have used the integration before that day, this functionality is not available. To enable it, go to MRPeasy -> Settings -> System settings -> Integration -> Xero, disconnect from Xero, and connect again.

Support

The integration between Xero and MRPeasy is maintained by MRPeasy. If you have technical questions about the integration, please turn to MRPeasy support. However, our Support team is unable to consult you regarding the setup of your accounting in Xero.