Sector: Specialist ecommerce (airsoft and tactical gear) · Client: Skirmshop Spain · Status: Delivered

Skirmshop Spain: running an entire Shopify store on in-house systems

Our reference ecommerce business: SII tax reporting, translation into 20 languages, two carriers, the warehouse and affiliates, all handled by Shopify apps we built.

Challenge
Selling across several EU countries under Spanish tax rules, with a catalogue in many languages, two carriers and a Picqer-run warehouse, without piling on tools or admin hours.
Solution
A family of standalone Shopify apps, deployed through GitOps on our Kubernetes platform and wired together with events: invoicing and SII, translations, shipping labels, warehouse, stock alerts, serial numbers and affiliates.

View solution: Ecommerce and store operations

Skirmshop Spain is the online store for airsoft and tactical gear that Daniel Ibáñez founded in 2020. It belongs to the founder and, for us, it is more than a client: it is the reference business where every system we offer is proven first, against real orders, real taxes and real carriers.

The challenge

A specialist store selling across the European Union piles up admin fast. Every cross-border sale has its own VAT treatment; intra-EU sales to businesses require a VIES number check; invoices have to reach the Spanish Tax Agency’s SII on time, and every return means a credit note. On top of that there’s a catalogue to keep in many languages, two carriers with separate dashboards and a warehouse that has to hear about every order —and every cancellation— without anyone stepping in.

The first move was migrating the catalogue from Lightspeed to Shopify and opening a B2B channel with Shopify Functions. The second was refusing to solve everything else with a dozen third-party apps.

The solution

We built a family of in-house Shopify apps, each with one clear job:

  • SII tax reporting. Generates the invoice from the order, submits it to the SII, issues credit notes, processes refunds, validates VIES numbers for EU business customers and produces a monthly tax summary by category and country.
  • Translations. Whenever a product, collection or theme template is created or edited, it is translated into the store’s 20 published languages using the industry glossary. URLs, identifiers and technical settings are protected so a translation can never break the store.
  • Shipping. A shipping app orchestrates UPS and Correos Express using sagas: every step of producing a label can be retried and is logged.
  • Warehouse. Orders flow into Picqer; if an order is cancelled in Shopify, its picklist is cancelled in the warehouse. Every night an audit reviews the paid physical orders from the past two weeks and flags any that haven’t arrived.
  • Customers and partners. Back-in-stock alerts and pre-orders, a serial-number register for the replicas sold, and an OpenAPI-documented affiliate API with its own portal and a tracked-link redirector.

They all share a common deployment base and ship through GitOps to our Kubernetes cluster: each app has its own lifecycle, database and public route, and a failure in one doesn’t touch the others.

The outcome

The store runs on these systems in production today. Work that used to mean checking invoices, copying translations or producing labels by hand now happens on its own and leaves a trail, and errors are caught by audits before a customer ever notices. What we learn here is what we bring to our clients’ ecommerce projects.

Let's talk →Back