Linking Holded as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Contents

The Holded connector syncs invoices, purchases, payments, contacts, products, accounting, CRM, project, and team data from your Holded account into PostHog.

Adding a data source

  1. Go to the sources tab of the data pipeline section in PostHog.

  2. Click + New source and then click Link next to Holded.

  3. Next, you need an API key from Holded. In your Holded dashboard, go to Settings > API and create a new key. Give it read permission for the tables you want to sync, and the account:info.read permission so PostHog can verify the key.

  4. Back in PostHog, paste the API key into the API key field and click Next.

  5. Select the tables you want to sync, set the sync frequency, then click Import.

Once the syncs are complete, you can start using Holded data in PostHog.

API quota

Holded plans have a monthly API call quota. Each sync reads every selected table in full and uses calls from your quota, so select only the tables you need.

Available tables

All Holded tables sync via full table refresh. The Holded API doesn't filter by modification time, so incremental sync isn't available.

Sales documents

TableDescriptionSync method
invoicesSales invoicesFull refresh
credit_notesSales credit notesFull refresh
sales_receiptsSales receiptsFull refresh
estimatesEstimates and quotesFull refresh
proformasProforma invoicesFull refresh
sales_ordersSales ordersFull refresh
waybillsDelivery waybillsFull refresh
receipt_notesReceipt notesFull refresh

Purchase documents

TableDescriptionSync method
purchasesPurchase invoicesFull refresh
purchase_refundsPurchase refundsFull refresh
purchase_ordersPurchase ordersFull refresh
purchase_shipmentsPurchase shipmentsFull refresh
paymentsPaymentsFull refresh

Catalog and contacts

TableDescriptionSync method
contactsContacts (customers and suppliers)Full refresh
contact_groupsContact groupsFull refresh
productsProducts in the catalogFull refresh
servicesServices in the catalog (includes archived)Full refresh
warehousesWarehousesFull refresh

Accounting and treasury

TableDescriptionSync method
ledger_entriesLedger entries (one row per line)Full refresh
accounting_accountsChart of accounts (includes archived and empty)Full refresh
taxesTax configurationsFull refresh
treasury_accountsTreasury accountsFull refresh
payment_methodsPayment methodsFull refresh

CRM

TableDescriptionSync method
funnelsSales funnelsFull refresh
leadsCRM leadsFull refresh
eventsCRM eventsFull refresh

Projects

TableDescriptionSync method
projectsProjectsFull refresh
tasksProject tasksFull refresh
project_timesTime entries for projectsFull refresh

Team

TableDescriptionSync method
employeesEmployeesFull refresh
employee_timesEmployee time entriesFull refresh

Configuration

OptionDescription
API key
Type: password
Required: True

Create a key in Holded under Settings > API. Give it read permission for the tables you want to sync, and account:info.read so PostHog can check the key.

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
invoices

Sales invoices issued to customers.

Full refresh——
credit_notes

Credit notes that correct or refund sales invoices.

Full refresh——
sales_receipts

Sales receipts (simplified invoices) issued to customers.

Full refresh——
estimates

Estimates (quotes) sent to customers.

Full refresh——
proformas

Proforma invoices sent to customers before the final invoice.

Full refresh——
sales_orders

Sales orders received from customers.

Full refresh——
waybills

Waybills (delivery notes) for goods shipped to customers.

Full refresh——
receipt_notes

Receipt notes issued in the account.

Full refresh——
purchases

Purchase invoices received from suppliers.

Full refresh——
purchase_refunds

Refunds of purchase invoices from suppliers.

Full refresh——
purchase_orders

Purchase orders sent to suppliers.

Full refresh——
purchase_shipments

Purchase shipments (goods received notes) from suppliers.

Full refresh——
payments

Payments and collections recorded against documents.

Full refresh——
contacts

Customers, suppliers and other contacts.

Full refresh——
contact_groups

Groups used to organize contacts.

Full refresh——
products

Products in the inventory catalog.

Full refresh——
services

Services that can be sold, archived ones included.

Full refresh——
warehouses

Warehouses that hold inventory stock.

Full refresh——
ledger_entries

Lines of the accounting daily ledger. Each ledger entry has one row per line.

Full refresh——
accounting_accounts

Accounts of the chart of accounts, with their debit, credit and balance.

Full refresh——
taxes

Taxes configured in the account.

Full refresh——
treasury_accounts

Treasury accounts: bank accounts, cards, payment gateways and cash.

Full refresh——
payment_methods

Payment methods that can be set on documents.

Full refresh——
funnels

CRM funnels (sales pipelines) and their stages.

Full refresh——
leads

CRM leads (deals) in the funnels.

Full refresh——
events

CRM events such as calls, meetings and other activities.

Full refresh——
projects

Projects in the account.

Full refresh——
tasks

Tasks in projects.

Full refresh——
project_times

Time entries logged on projects.

Full refresh——
employees

Employees of the company.

Full refresh——
employee_times

Clock-in time entries of employees.

Full refresh——

Troubleshooting

Sync failing with an authentication error

If your sync fails with a 401 or 403 error, your API key is invalid, expired, or missing the required permissions. Create a new key in Holded under Settings > API with read permission for the tables you want to sync and the account:info.read permission, then reconnect the source.

Sync failing for a specific table

If a single table fails with a 403 error, the API key doesn't have read permission for that table. Either update the key's permissions in Holded or deselect the table in PostHog.

Still have questions?

Was this page useful?