update
This commit is contained in:
25
.paul/TODO.md
Normal file
25
.paul/TODO.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# TODO — odlozone zadania techniczne
|
||||
|
||||
> Lista nieformalnych zadan do zrobienia pozniej. Kazdy wpis ma wlasny tag (np. `STAT-NET`) zeby mozna go bylo zlinkowac z komentarzy w kodzie.
|
||||
|
||||
## STAT-NET — netto zamowien w statystykach (data: 2026-04-19)
|
||||
|
||||
### Kontekst
|
||||
- Statystyki `/statistics/orders` pokazuja `Netto` per dzien/kanal.
|
||||
- shopPRO nie wysyla kwoty netto ani na poziomie zamowienia (`orders.total_without_tax`), ani produktow (`order_items.original_price_without_tax` — rowniez puste).
|
||||
- Allegro: `orders.total_without_tax` rowniez moze byc puste.
|
||||
- Obecnie dziala fallback: netto = `ROUND(total_with_tax / 1.23, 2)` gdy kolumna netto jest pusta/zerowa. Zaklada 23% VAT dla wszystkich.
|
||||
|
||||
### Zadania
|
||||
1. **Ustalic zrodlo prawdy dla netto**:
|
||||
- Sprawdzic, czy API shopPRO udostepnia `price_netto` lub `total_netto` (payload zawiera tylko `price_brutto` + `vat`).
|
||||
- Jesli TAK → rozszerzyc mapping importu (`src/Modules/ShopPro/...`) i backfill migracja dla historycznych rekordow.
|
||||
- Jesli NIE → liczyc netto deterministycznie z `order_items.original_price_with_tax` i `order_items.tax_rate` (wtedy nie zakladamy sztywno 23%).
|
||||
2. **Backfill historycznych zamowien** po wdrozeniu zrodla netto (migracja SQL + idempotentny skrypt).
|
||||
3. **Zastapic fallback /1.23** w `OrdersStatisticsRepository::netAmountSql()`:
|
||||
- Preferuj `orders.total_without_tax`.
|
||||
- Jesli brak — `SUM(order_items.original_price_with_tax / (1 + order_items.tax_rate / 100) * order_items.quantity)`.
|
||||
- Stala 1.23 tylko jako ostateczny fallback przy braku item-levelu.
|
||||
|
||||
### Linki w kodzie
|
||||
- `src/Modules/Statistics/OrdersStatisticsRepository.php` — metoda `netAmountSql()` (komentarz `TODO(STAT-NET)`).
|
||||
Reference in New Issue
Block a user