Complete guide to the HaloPSA and Pennylane integration: installation, configuration, and best practices for automating your financial workflows.

This integration automatically synchronizes data between HaloPSA and Pennylane, including customers, products, quotes and invoices.
This guide covers all the steps required to set up the integration, run the initial synchronization and monitor it over time.
Sign in to the Halentra application using the credentials provided by your Halentra contact: https://apps.halentra.com/
Once you have accessed your tenant, start the setup wizard.
You can also go directly to the settings from the "Configuration" menu.
The wizard guides you through the various connection and configuration steps.
Allow the application to communicate with your HaloPSA instance through the API.
From your HaloPSA instance, go to:
Configuration → Integrations → HaloPSA API
Click "View Applications", then "New".
Create a new application with the following settings:
Retrieve:
- The Client ID
- The Client Secret
The following permissions are required:
In the setup wizard, enter:
Click "Verify and next".
The application automatically tests the connection to HaloPSA to validate the information provided.
If the test succeeds, move on to the next step.
Allow the application to access your Pennylane workspace.
Click "Connect with Pennylane".
You are redirected to the Pennylane authorization screen.
Once the connection is established, click "Next".
This step defines a number of settings required for synchronization.
Select the HaloPSA item group in which products coming from Pennylane will be created.
This setting allows the integration to automatically create missing products in HaloPSA when they only exist in Pennylane.
The group can be selected or searched for directly from the application.
Configure the mapping between HaloPSA quote statuses and Pennylane quote statuses.
This mapping ensures that status changes are correctly synchronized between the two platforms.
Once the mappings are configured, click "Next".
Enter a webhook name that is not already in use.
Then click "Create webhook" to automatically create the webhook with the events required for synchronization.
Once it has been created, continue with the configuration.
Match existing records in HaloPSA with those in Pennylane in order to avoid duplicates.
By default, the integration tries to match records that have exactly the same name in both systems. Any matches found are created automatically.
Go to customer mapping management.
To map two customers:
Example:
Once the mappings have been created, click "Done".
A summary of the mapped and excluded records is then displayed.
If a customer should never be synchronized, it can be excluded.
To do so:
From this screen, you can manage existing mappings and exclusions at any time.
Product mapping works exactly like customer mapping.
You can:
Once all mappings have been checked, click "Save and continue".
For each entity type, choose the synchronization direction you want. Each entity type can have its own configuration.
By default, all enabled documents are synchronized from their original creation date. This includes:
You can restrict synchronization to a specific period.
To synchronize only quotes created after May 30, 2026:
Only quotes created after that date will be synchronized.
Once the settings have been defined, click "Next".
Before starting the synchronization, review all the settings you have configured.
When everything is ready:
The integration then imports the data according to the rules defined previously. Progress is displayed in real time during processing.
When the operation is complete, a confirmation message indicates that the synchronization has finished.
Click "Next" to continue.
In some cases, rate limiting errors may occur. These errors are handled automatically by the integration. The affected operations are placed in a queue and processed later without any user intervention. No specific action is required.
Once the initial synchronization is complete, you can enable automatic synchronization of new records.
To do so:
You are then redirected to the dashboard.
The integration is now up and running.
The synchronization log lets you review the operations performed and identify any errors.
Go to the "Synchronization logs" menu.
Results can be filtered using several criteria:
These filters make it easy to quickly identify synchronization issues.
The integration can automatically create tickets in HaloPSA when an error is detected.
To enable this feature:
You can temporarily pause synchronizations at any time.
To do so:
No data will be synchronized for as long as the integration remains paused. Synchronization can be resumed later.
The integration can also be deactivated permanently. A deactivated integration is stopped completely.
After deactivation:
Make sure this is what you want before confirming the deactivation.
To get the integration, contact our sales team:
Simple, transparent pricing:
If you have any questions about your eligibility or about setting up the integration, our sales team will be happy to help.
If you run into difficulties while using the platform, or if you have questions about its features, our support team is here to help: support@halentra.com.
When requesting assistance, please describe the context of your issue and, if possible, attach screenshots so that it can be handled more quickly.
Our team will get back to you as soon as possible.
Discover the integration built by Halentra to automate your billing and accounting workflows.