# TECH_CHANGELOG > Chronologiczny log zmian technicznych — co i dlaczego. ## 2026-04-19 - Statystyki zamowien (menu + raport dzienny) - Dodano nowy modul `Statistics`: - `OrdersStatisticsController` (obsluga filtrow i render strony `/statistics/orders`). - `OrdersStatisticsRepository` (agregacje dzienne po kanalach i grupach statusow). - Dodano nowa pozycje menu: `Statystyki -> Zamowienia`. - Dodano widok raportowy z filtrem zakresu dat, multiselectem kanalow i multiselectem grup statusow. - Dodano tabele dzienna z metrykami `Ilosc`, `Netto`, `Brutto` per kanal oraz stopka `Razem`. - Dodano tlumaczenia `statistics.orders.*` i `navigation.statistics*`. - Brak zmian migracyjnych i brak zmian schematu bazy danych. ## 2026-04-19 - Fix: Statystyki nie pokazywaly zamowien (kolizja collation) - `OrdersStatisticsRepository::channelSql()` generowal wyrazenie `CONCAT("shoppro:", CAST(integration_id AS CHAR))`, ktore w MySQL dawalo wynik z collation `utf8mb4_bin`. W zestawieniu z parametrami bindowanymi (`utf8mb4_general_ci`) MySQL rzucal `SQLSTATE[HY000] 1271 Illegal mix of collations for operation 'in'`. - Blad byl polykany przez `try/catch (Throwable)` w `aggregateByDay()`, przez co widok dostawal pusta tablice i nie pokazywal zadnych zamowien. - Fix: dodano jawne `COLLATE utf8mb4_unicode_ci` na `CAST(integration_id AS CHAR)` oraz na calym wyrazeniu `CASE` zwracajacym `channel_key`, tak aby klucz kanalu mial spojne collation zgodne z `orders.source`. ## 2026-04-19 - Statystyki: fallback netto 23% VAT - `OrdersStatisticsRepository::netAmountSql()` dostal fallback: jesli `orders.total_without_tax` jest `NULL` lub `0`, a `orders.total_with_tax` ma wartosc, netto wyliczane jest jako `ROUND(total_with_tax / 1.23, 2)`. - Uzasadnienie: shopPRO nie wysyla netto ani na zamowieniu ani w pozycjach (`order_items.original_price_without_tax` jest puste), wiec bez fallbacku kolumna `Netto` w statystykach pokazywala 0. - Uwaga: fallback zaklada 23% VAT. Ostateczne rozwiazanie (prawidlowy netto z shopPRO / z `order_items.tax_rate`) opisane w `.paul/TODO.md` (tag `STAT-NET`).