New: the Halo × Pennylane integration by Halentra is live. Take a look
Halentra
Home/Guides/HaloPSA × Pennylane Integration by Halentra
12 min read

HaloPSA × Pennylane Integration by Halentra

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

HaloPSA × Pennylane

Overview

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/

Starting the setup wizard

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.

Connecting to HaloPSA

Purpose

Allow the application to communicate with your HaloPSA instance through the API.

Step 1: Create an API application in HaloPSA

From your HaloPSA instance, go to:

Configuration → Integrations → HaloPSA API

Click "View Applications", then "New".

Create a new application with the following settings:

  • Name: Pennylane (or any name of your choice)
  • Authentication method: Client ID and Secret (Services)

Retrieve:

- The Client ID

- The Client Secret

The following permissions are required:

  • admin:webhooks
  • edit:tickets
  • read:customers
  • edit:customers
  • read:items
  • edit:items
  • read:sales
  • edit:sales
  • read:quotes
  • edit:quotes
  • read:invoices
  • edit:invoices

Step 2: Enter the details in the Halentra application

In the setup wizard, enter:

  • The URL of your HaloPSA instance
  • The Client ID
  • The Client Secret

Validation

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.

Connecting to Pennylane

Purpose

Allow the application to access your Pennylane workspace.

Procedure

Click "Connect with Pennylane".

You are redirected to the Pennylane authorization screen.

  1. Select the company to connect.
  2. Click "Authorize".
  3. Wait for the connection to be confirmed.

Once the connection is established, click "Next".

HaloPSA settings

This step defines a number of settings required for synchronization.

Item group

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.

Quote status mapping

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".

Creating the HaloPSA webhook

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.

Customer and product mapping

Purpose

Match existing records in HaloPSA with those in Pennylane in order to avoid duplicates.

Automatic mapping

By default, the integration tries to match records that have exactly the same name in both systems. Any matches found are created automatically.

Customer mapping and exclusion

Customer mapping

Go to customer mapping management.

To map two customers:

  • Click "Manage".
  • Select the customer to map.
  • Click "Map".
  • Choose the matching record.
  • Confirm the mapping.

Example:

  • Pennylane: Tonys Tyre Emporium
  • HaloPSA: Tony's Tyre Emporium

Once the mappings have been created, click "Done".

A summary of the mapped and excluded records is then displayed.

Excluding customers

If a customer should never be synchronized, it can be excluded.

To do so:

  1. Go to "Mappings" → "Customers".
  2. Select the customer concerned.
  3. Enable its exclusion.

From this screen, you can manage existing mappings and exclusions at any time.

Product mapping

Product mapping works exactly like customer mapping.

You can:

  • Map existing products.
  • Exclude certain products from synchronization.

Once all mappings have been checked, click "Save and continue".

Synchronization settings

Synchronization direction

For each entity type, choose the synchronization direction you want. Each entity type can have its own configuration.

DirectionDescription
HaloPSA → PennylaneData is sent from HaloPSA to Pennylane only.
Pennylane → HaloPSAData is sent from Pennylane to HaloPSA only.
Two-way synchronizationChanges are synchronized in both directions.
DisabledAn entity can also be excluded from synchronization entirely.

Data range

By default, all enabled documents are synchronized from their original creation date. This includes:

  • Quotes
  • Invoices

You can restrict synchronization to a specific period.

Example

To synchronize only quotes created after May 30, 2026:

  1. Click "Edit".
  2. Select May 30, 2026 as the start date.
  3. Save the change.

Only quotes created after that date will be synchronized.

Once the settings have been defined, click "Next".

Initial synchronization

Before starting the synchronization, review all the settings you have configured.

When everything is ready:

  1. Click "Start synchronization".
  2. Wait while the data is processed.

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.

Handling API limits

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.

Enabling continuous synchronization

Once the initial synchronization is complete, you can enable automatic synchronization of new records.

To do so:

  1. Tick "Start synchronization now".
  2. Click "Finish setup".

You are then redirected to the dashboard.

The integration is now up and running.

Monitoring synchronizations

Synchronization logs

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:

  1. Status
    • All statuses
    • Success
    • Failed
    • Pending
    • Skipped
  2. Entity type
    • All entity types
    • Customer
    • Product
    • Quote
    • Invoice
    • Order
  3. Operation
    • All operations
    • Created
    • Updated
    • Deleted
    • Skipped
    • Warning
  4. Direction
    • All directions
    • HaloPSA → Pennylane
    • Pennylane → HaloPSA
  5. Period
    • Start date
    • End date

These filters make it easy to quickly identify synchronization issues.

Automatic creation of error tickets

The integration can automatically create tickets in HaloPSA when an error is detected.

To enable this feature:

  1. Go to the "Settings" menu.
  2. Open the "Incident tickets" section.
  3. Turn the option on.
  4. Select the ticket type to use.

Pausing or stopping the integration

Pausing

You can temporarily pause synchronizations at any time.

To do so:

  1. Go to the "Settings" menu.
  2. Click "Pause".

No data will be synchronized for as long as the integration remains paused. Synchronization can be resumed later.

Permanent deactivation

The integration can also be deactivated permanently. A deactivated integration is stopped completely.

After deactivation:

  • Synchronizations are stopped.
  • They can no longer be resumed.
  • A new setup will be required to reactivate the integration.

Make sure this is what you want before confirming the deactivation.

Getting the integration

To get the integration, contact our sales team:

Pricing

Simple, transparent pricing:

  • Free for organizations with at least 5 HaloPSA licenses purchased through Halentra.
  • €69 / month for organizations without HaloPSA licenses through Halentra.

If you have any questions about your eligibility or about setting up the integration, our sales team will be happy to help.

Help and support

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.

Ready to connect HaloPSA to Pennylane?

Discover the integration built by Halentra to automate your billing and accounting workflows.