Holded Pipedrive integration
Pipedrive and Holded sharing a single source of truth for customers and invoicing.
Implementation time · 5-8 días laborables
The problem
Pipedrive is ideal for the sales rep: simple, visual, fast. But without Holded connected, every won deal turns into 20-30 minutes of admin: copy the contact, validate the tax ID, create the estimate, issue the invoice. In teams with 40-100 deals/month that is between 15 and 50 monthly hours the admin team spends on copy-paste, with typing errors the accountant then has to fix. The Marketplace plugins available for Pipedrive-Holded are scarce, fragile and do not handle real scenarios well, such as deals with line items, per-line discounts or multiple pipelines.
ProposalThe solution
Pipedrive contacts, organizations and deals sync with Holded customers, estimates and invoices with no duplicates or manual reconciliation. Each deal in a configurable stage triggers an estimate in Holded; when it is marked as won, it generates the corresponding invoice. The payment status flows back to Pipedrive as a custom field and sales reps see the financial status without opening Holded. It supports multiple pipelines, products with discounts and the Pipedrive Web Forms add-ons.
What we automate
- Pipedrive person and organization to Holded contact with validated tax ID
- Deal in stage X to Holded estimate; won deal to issued invoice
- Deal products to invoice lines with quantity, price and discount
- Payment status to a custom field on the deal and the person in Pipedrive
- Deal owner (sales rep) to salesperson on the Holded invoice
- Multi-pipeline to different invoicing series in Holded depending on the pipeline
- Activities marked as 'billable' to lines on a recurring invoice
- Reopening a won deal to allow issuing a corrective invoice or credit note
Real use cases
These are the profiles that most ask us for the Holded ↔ Pipedrive integration and what they get in the end.
B2B consultancy with 60 deals/month across 3 pipelines
Before: They mixed invoices from 3 service lines into a single Holded series, muddying financial reporting.
After: Each pipeline mapped to its own series. Reporting by service line without recalculating anything in Holded.
Services company with packages plus add-ons
Before: Deal products with optional add-ons were lost when copied into Holded.
After: Each product and add-on as a separate invoice line. Per-line discounts respected.
Sales team without access to Holded
Before: Sales reps did not know which invoices were paid and went through Slack asking for the status.
After: Custom field 'Payment status' updated in real time on the deal. Zero questions to admin.
What changes exactly
Without the integration
- 20-30 min of admin per closed deal
- Sales reps asking via Slack whether the invoice is paid
- Multi-pipeline mixed into a single invoicing series
- Duplicate contacts between Pipedrive and Holded
With the integration
- Won deal to issued invoice in seconds with no intervention
- Payment status visible on the deal in Pipedrive
- Each pipeline with its own series in Holded
- Matching by email + tax ID: zero duplicates
How we build it
Pipedrive v2 webhooks (deal.change, person.change) to a persisted queue. The worker matches contacts by primary email and tax ID to avoid duplicates. We call the Holded REST API with exponential backoff and store the Holded ID in a Pipedrive custom field for bidirectional sync. Idempotency guaranteed with the webhook request_id. All the mapping (stage to action) lives in versioned config that you can adjust without a redeploy.
Frequently asked questions
What happens if the deal is reopened after being won?
We treat the invoice as already issued (it is not deleted). If there are real changes, we generate a corrective invoice in Holded or a credit note as appropriate for tax purposes. We flag the deal with a custom field so admin can review it.
Does it work with Pipedrive Web Forms and LeadBooster?
Yes. Leads coming in through forms can generate pre-created contacts in Holded marked as 'lead' (no invoice), ready to convert when the deal is won.
Multi-pipeline?
Yes. We map each pipeline to a different invoicing series in Holded with its own VAT matrix and payment method. It is the standard configuration for teams with several business lines.
Does it map deal products to invoice lines?
Yes. Each product added to the deal (with quantity, unit price and discount) goes as a separate line on the Holded invoice. If you have custom products in Pipedrive, we create them automatically in the Holded catalog the first time they appear.
What about Pipedrive v2 webhooks?
We use v2 webhooks exclusively. They are more stable and offer better granularity than v1. If your account has legacy v1, we migrate them as part of the implementation.
How long does it take to be up and running?
Between 5 and 8 days for a standard single-pipeline integration. Multi-pipeline with complex custom fields can add 3-4 days.
Related integrations
QuickBooks + HubSpot
A won deal in HubSpot creates the customer and invoice in QuickBooks, and payment status flows back to the CRM.
See integrationCRMXero + HubSpot
Won HubSpot deal to a Xero invoice, with the payment status sent back to the CRM.
See integrationCRMNetSuite + Salesforce
Salesforce accounts and opportunities and NetSuite customers and orders in two-way sync: a won Opportunity creates the Sales Order and financial status flows back to the CRM.
See integrationShall we talk about your Pipedrive integration?
A 30-minute call, no strings. You leave with scope and a price.