Skip to content
Maintenance resources

Export maintenance purchase orders to Xero

Connect your Xero organization with OAuth and create reviewable draft purchase orders from PreventiveHQ purchasing.

By PreventiveHQ · Reviewed 6 September 2026

Connect your own Xero application

Register a Web app in the Xero developer portal. Copy the exact callback URI shown in PreventiveHQ Integrations into the app configuration, then save its client ID and secret. Authorize through Xero and explicitly select the connected organization. The connector requests offline access, invoice/purchase-order access and read-only contacts access.

Create and mark the maintenance purchase ordered

Choose a supplier, receiving location, currency and part quantities in Purchasing. A draft order does not change stock. Mark it ordered once the purchasing decision is made. Printable orders are available for your own supplier handoff. Partial receipts later update inventory without changing the original order quantities.

Create a Xero draft for review

Select the ordered purchase and the supplier contact ID from your Xero organization. PreventiveHQ sends a draft purchase order containing the reference, currency, description, quantities and unit costs. It does not approve the draft or send it to the supplier. Review tax treatment, account coding, delivery details and final totals in Xero.

Retry without changing the original export

The first export freezes its payload and request key. A confirmed export returns the existing Xero ID on repeat requests. If the provider response is uncertain, retry the same order and contact. Changing the target organization or contact on an existing export is rejected so records cannot drift between accounting organizations.

Understand the boundary

This is purchase-order export, not a full two-way accounting ledger. Supplier bills, payments, bank reconciliation, tax filing and stock valuation remain in your accounting process. OAuth access tokens refresh using encrypted rotating refresh tokens. Disconnect removes local credentials; you can also revoke the app in Xero.

Continue your implementation