
Overview
This article is for LedgerSync API partners. The LedgerSync API supports webhook notifications and a stable transaction hash field to help your integration handle real-time events and deduplicate transactions across bank reconnections.
Webhooks
What Are Webhooks?
Webhooks allow LedgerSync to push real-time notifications to your server when events occur — for example, when a new bank statement is available, or when a bank connection status changes. Without webhooks, your integration must poll the LedgerSync API periodically to check for updates. Webhooks eliminate the need for polling.
How to Set Up a Webhook URL
- In the LedgerSync application, go to Settings
- Find the Webhook URL field
- Enter the URL of your server endpoint that will receive webhook events
- Save
You can also manage webhook configuration through the API:
GET /api/webhooks — Returns your saved webhook URL. Returns 403 if your account is not API-enabledPOST /api/webhooks — Sets or updates your webhook URL
Webhook Security
Verify that incoming webhook requests are genuinely from LedgerSync by checking the signature included in the request headers. Contact
support@ledgersync.com for the current signature validation method.
Transaction Hash — Stable ID for Deduplication
The Problem
When a bank connection is disconnected and later reconnected through the LedgerSync API, the underlying transaction IDs may change (because a new connection is created). If your system identifies transactions by their ID, previously-seen transactions will appear as new entries, potentially creating duplicates in your system.
The Solution — transactionHash
The LedgerSync API transaction response now includes a transactionHash field alongside the standard transaction ID. The transactionHash is calculated from the transaction’s stable properties (date, amount, description, account) and remains consistent even if the bank is disconnected and reconnected.
How to use it:
- When processing transactions from the LedgerSync API, use
transactionHash as your deduplication key instead of (or in addition to) the transaction ID - If you receive a transaction with a
transactionHash you’ve already seen, treat it as an update to the existing record rather than a new transaction - The
transactionHash is documented in the LedgerSync API documentation
API Access Requirements
Webhook endpoints and the
transactionHash field are only available to
API-enabled accounts. If you are not yet an API customer, visit
ledgersync.com to apply for API access, or contact
support@ledgersync.com.
Need Help?
Related Articles: