@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif

Bestellung bei Niko Liquids

Der Ablauf entspricht der Riccardo-Bestellung, mit einem Unterschied: Niko hat keine Schnittstelle. Statt eines Auftrags im fremden System entstehen zwei Dateien – die Bestellung an Niko und die Lieferantenbestellung für die Offline-Wawi, damit die Filiale den Zulauf kennt und der nächste Rechenlauf dieselbe Ware nicht ein zweites Mal bestellt. Beides erledigt der Knopf unten in einem Schritt.

@if(! $vorschau['ok'])

Es wird nichts gesendet

{{ $vorschau['message'] }}

{{-- Fehlende Lieferantennummern sind der haeufigste Abbruchgrund bei Niko. Sie hier zu nennen erspart die Suche im Artikelstamm. --}} @if(!empty($vorschau['fehlende_nummern']))
@foreach($vorschau['fehlende_nummern'] as $p) @endforeach
Artikelnummer Artikel Menge
{{ $p['SKU'] }} {{ $p['Name'] }} {{ (int) $p['Quantity'] }}

Die Lieferantenartikelnummer wird in der Wawi am Artikel beim Lieferanten Niko gepflegt. Sie kann nicht durch unsere eigene Nummer ersetzt werden – unter der kann Niko nicht zuordnen.

@endif
@else {{-- Anschrift zuoberst: mehrere Filialen laufen unter derselben Gesellschaft, allein die Anschrift entscheidet, wo die Ware ankommt. --}}

Lieferanschrift – bitte prüfen

@php $a = $vorschau['anschrift']; @endphp {{ $a['Company'] }}
@if(!empty($a['Company2'])){{ $a['Company2'] }}
@endif {{ $a['Street'] }}
@if(!empty($a['Address2'])){{ $a['Address2'] }}
@endif {{ $a['PostalCode'] }} {{ $a['City'] }} ({{ $a['CountryIso'] }})

Frisch aus der Online-Wawi gelesen (Anschrift {{ $branch->riccardo_delivery_address_id }}). Das ist die physische Adresse der Filiale und gilt unabhängig davon, wer liefert. Stimmt sie nicht, wird sie in JTL geändert – die Suite hält keine eigene Kopie. Kundennummer bei Niko: {{ $branch->niko_customer_number }}.

Positionen

{{ $vorschau['message'] }} · Beleg {{ $vorschau['referenz'] }}

@include('partials.positionsliste', [ 'gruppen' => $gruppen, 'menge' => fn ($z) => (float) $z->order_quantity, 'spalten' => [ ['kopf' => 'Artikel', 'typ' => 'text', 'klasse' => 'text-left', 'wert' => fn ($z) => '

' . e($z->article_name) . '

' . '

' . e($z->supplier_sku) . '' . ' · ' . e($z->article_sku) . '

'], ['kopf' => 'Bestand', 'typ' => 'zahl', 'wert' => fn ($z) => '' . number_format((float) $z->current_stock, 0, ',', '.') . ''], ['kopf' => 'Menge', 'typ' => 'zahl', 'wert' => fn ($z) => '' . number_format((float) $z->order_quantity, 0, ',', '.') . ''], ], ])

Bestellen

@csrf
Bestelldatei herunterladen Ameise-CSV herunterladen
@csrf
Intern – CSV Zurück

Beim Auslösen wird die Bestelldatei nach {{ trim(\App\Services\Niko\NikoOrderService::ordner(\App\Services\Niko\NikoOrderService::ABLAGE_ORDNER), '/') }} gelegt und die Ameise-CSV in den Ordner, den der Wawi-Server alle fünf Minuten leert. Die Trennung ist nötig: der Abholer dort importiert jede CSV als Lieferantenbestellung und würde sonst die Bestellung an Niko als Zulauf verbuchen. Erst danach gelten die Vorschläge als bestellt. Pro Filiale und Tag geht das nur einmal.

Die Bestellung geht nicht per Mail: Nikos Wawi-Server holt sie alle fünf Minuten von der Storage Box und legt sie dort als Auftrag an. Eine Bestätigung im Moment des Bestellens gibt es deshalb nicht – ob der Import geklappt hat, meldet Nikos Server anschließend in den Statusordner.

@endif @if($nichtLieferbar->isNotEmpty())

Nicht bestellbar

{{ $nichtLieferbar->count() }} Positionen · {{ (int) $nichtLieferbar->sum('bedarf') }} Stück Bedarf

Diese Artikel hat der Rechenlauf gebraucht, sie gehen aber nicht in die Bestellung. Häufigster Grund bei Niko ist eine fehlende Lieferantenartikelnummer oder ein fehlender Einkaufspreis – beides wird am Artikel in der Wawi gepflegt. Der Bedarf ist nicht verloren: der nächste Lauf rechnet ihn aus dem dann niedrigeren Bestand erneut.

@foreach($nichtLieferbar as $n) @endforeach
Artikelnummer Artikel Bestand Meldebestand Bedarf Grund
{{ $n['sku'] }} {{ $n['name'] }} {{ (int) $n['bestand'] }} {{ (int) $n['meldebestand'] }} {{ (int) $n['bedarf'] }} {{ $n['grund'] }}
@endif