OneBill: HaloPSA Integration
Table of Contents
Scope
Intended Audience: White Label Partners
This guide outlines how OneBill connects to HaloPSA and keeps subscriber, lead, quote, invoice, and payment data in sync between the two platforms.
Requirements
- Access to OneBill
Overview
HaloPSA is a cloud-based professional services automation (PSA) platform for managing service delivery, billing, projects, and customer relationships. OneBill's integration with HaloPSA keeps the two platforms in sync automatically, so teams don't have to re-enter the same subscriber, lead, quote, invoice, and payment data in both systems.
Once connected, OneBill pushes updates to HaloPSA in real time as records are created, reducing manual data entry and keeping service and billing information consistent across both platforms.
Know what Triggers a Sync
OneBill syncs data to HaloPSA automatically whenever one of these events happens:
- A Subscriber is created in OneBill
- A Lead is created in OneBill
- A Quote is created in OneBill
- An Invoice is generated in OneBill
- A Payment is recorded in OneBill
Each event pushes its own record type to HaloPSA, described step by step below.
Get your HaloPSA API Credentials
HaloPSA credentials are required before OneBill can connect to HaloPSA. Generate them from inside HaloPSA:
- Log in to your HaloPSA account.
- Go to Configuration > Integrations > HaloPSA API.
- Open the Applications list.
- If no application exists yet, click New, give it a name, and set the Authentication Method to Client ID and Client Secret.
- If an application already exists, select it and confirm the authentication method is set to Client ID and Client Secret.
- Copy the Client ID and Client Secret — you'll enter these in OneBill to connect the two platforms.
Subscribers Sync as HaloPSA Customers
When a Subscriber is created in OneBill, a Customer (Account) is created in HaloPSA, along with its associated Contacts and Addresses.
Sync Behavior
- The Customer is created as an Account in HaloPSA
- Contacts are created as Users in HaloPSA
- Addresses are created as Sites in HaloPSA
- OneBill Documents sync as HaloPSA Documents
- The Primary Contact is set as the main contact in HaloPSA
- The Default Billing Address is set as the main site in HaloPSA
Field Mapping
| OneBill Field | HaloPSA Field |
| Account Name | Customer Name |
| Halo Site Name | Site Name |
| Address 1 | Site Address |
| Address 2 | Site Address |
| Zip/Postal Code | Site Address |
| Country | Country Code |
| State | Region Code |
| First Name | First Name |
| Last Name | Surname |
| Email Address | Email Address |
| Username | Username |
| Contact Phone | Work Mobile Number |
| Default Primary Contact Phone | Site Telephone Number |
Leads Sync as HaloPSA Leads
When a Lead or Opportunity is created in OneBill, a corresponding Lead is created in HaloPSA with its associated contact information.
Field Mapping
| OneBill Field | HaloPSA Field |
| Company Name | Company Name |
| First Name + Last Name | Contact Name |
| Email Address | Email Address |
| Company Name | Contact Title |
| Type | Lead |
| Contact Phone (Default Primary Contact) | Phone Number |
Quotes Sync as HaloPSA Quotes
When a Quote is created in OneBill, a corresponding quote is created in HaloPSA using the generic product.
Field Mapping
| OneBill Field | HaloPSA Field |
| Quote Number | Title |
| Quantity | Quantity |
| Unit Price | Price |
| Net Amount | Net Total |
| Tax Amount | Tax |
| Discount Amount | Discount |
Invoices sync as HaloPSA Invoices
When an Invoice is created in OneBill, a corresponding invoice is created in HaloPSA using the generic product.
Field Mapping
| OneBill Field | HaloPSA Field |
| Invoice Number | Invoice Number |
| Price Plan Name | Description |
| Quantity | Quantity |
| Unit Price | Price |
| Discount Percentage | Discount (%) |
| Tax Amount | Tax |
Payments Sync as HaloPSA Payment Updates
When a Payment is recorded in OneBill, the corresponding payment information is updated in HaloPSA.
Field Mapping
| OneBill Field | HaloPSA Field |
| Payment Amount | Amount Paid |
Confirm the Generic Product is Taxable
The generic product used for synced quotes and invoices must be set to Taxable = Yes. This ensures tax is correctly calculated and synced on every quote and invoice sent to HaloPSA.