FrancodesystemsFran<code>systems
PaymentsCustom integration

Holded Square integration

Square POS (in person and online) integrated with Holded for shops and omnichannel retail.

HoldedHolded
Square

Implementation time · 5-9 días laborables

Diagnosis

The problem

Square has quickly gained traction in Spain as a modern POS alternative to traditional Verifone/Ingenico. Its hardware is good, its software very easy, and it opens the door to omnichannel retail effortlessly. But its output to Holded is nonexistent natively: payments from the physical Reader, from Online and from Invoices live in the Square dashboard with no automatic reflection in your Spanish accounting. For a shop with 200 to 500 mixed in-person and online payments a month it is 5 to 8 hours of manual reconciliation a week and a real fiscal risk if the volume grows.

Proposal

The solution

Payments from the Square Reader physical POS, the Square Terminal, Square Online, and Square Invoices, all reflected in Holded with the correct invoice, VAT and series. It supports the Square catalog (Items and Variations) synced with Holded products, unified stock by SKU, and Square Loyalty / Gift Cards. For omnichannel retailers (physical store plus online) that bet on Square as their POS, this integration closes the Spanish fiscal loop.

Scope

What we automate

  • Square Reader / Terminal (physical POS) to a Holded invoice per payment
  • Square Online (Square ecommerce) to an invoice with customer and product
  • Square Invoices to a mirror Holded invoice when it is paid
  • Square catalog (Items + Variations) synced with Holded products by SKU
  • Unified stock between Square and Holded
  • Square refunds (POS and online) to Holded credit notes
  • Square fees to a categorized expense entry
  • Multi-location: each physical store with its own series in Holded
Who uses it

Real use cases

These are the profiles that most ask us for the HoldedSquare integration and what they get in the end.

Case 01

Retail store with Square POS plus Square Online

Before: In person plus online with no shared reconciliation. Inventory out of sync between channels.

After: Unified inventory, every payment generates a Holded invoice in seconds.

Case 02

Restaurant with Square POS

Before: Cash close-outs reconciled manually against Holded.

After: Square cash close-out to an automatic Holded accounting entry with a VAT breakdown.

Case 03

Professional services with Square Invoices

Before: Square invoices paid but with no reflection in Holded for fiscal purposes.

After: Square invoice paid to a mirror Holded invoice with Verifactu compliance.

Before / After

What changes exactly

Without the integration

  • Square payments with no automatic reflection in Holded
  • Square vs Holded inventory out of sync
  • Manual cash close-out reconciliation
  • Fiscal risk as volume grows

With the integration

  • Payments into Holded in near real time
  • Inventory synced bidirectionally
  • Automated cash close-out
  • Verifactu fiscal compliance guaranteed
Architecture

How we build it

Square API v2 plus webhooks (payment.created, payment.updated, order.created, refund.created, inventory.count.updated). A persisted, idempotent queue keyed on the Square event.id. For physical POS, we use the orders/payments webhooks from the device. For Online, the checkout ones. For Invoices, the invoice-specific ones. The Spanish fiscal matrix is applied based on the payment location and the customer type.

flow.ts
webhook square.event
queue.enqueue(jobId)
worker.handle() // idempotent
holded.api.call() // retries with backoff
log.emit({ status: 'ok' })
FAQ

Frequently asked questions

Square Reader, Terminal or Stand?

Any Square hardware. The integration works at the Square Business account level, not at the specific hardware level. Reader, Terminal, Stand, all payments go to the same account and from there into Holded.

Multi-location (several physical stores)?

Yes. Each Square location mapped to its own Holded invoicing series with separate reporting.

What about Square Loyalty / Gift Cards?

Supported. Loyalty redemptions are reflected as a discount on the invoice. Gift cards sold as an accounting liability that is released when redeemed.

Is Square Online the same as Square Ecommerce?

Yes, Square Online is the native ecommerce. We support it with its own catalog synced to Holded.

Is it Verifactu compliant?

Invoices are issued from Holded, so Verifactu compliance is maintained. Square is the payment collector; Holded is the fiscal issuer. That separation makes compliance easier.

How long does it take?

Between 5 and 9 business days. Multi-location with many series can go up to 10 to 12.

Shall we talk about your Square integration?

A 30-minute call, no strings. You leave with scope and a price.