# HaloPSA Integration Set-Up Guide

**Your step-by-step guide to integrating HaloPSA successfully.**

***

### How to Set up your HaloPSA Integration

Connecting HaloPSA with Alternative Payments is quick and seamless, allowing you to maintain your existing workflows while enhancing payment flexibility for your customers. Follow these steps to get started:

{% hint style="warning" %}
**Native QBO sync conflict:** If your HaloPSA instance has the native QuickBooks Online invoice sync enabled, you must disable it before connecting to Alternative Payments. Running both syncs simultaneously can cause duplicate or conflicting invoice data.
{% endhint %}

#### **1. Navigate to Configuration > Integrations > HaloPSA API.**

On your HaloPSA home screen, follow the below path:

a. Configuration

b. Integrations

c. HaloPSA API

**2. Create a new application. You can name it “Alternative”.**

Click “View Applications” and create a new application in the top right corner of the screen

<figure><img src="https://1567070316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKPl2XyqKMY0CU5Sb4EWy%2Fuploads%2Fw135nUlYUB0RVWzL24Cg%2FScreenshot%202025-01-13%20224720.png?alt=media&#x26;token=3799986e-e7df-401f-8377-52b5db6e69d0" alt=""><figcaption></figcaption></figure>

Name the Application “Alternative”

#### **3. Choose “Client ID and Secret (Services)” as the authentication method.**

<figure><img src="https://1567070316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKPl2XyqKMY0CU5Sb4EWy%2Fuploads%2FuWqlqGJuwS1fdfaKUXqX%2FScreen%20Shot%202025-06-04%20at%203.17.45%20PM.png?alt=media&#x26;token=92a74b0e-40f2-499e-b638-74db24383189" alt=""><figcaption></figcaption></figure>

**4. Generate a new Client Secret**

<figure><img src="https://1567070316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKPl2XyqKMY0CU5Sb4EWy%2Fuploads%2FbzeJf0Q6BAynnkCfd59y%2FScreen%20Shot%202025-06-04%20at%203.19.07%20PM.png?alt=media&#x26;token=c2f76864-bf50-44f0-8c77-fbabced86f63" alt=""><figcaption></figcaption></figure>

**5. Choose “Agent” as login type**

* Select “Agent” for the login type
* Choose the Agent to log in as that has Admin permissions or [create a new API agent](https://help.alternativepayments.io/integrations/psa-integration-guides/halopsa/creating-a-new-halopsa-agent)

#### 6. Configure Permissions & "Save” the Application in HaloPSA

* Toggle to the “Permissions” tab

<figure><img src="https://1567070316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKPl2XyqKMY0CU5Sb4EWy%2Fuploads%2FGEm9Nw1bYHB9rBW3b4GD%2FScreenshot%202025-01-13%20224207.png?alt=media&#x26;token=36753140-f770-4eda-8f69-99ce56c86f52" alt=""><figcaption></figcaption></figure>

* Click “Edit” in the top left corner, select the following boxes and then hit Save

1. Admin:webhooks
2. Read:customers
3. Edit:customers
4. Read:invoices
5. Edit:invoices
6. Read:contracts
7. Edit:contracts

#### **7. Fill out the Alternative Payments form**

Within your Partner dashboard, click on "Connect" within the HaloPSA module and fill out the form with the following details:

* App Domain
* Client ID
* Client Secret
* Invoices Created Since (optional, not required for secondary integration set up)
* Invoice Number Field (HaloPSA ID or Third Party Invoice Number)

<figure><img src="https://1567070316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKPl2XyqKMY0CU5Sb4EWy%2Fuploads%2FMoGcjalpfySdVHUr2hIr%2FScreenshot%202024-11-29%20at%2010.39.46%E2%80%AFAM.png?alt=media&#x26;token=1c64eac2-ea07-4cc4-a967-dd2e2a3aa42a" alt=""><figcaption></figcaption></figure>

Click “Continue” and your integration set-up is complete!

***

### **How to ensure agreement subtypes sync into Alternative Payments**

1. Within HaloPSA, navigate to Configurations and then Agreements.
2. From Agreements, scroll down and select *Agreement subtype*.
3. Create any applicable agreements and any invoices associated with this agreement subtype will be synced into Alternative Payments where you'll be able to configure a contract-based auto-pay rule.

<figure><img src="https://1567070316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKPl2XyqKMY0CU5Sb4EWy%2Fuploads%2FocR2an9H0FSxIqdowr2w%2FScreenshot%202025-01-13%20224550.png?alt=media&#x26;token=24606e40-fd3d-41dd-942c-3a32a90676ee" alt=""><figcaption></figcaption></figure>

***

### **Preferences**

For partners using HaloPSA as the primary integration, the functionality to initiate manual syncs is available. Click on the three dots and you'll see the option to "Fetch new data" "Fetch unpaid invoices."

![](https://1567070316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKPl2XyqKMY0CU5Sb4EWy%2Fuploads%2FbRkScFMiABwovIYKOFsk%2FScreenshot%202024-11-29%20at%2010.45.01%E2%80%AFAM.png?alt=media\&token=2435766e-83ee-47a2-a32b-f627afa98194)

1. **Fetch New Data:** This option allows for the sync of all invoices and customers created or updated within the last hour.
2. **Fetch Unpaid Invoices:** Partners can now initiate a manual sync for all unpaid invoices to capture any invoice updates to unpaid invoices if needed.
3. **Limitations:**
   * The Fetch New Data can be initiated once per hour.
   * The Fetch Unpaid Invoices can be executed once every 12 hours.

**Love our platform?** Rate us on [Channel Program](https://channelprogram.com/v/alternativepayments) and check out our [Referral Program page](https://www.alternativepayments.io/referral-partners/)!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.alternativepayments.io/integrations/psa-integration-guides/halopsa/halopsa-integration-set-up-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
