Official guide · 5 min

Migrate from Holded to Cofactu without losing a single invoice

Bring your customers, products, and historical invoices over in under 5 minutes. We do it via Holded's official API or by uploading the Excel export — you choose. Invoices already sent to AEAT keep their CSV; new ones start a clean VeriFactu chain.

No card required · Free plan forever · Migration at no cost

During the migration

Migrate with peace of mind — nothing gets lost along the way

No history lost

Your previous invoices keep the original numeroCompleto (e.g. FAC-2025-0142) and issue date. Cofactu's VeriFactu chain starts clean from your first new invoice.

Zero invoicing downtime

You can keep invoicing in Holded while trying Cofactu in parallel. When you're ready, cancel Holded — Cofactu keeps your data.

No lock-in

If you ever want to leave, you export ALL your Cofactu data in 1 click (customers, invoices, expenses, PDF + signed XML). We don't block the exit.

Step by step

Two ways to bring in your data

Automatic API sync (the fast option) or uploading your Excel/CSV export. Both cover clients, products, and invoices from Holded.

Recommended

Option A · Holded API

1

Get your Holded API key

~ 30s

Go to Holded → Settings → Developers → Generate API key.

Cofactu only needs read permissions. The key is encrypted with AES-256-GCM on our server and never logged.

2

Paste it into Cofactu Settings → Integrations

~ 1 min

Create your free Cofactu account and paste the API key under Integrations → Holded.

If you don't have an account yet, the signup wizard takes you straight to the integration step.

3

Import with one click

~ 2-3 min

Cofactu brings in your customers, products, and historical invoices as reviewable drafts.

Invoices arrive in draft status — you review them before resending to AEAT (the ones already sent from Holded are NOT resent, they keep their original CSV).

Alternative

Option B · Excel/CSV export

1

Export from Holded

~ 1 min

Holded → Invoicing → Issued invoices → Export → Excel/CSV. Repeat for Contacts.

If your Holded plan doesn't include API access, the Excel export is available on every plan from Basic up.

2

Upload the files to Cofactu

~ 1 min

Create your free account and go to Invoices → Import → From another program → select Holded.

The parser detects the Holded format automatically. If your export has custom columns, you get an editable preview before committing.

3

Confirm + go

~ 2 min

Review the preview showing N invoices + M customers and click Import. Done.

Same as with the API: historical invoices keep their Holded numbering and arrive as drafts.

After migrating

What you get in Cofactu that you didn't have in Holded

Before · Holded
  • Real VeriFactu, not "in development"
  • PSD2 bank connection included
  • No "gems" or add-on modules
  • Human support, not gated
Now · Cofactu
  • Real VeriFactu, not "in development"

    Holded still lists VeriFactu as in development as of May 2026. Cofactu has been submitting to AEAT since day 1. AEAT error catalog explained in plain language, automatic broken-chain detection (4171), 1-click repair.

  • PSD2 bank connection included

    40+ Spanish banks (Enable Banking AISP). Automatic sync every 6h. Auto-reconciliation with invoices + T-7/T-3 alerts before re-auth. Holded charges this as a separate module.

  • No "gems" or add-on modules

    Inventory, multi-location, time tracking, CRM, e-signature for quotes, receipt OCR — all included in Small Business/Accounting Firm plans. Holded charges module by module.

  • Human support, not gated

    Human chat available on every plan. Holded charges €50 extra just to talk to a human (Trustpilot). Cofactu's average response time is under 2h.

Clean chain

Your VeriFactu hash chain starts clean with your first new invoice

Invoices you already sent to the AEAT from Holded keep their CSV — we don't touch them. From your first invoice in Cofactu, the SHA-256 hash chain links up whole, signed, and verifiable, with no baggage from the past.

  • Holded history imported and searchable
  • New chain linked and signed from day 1
  • Automatic repair if an invoice breaks the chain (error 4171)
Once you've migrated

File your AEAT tax forms directly from Cofactu

Where Holded makes you download the file and upload it manually to the AEAT portal, Cofactu files it directly. Covers all 7 forms with the official CSV saved in an immutable audit log.

FAQ

Preguntas frecuentes

The most common questions when migrating from Holded to Cofactu.

¿No encuentras tu respuesta?

Escríbenos y te contestamos en menos de 24 h hábiles. Gente real, no tickets.

hola@cofactu.com Talk to support
Are my invoices already sent to AEAT from Holded resent?
No. Cofactu detects the ones that already have an AEAT CSV and marks them as imported 'accepted' — they are not resent. The VeriFactu chain starts clean with your first NEW invoice in Cofactu.
Do I lose Holded's change history or audit trail?
Holded's history stays in Holded — our importer doesn't extract change logs. But from the moment of import, Cofactu keeps its own immutable audit log with a hash chain (creation, editing, AEAT submission, payments, etc.).
Does it work with any Holded plan?
Yes. The API key requires Premium or higher; the Excel export is available on every plan from Basic up. If you only have Holded's free plan, the Excel export still works.
What about customers with incomplete data (no NIF, no address)?
Cofactu imports them anyway as drafts — a banner on each one tells you which fields are missing. We don't block the import so you don't lose data on old contacts.
How long does the real migration take for a company with 500 invoices?
API: ~3-5 minutes (paginated sync). CSV: ~2 minutes of upload + parse + commit. The preview is shown before the commit so you see exactly what will be imported.
What if I have invoices in multiple currencies, recurring invoices, or quotes?
Cofactu supports multi-currency and recurring invoices. Holded quotes are imported as quote drafts in Cofactu (not as invoices) — you convert them with one click when they're accepted.
What happens to my Holded integrations (Stripe, Shopify, etc.)?
Cofactu has native Stripe integration (online payment + payment webhook). For Shopify/WooCommerce there's a dedicated landing page at /integraciones/ecommerce — the flow is similar but with real-time sale detection.

Shall we get started?

Create your free account and start migrating from Holded in under 5 minutes. If you get stuck at any step, we'll help you over chat.