Xero

MonetizeNow has a pre-built integration with Xero that our customers can leverage to sync data relevant for accounting to Xero. This document describes how to turn on/manage the Xero integration and also describes it capabilities.


Overview

This section provides information on how MonetizeNow connects with Xero, including information about how different entities are connected between MonetizeNow and Xero

Integration Flow

The following diagram represents how entities in MonetizeNow and Xero are related. Currently we only have uni-directional sync from MonetizeNow to Xero

Overview of Data Synchronization

Given below are the objects that are natively synchronized from MonetizeNow to Xero:

  • MonetizeNow -> Xero
    • Account -> Contact
      • Accounts from MonetizeNow are created in Xero as Contact when an invoice gets created in MonetizeNow
      • Account updates from MonetizeNow are synced if there is an associated Xero Contact
    • Invoice -> Invoice
      • Invoices from MonetizeNow are created in Xero as Invoice when an invoice gets created in MonetizeNow
    • Invoice Item -> Item
      • Invoice Item from MonetizeNow gets synced in Xero as Item when an invoice gets created in MonetizeNow
    • Payment -> Payment
      • Payments from MonetizeNow gets synced in Xero as Payment when an invoice gets paid or the applications of a payment is changed.
    • CreditNote -> CreditNote
      • CreditNotes from MonetizeNow gets synced in Xero as Credit Note when a Credit Note is created or the applications is changed.

Connect MonetizeNow Tenant to Xero Company

For data to be synchronized from MonetizeNow to Xero, you need to connect your MonetizeNow tenant to your Xero company

  1. Open the MonetizeNow web app.
  2. Click the gear on the sidebar and choose Accounting under the Integrations section
  3. Click the Connect to Xero button (see the screenshot - Setting up Connection)
  4. This will redirect to Xero login page and select the company you would like to sync accounting data to
  5. Login to your Xero (see the screenshot - Xero Login Page)
  6. On success, you should see an active connection with CompanyId listed on the UI (see the screenshot - Successful Setup)

Connect to Xero Button

Successful Connection

Chart of Accounts Mapping in Xero

MonetizeNow offers flexibility in how your invoices and payments are mapped to Xero accounts. Below is an overview of the default mappings and how you can customize them to fit your accounting workflows.

Invoice Line Items Mapping

By default, all invoice line items from MonetizeNow are mapped to the 400 Sales account in Xero

Customizing Invoice Account Mapping:

  • You can change where invoice line items are booked in Xero by updating the Finance ID field on each product in MonetizeNow.
  • Set the Finance ID to match the Chart of Account's code in your Xero Chart of Accounts where you want the revenue to be recognized.

Note: The account code you enter in MonetizeNow must match exactly with the account's code in Xero for successful mapping.

Payments Mapping

By default, payments collected through MonetizeNow are mapped to the 090 Checking Account in Xero.

Customizing Default Chart of Accounts Mapping

If you want payments to map to a different chart of account than mentioned above we can configure this from the settings page UI.

After pressing edit you will be presented with two dropdowns like shown below

Chart of Account Selection Page

You can then select your desired default Chart of Accounts for both Payment and Product.

For product the priority order of Chart of Account Mapping is Account Defined in Product's FinanceId -> Account defined in Settings Page -> 400 Sales

Best Practices

  • Confirm the exact Account Codes in your Xero Chart of Accounts before updating the Finance ID in MonetizeNow.

Invoicing Flow

Invoice Creation flow

In MonetizeNow, invoice gets created either automatically, through a scheduled batch job or users can manually generate a pending invoice from a bill group. In either of these cases, MonetizeNow publishes a webhook event INVOICE_CREATE that triggers the invoice sync from MonetizeNow to Xero. Listed below is the sync sequence of how data flows from MonetizeNow to Xero when invoice gets created in MonetizeNow.

  • Searches Xero Customers by MonetizeNow Account Name,
    • if Xero returns no matches, the integration Creates Xero Customer from the associated MonetizeNow Account tied to an Invoice
      • Populates Contact details from an associated Billing Contact on an Invoice to Xero Customer
    • If Xero returns a match for the customer, then Xero Invoice and Xero Items are created against that account
  • Creates Xero Invoice for an unpaid MonetizeNow Invoice
  • Creates Xero Items from MonetizeNow Invoice Item linked to an Invoice.

Invoice Paid Workflow

When an invoice gets paid either through Credit Card, ACH transfer or manually, MonetizeNow publishes a webhook event INVOICE_PAID that triggers the payment sync from MonetizeNow to Xero. Listed below is the sync sequence of how data flows from MonetizeNow to Xero when invoice gets paid in MonetizeNow.

  • Check if an associated Xero invoice exists
    • If yes, create Xero Payment from MonetizeNow Payment entity
    • This updates Xero Invoice to reflect the status to PAID if fully paid
    • If no, it follows Invoice Creation flow first and then syncs Payments to Xero

Account Update Workflow

When an account get updated in MonetizeNow, Xero customer will always reflect those changes if customer exist in Xero

  • Go to Accounts in MonetizeNow
  • Update Name of an account
  • That will trigger an update to Xero Contact if one exists whenever an associated MonetizeNow Account gets updated