Schwieriges Thema...
kivitendo hat von Haus aus keine "Variantenverwaltung". Der einzige Weg auch die Lagermengen von den einzelnen Varianten sauber zu verwalten (was z.B. für die Shopverfügbarkeit wichtig ist) besteht darin, jede Variante als eigenen Artikel (mit eigener Datenbank-ID und eindeutiger Artikelnummer) anzulegen. Der Webshop wird das intern aber anders abspeichern, so daß man die beiden Welten entsprechend übersetzen muß, was aber durch die Shop-API und ein entsprechendes Aufbereiten der Daten aus kivitendo heraus machbar sein sollte.
Ich habe das bei einem Kundenprojekt mal so umgesetzt, das hatte aber einige Änderungen zur Folge, und war auch etwas umfangreicher und entsprechend aufwändig:
eine übergeordnete Kategorie "Artikelvariante", unter der man alle Varianten eines Artikels zusammenfassen kann
ein Varianteneditor, an dem man bestimmte Änderungen an allen Varianten gleichzeitig durchführen kann
* ein Variantengenerator, mit dem man schnell verschiedene Varianten generieren kann (also Grundeigenschaften auswählen und dann daraus die Varianten in rot/gelb/blau anlegen), und auch die Artikelnummern und Beschreibungen nach einem bestimmten Schema angelegt werden
In dem Projekt gab es allerdings fest definierte Artikeleigenschaften, die für ALLE Artikel galten, was es etwas einfacher machte. Wenn man sowohl T-Shirts (mit Farben und Größen wie L, XL, ...) als auch Lutscher (mit Geschmacksrichtungen und Größen wie klein/groß) verkauft, wird es schon etwas komplizierter. Bis zu einem minimalen Grad könnte man sich eventuell noch mit benutzerdefinierten Variablen helfen, aber das würde sehr schnell ausarten.
Hat man für jede Variante einen eigenen Artikel kann man dann aber in kivitendo schön die einzelnen Artikel ein- und auslagern, eigene Preise vergeben, bestimmte Varianten aus dem Programm nehmen (ungültig setzen), eigene Beschreibungen vergeben... Das könnte man prinzipiell alles jetzt schon mit Bordmitteln manuell anlegen (oder per Skript als CSV generieren und importieren) und konfigurieren, aber um effizient damit zu arbeiten bräuchte es schon eine Variantenverwaltung. Das wäre auch ein schönes Projekt für den Standard, je nach Anforderungen an die Varianten kann das aber auch sehr speziell werden.