Billing
Holded integration
Invoices, contacts and payments created in Holded from your Spanish sales, with no data retyped by hand.
Overview
Holded
Holded is a Spanish business suite covering invoicing, accounting, inventory and CRM. Companies with a Spanish entity often run it alongside sales channels that have no native Holded connector, which leaves someone copying orders into invoices every week.
Tejobit wires those channels to the Holded API. A paid booking, order or payment triggers a lookup of the contact by Spanish tax ID or email, creates the contact when missing, and issues the right document type (invoice, sales receipt or estimate) using the numbering series and taxes already set up in the account.
Holded stays the system of record. Spanish compliance duties, including VeriFactu, now postponed to 2027, are handled by Holded and the account setup; the integration's job is to feed it clean, complete data.
Use cases
What it is for
- A tour operator in Barcelona selling through FareHarbor, with every paid booking turned into a Holded invoice.
- A Shopify store whose orders shipped to Spain are invoiced by the Spanish company in Holded, while other orders go elsewhere.
- Stripe charges recorded as payments against the matching document, so Holded treasury reconciles with the bank.
- B2B leads from a CRM or web form created as Holded contacts with tax ID and billing address.
- A single product catalogue kept in sync with Holded to avoid duplicate SKUs.
What the connection listens to
- Confirmed booking or paid order in the sales platform (source webhook).
- Successful payment in Stripe, PayPal or another gateway.
- Scheduled checks against Holded for paid or edited documents, since the API does not yet offer its own webhooks.
- Refund or cancellation at the source that needs a corrective document.
What the connection does
- Creates or updates the Holded contact with legal name, tax ID, address and email.
- Issues the invoice or sales receipt with line items, Spanish VAT rate and series.
- Records the payment on the document against the chosen treasury account.
- Has Holded email the PDF to the customer when the account is set up for it.
- Stores a cross-reference between source sale and document so nothing is invoiced twice.
How it works
From the request to a working connection
- 01
Request
The form names the integration, the tools involved and what should happen in each case.
- 02
Review and proposal
Tejobit confirms what the API allows and sends a proposal with the flow, the price and the timeline.
- 03
Setup and testing
The connection is set up with the business's own accounts and tested with real cases before it goes live.
- 04
Maintenance and monitoring
Tejobit hosts the connection, follows up on errors and adapts it when the API changes.
The connection runs on Tejobit's infrastructure. The monthly fee covers hosting, monitoring and API changes.
What to prepare
- A Holded API key created under Settings, Developers, with the right permissions.
- Numbering series and taxes already configured for the Spanish business.
- Agreed rules: which sales go to Holded, which document type, which payment account.
- Admin access to the source platform to register webhooks.
For security, do not send passwords, API keys or tokens through the form. Credentials are requested through a secure channel when the setup starts.
Limits
- Holded has no official outbound webhooks yet, so some status changes are picked up on a schedule rather than instantly.
- The API is moving from v1 to v2; the connection is updated as older endpoints are retired.
- Complex credit notes and partial returns may need a manual check before they are issued.
Frequently asked questions
Before you start
Are the invoices valid for the Spanish tax agency?
Holded issues them, using the account's tax setup. The integration fills in the data and requests the document; it does not replace the software or your Spanish accountant.
Can Holded handle only my Spanish sales?
Yes. Routing can follow the customer's country, the shipping address or the product, so only Spanish entity sales reach Holded.
How are duplicate contacts avoided?
Lookups use the tax ID first and the email second, so an existing customer is reused instead of created again.
What happens on a refund?
The refund is recorded and, depending on the agreed rules, a corrective document is issued or the team gets an alert to review it.
Related integrations
See all integrations- Billing
Billin (TS Facturas)
Invoices and cash tickets issued in Billin, now TeamSystem Facturas, from sales made on your other platforms.
From €5 /month + IVA
See integration - Payments
Stripe
Moves every Stripe payment, subscription and refund into Portuguese invoicing, the CRM and the back-office, without exports.
From €5 /month + IVA
See integration - Commerce
Shopify
Connects a Shopify store to certified Portuguese invoicing, carriers and stock, driven by order webhooks.
From €5 /month + IVA
See integration
Set up the Holded integration?
Describe what should pass between the tools. The reply confirms feasibility, price and timeline.