Migration

Migrate from Holded to Cofactu

Import the selected data types by API. Review what was imported, keep the originals and compare the totals before you start the new invoicing.

Category
Migration
Level
Intermediate
Time
Depends on volume and review
Steps
6
Updated
29 September 2026
Direct answer

Before you start.
What you are about to solve.

Migrating invoicing software is not starting from scratch: it is bringing your history (customers, catalogue, invoices and expenses) and continuing to invoice with no gaps in numbering. With Holded, Cofactu does it by API: you connect once with a key and sync the selected data types. Keep the originals separately and check for omissions. The key with VeriFactu is that the new series starts consistently, because from there records are chained by hash.

The recommended route is the API connection (through sync). If you prefer not to use it, or you migrate from a tool without an API, the manual Excel/CSV route is available as an alternative. This guide covers both, with the API as the main path.

We recommend migrating between periods (quarter-end or month-end) so the cut is clean and no invoices are left half-way between the two tools.

Procedure

Do it in order.
Open only the step you are on.

6 steps to review, issue and leave the document ready, without reading a whole guide at once.

  1. Connect Holded by API (recommended route)

    Step 01: Connect Holded by API (recommended route)

    In Holded, go to Settings → More → Developers and generate an API key. In Cofactu, go to Settings → Integrations, choose Holded and paste the key. Cofactu validates the connection instantly. With this, the import is automatic: you do not export or upload any file. The detail is in the guide to connecting Holded by API.

  2. Import customers, catalogue and expenses

    Step 02: Import customers, catalogue and expenses

    With the connection active, choose what to bring: customers, products, expenses (purchases) and quotes. Cofactu imports them directly from Holded, validates the NIF and detects duplicates so you do not end up with the same customer or product twice. You will see a summary of how many it imported of each type.

    • Customers with NIF; contacts without NIF may be skipped.
    • Catalogue of products and services with price and VAT.
    • Expenses (purchases) and quotes, if you tick them.
  3. Import the invoice history

    Step 03: Import the invoice history

    Also bring the sales invoices issued in Holded. They come in as historical, with their original number and a reference to the source; Holded drafts come in as drafts in an import series. Their AEAT CSV is not transferred. The importer does not send them to the AEAT.

  4. Check that the totals add up

    Step 04: Check that the totals add up

    Before accepting the migration, compare the aggregates: number of customers, number of invoices for the period and sum of bases and VAT, against what you see in Holded. A mismatch usually comes from a misread amount format or from corrective invoices counted twice. It is easier to detect now than months later.

  5. Set up your new series

    Step 05: Set up your new series

    Decide how your numbering continues. If in Holded you were at F-2026-0148, you can create in Cofactu a series that starts at the next number, or open a new series (for example by changing the prefix) to mark the cut. What matters is that within each series the numbering is consecutive and without gaps: it is one more check, not a complete guarantee of compliance.

  6. Issue your first VeriFactu invoice

    Step 06: Issue your first VeriFactu invoice

    With customers, catalogue and series ready, issue the first real invoice in Cofactu. Cofactu generates and chains the VeriFactu record and submits it over an authenticated connection. The individual record carries no XAdES signature. Check the result of the submission before considering the operation complete. And do not forget to delete the API key in Holded once migrated.

Result

Consider the migration finished when you have compared totals, resolved or documented omissions, kept the originals and tested the new operations. See the detailed scope on the Holded migration page (/en/migrate/holded).

Frequently asked questions

The questions that come up
when you put it into practice.

Do I have to export Excel from Holded to migrate?

No, if you use the recommended route: Cofactu connects to Holded by API and brings the data by itself. You would only need to export to Excel/CSV if you migrate from a tool without an API or if you prefer not to generate an API key.

Do I lose my invoice history when I switch?

Transferring the whole history or the audit trail is not guaranteed. Keep the originals, check the records that were skipped and review the imported invoices.

Does the VeriFactu chain break when I migrate?

Changing programs requires keeping the source evidence and reviewing the configuration of new issuing. The numbering of a series and the chaining of records are different checks; consecutive numbering alone is not enough to consider everything compliant.

When is the best time to migrate?

Between tax periods: quarter-end or month-end. That way the cut is clean, no invoices are left half-way between the two tools and each quarter's VAT book stays complete in a single place.

Next reading

Continue from here.
Without losing context.

See all guides

More Cofactu guides

Updated 29 September 2026. See all guides · See plans

(Start today)

Invoice with VeriFactu, file with the AEAT and keep your books in the same account. Start free: no card, nothing to install.

Your first invoice

  • Unlimited VeriFactu invoices with QR
  • No card needed
  • Full export of your data