Skip to main content

Connect Holded to Flex through Zapier

Sync billing data to Holded automatically, so your accounting stays current without re-entering what's already in Flex.

Written by Yasen Marinov

Your finance team manages invoicing and accounting in Holded, while your operations team manages companies and billing in Flex. Entering each new company or invoice into Holded by hand means your books lag behind what actually happened in your space. Connecting the two through Zapier creates a matching contact or document in Holded automatically as they appear in Flex.

This connection runs through Flex's own app in Zapier's directory, built on Flex's Zapier API. Each Zap has exactly one trigger and one resulting action, so a single Zap only ever moves data one way, from the trigger app to the action app. To move data the other way, you need a second, separate Zap.


Prerequisites

Before you connect Holded and Flex, confirm the following:

  • An active Holded account, with Zapier activated from inside Holded (Holded Store > Integrations > Zapier > Activate).

  • A paid Zapier plan. The invoice workflow below needs a multi-step Zap, and Holded's own documentation states that multi-step workflows require a paid Zapier account.

  • Admin access in Flex, using your Flex admin credentials or a Client ID and Client Secret if your organization uses SSO.

Important: Flex triggers in Zapier check for changes on a polling cycle, typically every 15 minutes, not instantly. Custom properties of type date or multi-select aren't supported in Flex triggers or actions.


Example workflows

Create a Holded contact when a new Flex company joins

When a new company joins in Flex, this Zap creates a matching contact in Holded, so the record exists before the first invoice needs to reference it.

Trigger

Action

OfficeRnD triggers, actions, and search

New Company

Triggers when a new company is added.


Filter by organization, status, and location.

Holded triggers, actions, and search

Create Contact

Creates a Contact in Holded.

Create a Holded invoice when a new Flex invoice is issued

When Flex generates a new invoice, this Zap creates a matching sales invoice in Holded, so accounting reflects what's been billed without manual re-entry.

Trigger

Action 1

Action 2

OfficeRnD triggers, actions, and search

New Invoice

Triggers when a new invoice is added.


Filter by organization and location.

Holded triggers, actions, and search

Find Contact

Find an existing Contact.


Match by name or email to get the contact's Holded ID.

Holded triggers, actions, and search

Create Sales Invoice

Creates a sales invoice.


Use the contact ID from Action 2.

Important: Step 2 only finds a contact that already exists. If the company from step 1 hasn't run yet for that customer, this Zap has nothing to match, so it will fail. Set up the contact Zap first, and give it time to run before turning on the invoice Zap.


FAQs

Can this integration reconcile a Holded invoice once it's paid?

No, not automatically. Flex has no Zapier action to record a payment or update an invoice status, so marking something as paid or reconciled still has to be done in Holded directly. This integration only covers getting invoice data into Holded, not retrieving payment status.

Why does the Zap take a few minutes to run?

Zaps are triggered from a Flex run with a delay because Zapier checks Flex for changes on a polling cycle rather than in real time. This cycle usually runs every 15 minutes, so allow for that delay before troubleshooting a Zap that appears not to have fired.

Did this answer your question?