Absatzstatistik: Summen aus Bestellpositionen, Kompensationsprodukte ausgewiesen, Extern-Bestellungen nachgefüllt
- Stats\Sales: alle Summenzeilen (Angezeigt/Ausgeblendet/Gesamt/Rabatte/Netto) aus price_net × qty der Positionen statt aus subtotal_full/discount des Bestellkopfs; WooCommerce-Importe (txaction extern) hatten dort NULL und zählten seit 06/2026 mit 0 € (Aug 2026: 449 € statt 3.318 € angezeigt) - Kompensationsprodukte (comp > 0) bleiben in der Menge, neue Spalten „davon Kompensation“ (aktuell + Vorjahr) und Summenzeile 9993 - Gelöschte Produkte bleiben im Umsatz sichtbar (withTrashed, „(gelöscht)“) - WP-Import setzt subtotal_full und discount jetzt wie der Checkout - Migration füllt subtotal_full/discount bestehender Extern-Bestellungen nach - Excel-Export um die beiden Kompensationsspalten erweitert - Test tests/Feature/StatsSalesVolumeTest.php (Konsistenz, Filter, Jahr) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2482d073a1
commit
ef19dc2ced
6 changed files with 433 additions and 255 deletions
|
|
@ -67,8 +67,10 @@
|
|||
<th>{{__('tables.product')}}</th>
|
||||
<th>{{__('tables.article_no')}}</th>
|
||||
<th>{{__('tables.quantity')}}</th>
|
||||
<th>davon Kompensation</th>
|
||||
<th>{{__('tables.total')}} netto €</th>
|
||||
<th>Vorjahr {{__('tables.quantity')}}</th>
|
||||
<th>Vorjahr davon Kompensation</th>
|
||||
<th>Vorjahr {{__('tables.total')}} netto €</th>
|
||||
<th>{{__('Einzelrabatt')}}</th>
|
||||
<th>{{__('Einzelrabatt %')}}</th>
|
||||
|
|
@ -82,7 +84,8 @@
|
|||
</div>
|
||||
<br>
|
||||
<div class="alert alert-info m-2">
|
||||
Bei "Gesamter Umsatz", "Gesamte Rabatte", "Gesamt netto", sind die ausgeschlossenen Produkte einberechnet, da Rabatte auf Warenkorb-Ebene verrechnet werden und nicht auf Produkt-Ebene.
|
||||
Alle Umsätze werden aus den Bestellpositionen (Netto-Einzelpreis × Menge) berechnet: „Angezeigter Umsatz“ + „Ausgeblendeter Umsatz“ = „Gesamter Umsatz“. Bei "Gesamter Umsatz", "Gesamte Rabatte", "Gesamt netto" sind die ausgeschlossenen Produkte einberechnet, da Rabatte auf Warenkorb-Ebene verrechnet werden und nicht auf Produkt-Ebene.<br>
|
||||
Kompensationsprodukte (0 € Umsatz) sind in der Menge enthalten und werden in „davon Kompensation“ separat ausgewiesen.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -113,8 +116,10 @@
|
|||
{ data: 'name', name: 'name', orderable: true, searchable: false },
|
||||
{ data: 'number', name: 'number', orderable: true, searchable: false },
|
||||
{ data: 'qty', name: 'qty', orderable: true, searchable: false },
|
||||
{ data: 'comp_qty', name: 'comp_qty', orderable: true, searchable: false },
|
||||
{ data: 'total', name: 'total', orderable: true, searchable: false },
|
||||
{ data: 'pre_qty', name: 'pre_qty', orderable: true, searchable: false },
|
||||
{ data: 'pre_comp_qty', name: 'pre_comp_qty', orderable: true, searchable: false },
|
||||
{ data: 'pre_total', name: 'pre_total', orderable: true, searchable: false },
|
||||
{ data: 'single_commission', name: 'single_commission', orderable: true, searchable: false },
|
||||
{ data: 'value_commission', name: 'value_commission', orderable: true, searchable: false },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue