Skip to content
English
  • There are no suggestions because the search field is empty.

Xero Integration: Data Mapping and Field Reference

Understand how PSOhub maps contacts, invoices and invoice lines to Xero fields

Published: 1 June 2026

Audience

  • Admin

Objective

This article provides the full field-level reference for the PSOhub–Xero integration. Use it to understand which data is sent from PSOhub to Xero, how fields are mapped, and what limitations apply.

Overview

When an invoice is created and sent in PSOhub, three types of data are pushed to Xero:

  • Contact — the customer company and invoice contact
  • Invoice — the invoice header record
  • Invoice lines — the individual line items on the invoice

The sections below describe the field mapping for each.

⚠️ Important: Xero does not accept the double-quote character ( " ) in any field sent from          PSOhub. Avoid using this character in company names, contact names, invoice                          descriptions, or any other field that is part of the integration.

Contact Mapping

Before creating a new contact in Xero, PSOhub checks whether a contact already exists by matching on the email address of the invoice contact in PSOhub. If a match is found, the existing Xero contact is used. If no match is found, a new contact is created.

Field in Xero Field in PSOhub
Contact Name Company Name
Primary Person Invoice Contact
Email of primary person Invoice contact email
Postal Address Invoice contact address
City Invoice contact city

Invoice Mapping

When the invoice is sent to the customer, PSOhub uses the primary person's email address.

Field in Xero (Invoice) Field in PSOhub (Invoice)
(Invoiced) To Company
Reference Reference
Primary person Invoice contact email

Invoice Line Mapping

PSOhub maps each invoice line to a sales line in Xero. The revenue account used is the default account configured during the Xero integration setup. If a different revenue account has been set on a specific contract line in PSOhub, that account is used for those lines instead.

Tax calculations are performed within Xero — PSOhub does not calculate or send tax values for individual lines.

Field in Xero (Invoice sales line) Field in PSOhub (Invoice line)
Description Line ID + Name of the invoice line
Quantity 1
Account Revenue account
Amount To be invoiced (of the invoice line)

Invoice Detail Level

If an invoice in PSOhub is set to Detailed invoice level, the specification document showing all hours booked against Time & Materials contract lines is attached to the invoice in Xero as a PDF attachment.

Summary invoices do not include this attachment.

Invoice Due Date

Invoice due dates in Xero are derived from the Due Days setting in PSOhub. There are two places this can be configured:

  • Default — set under Settings > Invoice Settings > Information & Defaults > Due Days
  • Per project — set in the left panel of the individual project screen

If neither is configured, the due date will not appear correctly in Xero.

Invoice Status Synchronization

The following status changes are synchronized between PSOhub and Xero:

Event Behavior
Invoice sent from PSOhub Invoice is pushed to Xero; Xero invoice number is returned and displayed in PSOhub as a deep link
Invoice paid in Xero A signal is sent to PSOhub and the invoice status is updated to Paid
Invoice edited in Xero Changes are not synchronized back to PSOhub

⚠️ Important: Always make invoice adjustments in PSOhub before pushing to Xero.                        Changes made directly in Xero will not be reflected in PSOhub, which may cause                        discrepancies in project-level reporting. 

Activity

Any activity related to an invoice — including when it is sent or paid — is also displayed in the Activity feed of the related project in PSOhub and in the related deal in HubSpot (if connected).

Related Articles