Connect Harlo to Xero
Create a Xero sales invoice for every Harlo invoice, and apply payments as they're recorded.
You'll need
- A Harlo admin login
- Xero
- A paid Zapier plan (Webhooks by Zapier is premium)
Before you start
In Xero, decide which revenue account freight goes to (for example 200, Sales) and, if you use item codes, create an item named FREIGHT.
Send new invoices to Xero
- Make a Harlo API key. In Harlo, open Settings, API keys, choose Create API key, name it Xero via Zapier, and copy it. You'll paste it in a moment; Harlo shows it only once.
- Start a Zap with this trigger:
App Webhooks by Zapier Trigger event Retrieve Poll URL https://harlo-api-dev.pages.dev/v1/invoices?limit=25Key dataDeduplication Key idHeaders Authorizationin the left box,Bearer hk_…(the word Bearer, a space, your key) in the right. - Xero, Find or Create Contact, searching on Customer Name, with Customer Billing Email as the email for new contacts.
- Xero, Create Sales Invoice, and map:
Contact The contact from the previous step Date / Due date Invoice Date / Due Date Invoice number Number Reference Load Customer Reference Status Draft while you test, then Awaiting payment Line items: Description Lines Description Line items: Quantity Lines Quantity Line items: Unit price Lines Unit Price Line items: Account Your freight revenue account Line items: Tax rate Your organisation's exempt or zero rate (Harlo amounts carry no tax) - Test, then turn the Zap on.
Apply payments
- Trigger:
App Webhooks by Zapier Trigger event Retrieve Poll URL https://harlo-api-dev.pages.dev/v1/payments?limit=25Key dataDeduplication Key idHeaders Authorizationin the left box,Bearer hk_…(the word Bearer, a space, your key) in the right. - Xero, Find Invoice by invoice number, with Invoice Number.
- Xero, Create Payment on that invoice: Amount, Received Date, your bank account, and Reference.
Record each payment in one place only: if your bank feed reconciles payments in Xero, skip this Zap.
If something's off
- Invoice number already exists
- Xero refuses duplicate numbers. Check the Zap isn't also running for invoices you entered by hand.
- Tax was added
- Set each line's tax rate to your exempt or zero rate, or make that the freight account's default.
- When you turn the Zap on, Zapier notes the records already there and starts only for new ones. To bring older records across, see Spreadsheets and CSV for a one-time export.
- Webhooks by Zapier is a premium app: it needs a paid Zapier plan. How often it checks depends on the plan.
- Field names in Zapier match the API. Nested fields show with spaces, like Customer Name or Load Number.