Artikel im Katalog
{{ $nf0($kennzahlen['gesamt']) }}
Stand {{ $kennzahlen['stand'] ? \Carbon\Carbon::parse($kennzahlen['stand'])->format('d.m.Y H:i') : '–' }}
bei uns bekannt
{{ $nf0($kennzahlen['bekannt']) }}
{{ $nf0($kennzahlen['per_ean']) }} über EAN · {{ $nf0($kennzahlen['per_nr']) }} über Lief.-Nr. @if($kennzahlen['manuell'] > 0) · {{ $nf0($kennzahlen['manuell']) }} von Hand @endif
fehlt noch in der Wawi
{{ $nf0($kennzahlen['offen']) }}
wird beim nächsten Lauf angelegt @if($kennzahlen['abgelehnt'] > 0) · {{ $nf0($kennzahlen['abgelehnt']) }} ausgenommen @endif
Felder zum Anreichern
{{ $nf0($potenzial['werte']) }}
@if($potenzial['ok']) in {{ $nf0($potenzial['artikel']) }} Artikeln, die wir führen @else {{ $potenzial['message'] }} @endif
Was der Katalog füllen kann
In der Anreicherungsdatei steht ausschließlich, was bei uns leer ist. Gepflegte Felder kommen nicht vor – der Import kann also nichts überschreiben. Preise sind bewusst nicht dabei: der Wert aus dem Portal ist der Listenpreis, nicht unser EK.
Schreibrecht fehlt noch
{{ $ohneRecht->pluck('name')->implode(' und ') }} {{ $ohneRecht->count() > 1 ? 'erlauben' : 'erlaubt' }} der Suite bisher nur Lesen. Zum Anlegen und Ergänzen fehlt das Recht items.write.
Dafür muss die App in JTL-Wawi neu registriert und dort genehmigt werden (Admin → JTL-Verbindung). Bis dahin rechnen Vorschau und Exporte normal – geschrieben wird nichts.
Erteilt: @foreach($ohneRecht as $r){{ implode(', ', $r['scopes']) ?: 'keine' }}@if(!$loop->last) · @endif @endforeach
In die Warenwirtschaft schreiben
Die Knöpfe hier daneben sind nur für den Fall, dass es sofort passieren soll.
Angelegt und ergänzt wird über die JTL-REST-API (POST /items, PATCH /items/{id}, POST /items/{id}/suppliers) – nicht mehr über die Ameise. Der Artikel bekommt dabei ExTrade als Lieferant mit dessen Artikelnummer; ein EK-Preis wird bewusst nicht gesetzt, solange wir keine echten Einkaufspreise geliefert bekommen. Die Artikelnummer folgt der neuen Systematik (WG–Hersteller–Produkt–Nikotin–Inhalt–Prüfziffer). Ein zweiter Lauf legt nichts doppelt an.
Lauf „{{ $lauf['was'] }}“ läuft seit {{ $lauf['start'] }} ({{ $ziele[$lauf['ziel']]['name'] ?? $lauf['ziel'] }}). Seite später neu laden.
@elseLetzter Lauf: {{ $lauf['was'] }} in {{ $ziele[$lauf['ziel']]['name'] ?? $lauf['ziel'] }}, beendet {{ $lauf['ende'] ?? '–' }} – {{ $lauf['ergebnis'] ?? '' }}
@if($lauf['meldungen'] ?? [])Was die API nicht kann: Hersteller und Warengruppen nur lesen – was in JTL fehlt, muss dort angelegt werden (die Vorschau listet es auf). Und Inhalt/Maßeinheit (z. B. 10 ml) steht im REST-Vertrag überhaupt nicht; dieses Feld bleibt beim CSV-Weg oder der Pflege in der Wawi.
Kontroll-Exporte (dieselben Daten als CSV, ohne zu schreiben): Anlage · Anreicherung
| Artikel | Hersteller | Kategorie | Inhalt | Nikotin | Bestand | Listenpreis | bei uns |
|---|---|---|---|---|---|---|---|
|
{{ $a->name }} {{ $a->source_number }} @if($a->ean) · EAN {{ $a->ean }} @endif @if($a->eol) · Auslauf @endif @if($a->coming_soon) · in Kürze @endif |
{{ $a->manufacturer ?: '–' }} | {{ $a->category ?: '–' }} | {{ $a->volume_ml ? rtrim(rtrim(number_format($a->volume_ml, 2, ',', ''), '0'), ',') . ' ml' : '–' }} | {{ $a->nicotine_mg !== null ? rtrim(rtrim(number_format($a->nicotine_mg, 2, ',', ''), '0'), ',') . ' mg' : '–' }} | {{ $nf0($a->stock) }} | {{ $a->price_net_list !== null ? number_format($a->price_net_list, 2, ',', '.') . ' €' : '–' }} |
@if($a->sku)
{{ ['ean' => 'über EAN', 'liefnr' => 'über Lief.-Nr.', 'manuell' => 'von Hand', 'angelegt' => 'von uns angelegt'][$a->matched_by] ?? $a->matched_by }} @else {{-- Noch nicht in der Wawi: der nächste Lauf legt ihn an. --}} wird angelegt @if($a->decision === 'ablehnen') · ausgenommen @endif @endif |
| Keine Artikel zu diesen Filtern. @if($kennzahlen['gesamt'] === 0) Der Katalog ist noch leer – „Katalog aktualisieren“ holt ihn beim Lieferanten. @endif | |||||||