Account status
- HubSpot connection status.
- Wise connection status.
- Wise permission mode.
- Connected Wise profile.
Installation, permissions, configuration, transaction synchronization, HubSpot invoice reconciliation, data handling, security, troubleshooting, and support documentation.
The Wise Payments Integration connects a Wise account with HubSpot so businesses can synchronize Wise transaction information, associate Wise counterparties with HubSpot companies and contacts, and reconcile incoming Wise payments with HubSpot invoices.
The integration provides the following functions:
The current integration does not use fuzzy name matching, domain guessing, or automatic CRM record creation. A user must explicitly select the HubSpot company or contact represented by a Wise counterparty.
To install and use the integration, you need:
Some HubSpot subscriptions may not include custom objects, invoices, commerce payments, or all required API scopes. Installation may not be available in accounts that do not support the required functionality.
After authorization is complete, the integration will:
The settings page displays:
Before connecting Wise, select one of the available permission modes.
Read-only mode allows the integration to:
Read-only mode does not permit the integration to create, update, send, cancel, or delete Wise transfers or payments.
Read and create mode includes all read-only capabilities and authorizes supported Wise API write operations.
Selecting this mode does not automatically send money or create Wise transfers. Current synchronization and HubSpot invoice reconciliation create records in HubSpot; they do not initiate a Wise transfer.
Future features that perform a Wise write operation will only be available when the connection uses Read and create access.
Webhook subscription configuration is permitted in read-only mode because it controls delivery of incoming synchronization events. It does not move funds or modify a Wise payment.
The Wise authorization request uses a single-use state value that expires after ten minutes. This protects the connection process against unauthorized OAuth callback requests.
A Wise account may contain more than one personal or business profile. The integration synchronizes one selected Wise profile per HubSpot account at a time.
The selected profile determines:
Changing the selected profile does not automatically delete transactions previously synchronized from another Wise profile.
The transaction history setting determines how much Wise statement history is retrieved during a manual synchronization.
| Option | Description |
|---|---|
| 30 days | Retrieves the previous 30 days of statement activity. |
| 90 days | Retrieves the previous 90 days of statement activity. |
| 180 days | Retrieves the previous 180 days of statement activity. |
| 365 days | Retrieves one year of statement activity. This is the default. |
| 730 days | Retrieves up to two years of statement activity. |
Existing HubSpot transaction records are not automatically deleted when the transaction history setting is reduced.
The integration can limit how many transactions are displayed in applicable CRM cards or settings views.
The default display limit is 25 transactions. This setting affects the display of transaction data and does not necessarily limit how many eligible records are synchronized into HubSpot.
The first synchronization may process a larger amount of data than subsequent synchronizations.
Wise limits the maximum date range of an individual balance statement request. When necessary, the integration divides the selected history period into smaller statement windows and combines the results.
The integration retrieves balance statements for the selected Wise profile and converts each eligible statement entry into a normalized Wise Transaction record.
The integration may extract:
Each Wise transaction ID is used to identify existing records and reduce duplicate creation.
The integration uses a HubSpot custom object representing individual Wise transactions. Depending on the approved object configuration, the object may be labelled Wise Transaction or Payment Transaction.
| Property | Description |
|---|---|
| Wise Transaction Name | Human-readable name containing the date, direction, counterparty, amount, and currency. |
| Wise Transaction ID | Unique transaction identifier received from Wise. |
| Wise Profile ID | Wise profile associated with the transaction. |
| Wise Counterparty Name | Name of the sender, recipient, merchant, or other counterparty. |
| Wise Counterparty Account | Available Wise account or bank account identifier associated with the transaction. |
| Wise Transaction Amount | Transaction amount. |
| Wise Transaction Currency | ISO currency code. |
| Wise Transaction Date | Date and time of the transaction. |
| Wise Transaction Description | Description and available transaction details. |
| Wise Transaction Direction | Incoming or outgoing. |
| Wise Transaction Reference | Payment, invoice, or bank reference when available. |
| Wise Transaction Status | Completed, pending, cancelled, failed, or another supported status. |
| Wise Transaction Type | Incoming payment, outgoing payment, refund, fee, conversion, or other. |
| Wise Transfer ID | Wise transfer identifier when available. |
| Wise Last Sync | Last date and time the record was synchronized. |
The integration creates a Wise Integration property group on HubSpot company records.
| Property | Description |
|---|---|
| Wise Profile ID | Wise business profile associated with the company. |
| Wise Account Connected | Indicates whether the company is connected to a Wise profile. |
| Wise Current Balance | Current synchronized Wise balance where applicable. |
| Wise Balance Currency | ISO currency code for the synchronized balance. |
| Wise Total Received | Total received through transactions associated with the company. |
| Wise Total Sent | Total sent through transactions associated with the company. |
| Wise Payment Count | Number of associated Wise transactions. |
| Wise Last Payment Date | Date of the most recent associated payment. |
| Wise Last Payment Amount | Amount of the most recent associated payment. |
| Wise Last Payment Currency | Currency of the most recent associated payment. |
| Wise Last Transaction ID | Wise ID of the most recent associated transaction. |
| Wise Last Transaction Direction | Direction of the most recent associated transaction. |
| Wise Last Transaction Status | Status of the most recent associated transaction. |
| Wise Connection Status | Connected, disconnected, or error. |
| Wise Last Sync Date | Last date and time Wise data was synchronized. |
| Wise Manual Counterparty Name | Exact Wise counterparty selected by a user. |
| Wise Manual Transaction Count | Number of transactions matching the selected counterparty. |
| Wise Manual Transaction Last Associated At | Last date and time the association was updated. |
The integration creates a Wise Integration property group on HubSpot contact records.
| Property | Description |
|---|---|
| Wise Profile ID | Wise profile used for the contact’s transaction data. |
| Wise Recipient ID | Wise recipient identifier associated with the contact. |
| Wise Recipient Currency | Currency configured for the Wise recipient. |
| Wise Recipient Match Status | Current recipient association status. |
| Wise Total Received | Total received through transactions associated with the contact. |
| Wise Total Sent | Total sent through transactions associated with the contact. |
| Wise Payment Count | Number of associated Wise transactions. |
| Wise Last Transaction Date | Date of the most recent associated transaction. |
| Wise Last Transaction Amount | Amount of the most recent associated transaction. |
| Wise Last Transaction Currency | Currency of the most recent associated transaction. |
| Wise Last Transaction ID | Wise ID of the most recent associated transaction. |
| Wise Last Transaction Direction | Direction of the most recent associated transaction. |
| Wise Last Transaction Status | Status of the most recent associated transaction. |
| Wise Last Sync Date | Last date and time Wise data was synchronized. |
| Wise Manual Counterparty Name | Exact Wise counterparty selected by a user. |
| Wise Manual Transaction Count | Number of transactions matching the selected counterparty. |
| Wise Manual Transaction Last Associated At | Last date and time the association was updated. |
Automatic or fuzzy CRM matching is not used.
After confirmation, the integration:
The integration can create a Wise profile-level webhook subscription for incoming payment state changes.
The monitored Wise event is:
When an eligible webhook is received, the integration:
Webhooks are supplemented by scheduled reconciliation. The default schedule runs approximately every six hours.
This provides a secondary method for discovering eligible transactions if a webhook is delayed, missed, or received while the application is temporarily unavailable.
A manual synchronization can also be run from the integration settings page.
The integration reviews completed incoming Wise transactions and open HubSpot invoices.
The integration compares:
The amount and currency must match. The invoice number must also appear in the Wise payment reference or transaction description.
When a reliable invoice reference is unavailable, the integration may evaluate whether the transaction and invoice share the same associated:
The amount, currency, transaction date, and invoice date must also support the match.
An exact-date match is preferred. A limited seven-day date window may be used as a fallback when the transaction and invoice share the same company or contact.
The reconciliation process is designed to avoid processing duplicate or ambiguous invoice matches.
When an eligible incoming Wise transaction is matched with an open HubSpot invoice, the integration checks whether a commerce payment has already been created for that Wise transaction.
The payment reference uses the following structure:
If no existing payment is found, the integration creates a HubSpot commerce payment containing:
The commerce payment is associated with the matching HubSpot invoice.
HubSpot may update the invoice status through its native commerce payment behaviour. The integration reads the resulting invoice status after creating the payment but does not directly overwrite the invoice status property.
All HubSpot scopes listed below are requested during installation. There are currently no optional or conditionally required HubSpot scopes.
| Scope | Access | Purpose |
|---|---|---|
| oauth | HubSpot OAuth authorization | Installs the integration, exchanges authorization codes, refreshes access tokens, and identifies the connected HubSpot account. |
| crm.objects.companies.read | Read companies and associations | Displays companies during manual association and reads company associations used during invoice reconciliation. |
| crm.objects.companies.write | Update companies and associations | Writes Wise company properties and creates associations between companies and Wise Transaction records. |
| crm.objects.contacts.read | Read contacts and associations | Displays contacts during manual association and reads contact associations used during invoice reconciliation. |
| crm.objects.contacts.write | Update contacts and associations | Writes Wise contact properties and creates associations between contacts and Wise Transaction records. |
| crm.schemas.companies.read | Read company property definitions | Determines whether required Wise company properties already exist. |
| crm.schemas.companies.write | Create company property definitions | Creates the Wise Integration property group and required company properties. |
| crm.schemas.contacts.read | Read contact property definitions | Determines whether required Wise contact properties already exist. |
| crm.schemas.contacts.write | Create contact property definitions | Creates the Wise Integration property group and required contact properties. |
| crm.schemas.custom.read | Read custom object schemas | Locates and validates the Wise Transaction custom object and its properties. |
| crm.objects.custom.read | Read custom object records | Reads Wise Transaction records for display, duplicate detection, association, and reconciliation. |
| crm.objects.custom.write | Create and update custom object records | Creates and updates normalized Wise Transaction records and their associations. |
| crm.objects.invoices.read | Read HubSpot invoices | Reads open invoices, invoice numbers, amounts, currencies, dates, statuses, and associations for payment matching. |
| crm.objects.commercepayments.read | Read commerce payment records | Checks whether a Wise transaction has already been represented by a HubSpot commerce payment. |
| crm.objects.commercepayments.write | Create commerce payment records | Creates a successful wire-transfer commerce payment and associates it with the matching invoice. |
The integration does not request permission to read all HubSpot CRM data. HubSpot access is limited to the objects and schemas required for the documented functionality.
| Data object | Direction | Purpose |
|---|---|---|
| Wise profiles | Wise to integration | Lists profiles and saves the profile selected for synchronization. |
| Wise recipients | Wise to integration | Displays available counterparty and recipient information. |
| Wise balances | Wise to integration | Verifies connected currencies and identifies statement sources. |
| Wise balance statements | Wise to integration | Retrieves transaction history for synchronization. |
| Wise transactions | Wise to HubSpot | Creates or updates normalized Wise Transaction records. |
| HubSpot companies | HubSpot and integration service | Reads company information and associations, then writes Wise properties and transaction associations. |
| HubSpot contacts | HubSpot and integration service | Reads contact information and associations, then writes Wise properties and transaction associations. |
| HubSpot custom objects | HubSpot and integration service | Reads existing Wise Transaction records and creates or updates transaction records and associations. |
| HubSpot invoices | HubSpot to integration | Reads invoice information and associations for reconciliation. |
| HubSpot commerce payments | HubSpot and integration service | Reads existing payments for duplicate prevention and creates matched Wise payment records. |
| Integration settings | HubSpot user to integration | Stores selected profile, synchronization preferences, and connection configuration. |
| Wise webhook events | Wise to integration | Notifies the integration of incoming payment state changes. |
No HubSpot company, contact, invoice, custom object, or commerce payment data is written back to Wise as part of the current transaction synchronization or invoice reconciliation process.
Depending on availability in the Wise API response, the integration may process:
The integration does not request or store a user’s Wise password.
The integration may process:
The integration does not intentionally access HubSpot objects outside the scopes listed in this documentation.
The integration uses an application storage layer for authentication, configuration, mapping, and operational information.
The storage layer uses PostgreSQL when a database connection is configured. The application also contains a restricted JSON file storage fallback intended for local development.
The application may store:
Normalized Wise transaction information is primarily stored in the customer’s HubSpot account as Wise Transaction records. The integration does not intentionally retain complete raw Wise balance statements after they have been processed.
Wise access and refresh tokens are encrypted before they are written to application storage.
Wise tokens are decrypted only when required to make an authorized Wise API request.
HubSpot OAuth access and refresh tokens are stored in restricted application storage and separated by HubSpot account ID.
HubSpot access tokens are refreshed automatically before expiry when a valid refresh token is available.
Application credentials, encryption secrets, and OAuth client secrets are stored as server-side environment secrets and are not returned to HubSpot users or browser clients.
Communication between the integration, HubSpot, and Wise occurs over HTTPS.
The integration sends authenticated API requests directly to:
Wise webhook requests are verified using the original request body and Wise’s RSA-SHA256 signature before the event is processed. Requests with missing or invalid signatures are rejected.
The integration stores webhook delivery identifiers to prevent the same event from being processed more than once.
Webhook delivery records are retained for up to 30 days and are limited to a maximum of 500 stored delivery records per connected HubSpot account. Older delivery records may be removed when either limit is reached.
Active connection and configuration records are retained while needed to operate the integration. HubSpot CRM records created by the integration remain subject to the customer’s HubSpot account settings and retention policies.
Before publication, confirm the production application log retention period, database backup retention period, primary processing region, and deletion request completion period.
No certification, audit standard, or regulatory compliance status should be inferred unless explicitly stated in published Atlantic Ops security or privacy documentation.
Disconnecting Wise does not uninstall the HubSpot integration.
Disconnecting Wise:
Disconnecting Wise does not automatically delete:
Before disconnecting or uninstalling the integration, disable the incoming payment listener or remove the corresponding profile webhook subscription where the integration provides that option.
Removing a webhook subscription stops new Wise event deliveries. It does not delete transactions already synchronized into HubSpot.
Uninstalling the integration:
Uninstalling does not automatically delete:
Submit a deletion request through the Atlantic Ops contact page and include:
After validating the request, Atlantic Ops will delete eligible active application records associated with the HubSpot account. Deleting application-side data does not delete records stored directly in HubSpot.
Backup copies may remain until the documented backup retention period expires.
Confirm that:
Confirm that:
When the integration displays Reconnect required, connect Wise again from the settings page.
Synchronizing a transaction does not automatically associate it with a CRM record. Open the company or contact record and select the exact Wise counterparty through the integration card.
Confirm that:
When no invoice reference is available, confirm that:
The integration checks for an existing payment reference using the Wise transaction ID before creating a commerce payment.
Contact support with the HubSpot account ID, Wise transaction ID, HubSpot payment record IDs, and HubSpot invoice ID.
Wise webhooks are rejected when:
Scheduled or manual reconciliation can be used to recover eligible transactions after a failed webhook delivery.
The current synchronization and invoice reconciliation process does not initiate a Wise transfer. Read-only mode prevents payment-changing Wise API requests. Read and create mode permits supported future or enabled Wise write actions but does not automatically send money.
No. The current integration requires a user to associate an exact Wise counterparty with an existing HubSpot company or contact.
No. Authentication occurs through Wise OAuth. The integration receives OAuth tokens, not the user’s Wise password.
One Wise profile is selected for a HubSpot account at a time. A user can change the selected profile, but historical records from the previous profile are not automatically deleted.
Yes. Transaction records retain the currency supplied by Wise. Invoice reconciliation requires the Wise transaction currency and HubSpot invoice currency to match.
No. Disconnecting stops future Wise access and synchronization but preserves existing HubSpot records.
No. Existing HubSpot data remains unless a HubSpot administrator deletes it.
The integration uses the Wise transaction ID to locate previously synchronized transaction records.
The integration searches for a HubSpot commerce payment using the reference WISE:{Wise transaction ID} before creating another record.
Signed Wise webhooks can trigger synchronization after a payment state change. Scheduled reconciliation also runs periodically as a fallback. Actual timing may be affected by Wise, HubSpot, hosting availability, and API rate limits.
When contacting support, include the HubSpot account ID and a description of the affected Wise profile, transaction, company, contact, invoice, or commerce payment.
Do not send Wise passwords, complete bank account numbers, OAuth tokens, API credentials, or other authentication secrets through a support request.
Request assistance with installation, synchronization, Wise account connections, counterparty association, HubSpot invoice reconciliation, commerce payments, or application-side data deletion.