Operations and control
Jersey configurator: buy it, build it, or hand it over
Jersey configurator build vs buy vs hand it over: three offers, one with a price, and who decides about the squad and borderline names after that.
Diesen Artikel auf Deutsch lesenThree offers for the same job sit on Martin's desk. Exactly one of them names a price: €65 a month, cancelable monthly.
The first is a product page in a plugin store. The second is an agency that books a call but publishes no day rate. The third is a full-service provider that would take the shop, decoration, returns and customer service along with the input screen, and it publishes no price either.
Martin runs merchandising at a club and has to pick one. Only Martin is made up here. His three offers are public, as described.
"Build or buy" is the usual question. It leaves out the third route, which has run at German professional clubs for years and is documented in public.
Price decides day one. Every year after that is decided by who may change something. Martin starts with the easiest question: which offer names a price at all?
Buying is the only route with a price tag
The base layer sits in the shop system itself. Shopware says its "Custom Products" extension gets no successor, because Shopware 6 already includes the functionality, and a support note places it in the Professional Edition. Which edition a club runs therefore decides the first line of the invoice.
Above it sit packaged configurators for Shopware and for Shopify. Martin puts them in a table: five rows, one missing price.
| Offer | Price | What the page describes |
|---|---|---|
| Shopware "Custom Products" | €30 a month | personalized product configuration |
| neonlines configurator | €65 a month | text fields, number fields, real-time pricing |
| Neon One jersey configurator | no price published | live preview, dynamic surcharges |
| FlocApp Pro, Shopify | $89 a month | "moderate custom designs (restricted words, character limits)" |
| FlocApp Expert, Shopify | $139 a month | adds the point-of-sale app |
All five rows read that way on the vendors' own pages. The models underneath, from flat fee to revenue share, are compared in what personalization software costs.
The second offer lacks even that first number.
Agency builds start without a reference price
No agency here publishes a day rate. One publishes its own experience values. Read the spread, not the single figure:
- €110 to €180 net an hour for professional agencies
- €15,000 to €35,000 for a small project
- €35,000 to €90,000 for a mid-market one
- €500 to over €5,000 a month to keep it running
The Münster agency onacy dates those ranges to June 2026. Its Shopware cost estimate calls them experience values from real agency projects, and does not say how they were gathered. Martin negotiates without a reference price, and so does the agency across the table.
Who changes things after go-live is equally open. The agency Neon One built the shop of handball club Rhein-Neckar Löwen. For the time after launch it writes it can deliver "notwendige Anpassungen schnell umsetzen", necessary changes quickly.
The agency tante-e states its outcome at 1. FC Union Berlin as "0% Agenturabhängigkeit bei Pflege des Shops & Konfigurators", zero agency dependency in running the shop and the configurator. The figure comes from the agency's own case study and is not independently confirmed.
Martin notes a question for the call: who triggers the changes, and who pays for them? Both belong in the contract.
That leaves the third offer. What does a club actually hand over?
Handing over means picking from a list
004 GmbH calls itself a "Full-Service Dienstleister": shop, logistics, customer service, financial accounting. In professional sport this is no fringe option. Nine clubs sit on its reference page with a year:
- 1. FC Köln (2003), Fortuna Düsseldorf (2019), Hamburger SV (2021)
- SC Freiburg, SV Darmstadt 98, Bayer 04 Leverkusen (all 2024)
- 1. FC Kaiserslautern (June 2025), FC Augsburg, VfL Gummersbach (2026)
All nine carry decoration and personalization inside the fulfillment block. Five of the nine also take the provider's e-commerce platform with shop management and customer care, four of those the financial accounting, Freiburg not.
The service lines are separable. Handing over is a list a club picks from, not a switch.
At the far end of the same axis the shop costs nothing. Fan12 builds club shops "absolut kostenlos", at no cost at all, and runs design, production, storage and shipping. The club gets a share of revenue rather than the margin, with no percentage beside it. Different segment, same axis: cost down, share of revenue down, control down.
In Switzerland, Yverdon Sport's fan shop runs in an eShop on yverdonsport.onisswiss.ch rather than on the club's own domain. None of these providers publishes a price.
Martin now has three columns. Before he decides, he runs one counter-check.
All three describe the field, none the decision
He takes a borderline case: a word in the name field that the club does not want on its shirt but cannot clearly refuse either. Then he looks for the place in each offer where somebody decides.
The squad, the surcharges, the flock stock and the return stay in house with a bought plugin and with an agency build. With an outsourced operation the shop, the decoration, the returns and the customer service go out. The decision on whether a custom name goes through travels with none of them, and no product page we read describes it.
Neither the squad nor that decision needs a new shop. Both need a fourth column where they stay put. The day a player leaves shows what that looks like.
The fourth column fixes what was ordered
On September 1 a player transfers. A name has to come off the catalog, a number frees up, and orders in flight still carry the old name. With a bought plugin the change sits in the club's own admin. With a bespoke build it sits wherever the contract put it. With an outsourced operation the contract decides how fast Martin's club gets its turn that day.
This is where kit.ink works, next to the shop and not in its place. Club staff set up seasons, jerseys, colorways, size runs, prints, guide lines and squad lists themselves, in German, English and French. So on September 1 the change sits in the club's own admin, on the day it is needed. The 3D jersey and the connection to the shop are set up together with kit.ink.
And the orders already in flight? When a supporter adds the shirt to the cart, kit.ink fixes the exact jersey edition: every print, the size, and the images and fonts it uses. It also records whether name and number match a person in the squad, and whether the supporter picked them or typed them. A later catalog change leaves that order untouched.
A production system sees a personalization only once its state allows it, and every attempt is recorded, the allowed one and the refused one. The print documents are produced at release and kept unchanged.
If a customer complains four weeks later, one timeline per personalization shows who entered, decided or fetched what, and when, refused attempts included. That timeline is for the club's own staff and for kit.ink, and it never holds the name that was on the shirt. What such a dispute costs is in the article on a misprint.
That leaves the borderline case from Martin's counter-check.
The borderline case waits for a person
For the uncertain word in the name field, a hard block list knows two exits: through, or rejected. Who decides that case in an outsourced operation is named in none of the offers.
Handing over the operation does not hand over the responsibility. The media and the public still ask the club, which means Martin. Three questions therefore belong in the contract: who decides, by which rule, and where the decision can be read back.
With kit.ink, a shirt with nothing remarkable on it goes through without a person, and that is the normal path. The uncertain name or number is held instead of being refused outright. A held case waits until a person decides. When time runs out, nothing is released automatically, and while it is held no production system sees it. What a shop exported beforehand sits outside that block. A club can also agree that a person always decides for it.
Whoever decides sees the value, the rule that fired, its severity and how long the case has waited, and has to state the reason from a fixed list. The case is not a ticket. It is a record with a name and a timestamp.
The decision then stays, for that club. If the same text comes back, it is put up again at once, with the date and reason of the earlier refusal. An earlier approval never releases anything by itself, and the wording of the old case appears nowhere.
This check has limits too. It reads text: names, numbers, free entries. Printed shapes and images are left out. kit.ink sets which rules apply, and a new rule first runs quietly and shows what it would have flagged. The word lists cover eighteen languages, German and English the deepest. Even so, only what somebody put on a list is ever found. Spot checks therefore also send clean shirts to a person, who never sees what the check thought.
Martin goes back to his desk, now with a fourth column.
Day one is price, year two is control
The three offers still sit there, one with a price and two without. All three describe the same input field, and none the case that is neither clearly fine nor clearly refusable.
On day one the three routes differ on price. From the second year they differ on who may change the squad, who decides the borderline case, and where that decision can be read back. Judge them there, not on the feature list. Who runs which shop today is mapped in the operator overview, and a fuller set of questions sits in the vendor checklist.
Martin keeps the €65 offer on his desk. He just puts one question beside it, and next to that question, buying, building or handing the whole operation over is the smaller decision.
kit.ink replaces no shop. Checkout, payment, refunds, customer communication and the print partner stay where they are. The parts kit.ink owns are the design of the jersey, the checks, the full history and the print documents, nothing else. No supporter is ever billed by kit.ink, and no money passes through it.
Anyone who wants an outside look at their own line-up, whichever of the three columns applies today, can find a short, no-pressure conversation here.
All cited pages were accessed on August 6, 2026, the tante-e and 004 GmbH pages on September 22, 2026.