# Co wdrożyliśmy i kiedy

> Datowany dziennik tego, co weszło do Valenys Core, Valenys Accessibility i Valenys Chatbot, pogrupowany po modułach. Wpisy pochodzą z samych repozytoriów, a nie z kalendarza marketingowego.

Source: https://valenys.com/pl/dziennik-wersji/
Updated: 2026-09-08

---
_Datowany dziennik per moduł, wzięty z samych repozytoriów._

Najbardziej użyteczną rzeczą, jaką mniejszy dostawca może pokazać, nie jest lista funkcji — tylko to, że lista wciąż rośnie. Ta strona istnieje po to, żeby mogli to Państwo sprawdzić sami, łącznie z kwartałami, w których zwalnia.

## Jak prowadzimy tę listę

Wpisy pisane są z historii commitów i not wydawniczych, a nie z kalendarza treści. Tam, gdzie data istnieje, jest to data, w której praca wylądowała. Tam, gdzie nie istnieje — wtyczka WordPressa wychodzi jako wersja, nie jako dzień — jej miejsce zajmuje numer wersji, bo data wymyślona, żeby było schludniej, wciąż jest datą wymyśloną.

Lista nie jest wyczerpująca. Poprawki błędów, refaktoryzacje i wewnętrzne narzędzia są pomijane, o ile nie zmieniają czegoś, co dałoby się zauważyć. To, co tu jest, to to, co klient rozpoznałby jako nowe.

## Handel

Sklep internetowy, jego katalog, magazyn i wszystko, co wychodzi za drzwi.

### VAT wewnątrzwspólnotowy: odwrotne obciążenie, OSS i VIES

Transgraniczna sprzedaż B2B stosuje odwrotne obciążenie, progi OSS są śledzone per kraj, a numer VAT sprawdzany jest w VIES przed wystawieniem faktury, a nie po tym, jak zauważy to księgowa.

### Przyjęcie towaru, ze średnią ważoną ceną nabycia

Stan magazynowy niesie teraz koszt, nie tylko liczbę. Raporty marży przestają być szacunkiem w chwili, gdy ten sam produkt przychodzi dwa razy w dwóch cenach.

### Płatność w ratach i wysyłka w ratach

Płatność częściowa i częściowa wysyłka na tym samym zamówieniu, każda z własnym dokumentem, bo w B2B rzadko dzieją się tego samego dnia.

### Dostawa do automatu paczkowego i punktu odbioru

Easybox i punkty odbioru wybierane w koszyku z bieżącej listy przewoźnika, a wybrany punkt jedzie dalej aż na etykietę.

### eMAG Marketplace

Katalog, stany i zamówienia synchronizowane z marketplace’em z tych samych rekordów produktowych, które zasilają sklep — a nie drugi katalog do utrzymywania w zgodzie.

### Karty podarunkowe, pytania o produkt, porównywarka i edycja zamówienia po złożeniu

Cztery rzeczy, o które kupujący pytają bez przerwy, i jedna — edycja po złożeniu — o którą jeszcze częściej proszą zespoły obsługi.

### RODO dla kupujących: kopia danych albo anonimizacja

Żądanie kupującego obsługuje się z panelu sklepu, przez człowieka, który nie potrzebuje programisty i nie musi dotykać bazy danych.

### Kilka magazynów i ceny per grupa klientów

Stan per lokalizacja i ceny grupowe B2B na tym samym katalogu, więc dystrybutor i klient z ulicy widzą inne liczby na tej samej stronie.

### Operatorzy płatności i zwroty przez bramkę

PayU i Twispay, powiadomienia o płatności weryfikowane u operatora i zwroty wykonywane przez bramkę zamiast przelewem i notatką w arkuszu.

### Przewoźnicy: Sameday i Cargus

Etykiety, śledzenie i status z powrotem do zamówienia, z systemów, którymi rumuńskie sklepy naprawdę wysyłają.

### Opinie, listy życzeń i powiadomienia o dostępności

Opinie o produktach z kanałem opinii dla Google plus dwie najmniejsze funkcje, które odzyskują najwięcej porzuconej intencji.

### Pliki produktowe: Google Merchant, Meta, Compari.ro i Price.ro

Cztery kanały generowane z tego samego wiersza produktu, więc zmiany ceny nie trzeba powtarzać w czterech miejscach.

### Strony docelowe generowane z filtrów

Kombinacja filtrów, której ludzie naprawdę szukają, staje się stroną do zaindeksowania, z własnymi regułami, co może być indeksowane, a co nie.

### Import katalogu z CSV i XLSX, przez kolejkę

Z podglądem, zanim cokolwiek zostanie zapisane, i z kolejką, żeby plik na dziesięć tysięcy wierszy nie zależał od otwartej karty przeglądarki.

## Treści i strony

CMS, kreator stron i wszystko, co dociera na stronę publiczną.

### Automatyzacje: kiedy X, zrób Y

Reguły budowane w panelu — gdy strona zostanie opublikowana, gdy przyjdzie formularz, gdy skończy się skan — bez programisty piszącego zadanie do każdej z nich.

### Asystent konwersacyjny w panelu

Działa na tych samych narzędziach MCP, których użyłby agent zewnętrzny, i dlatego nie może zrobić niczego, czego człowiek nie mógłby zrobić przez interfejs.

### Tłumaczenie na skalę

Zaległości per język, to, co się zdezaktualizowało po zmianie źródła, i tłumaczenie zbiorcze — trzy rzeczy, które decydują, czy drugi język przeżyje pierwszy miesiąc.

### Wydania: kilka stron publikowanych naraz

Kampania ląduje jako jeden akt i wycofuje się jako jeden akt, zamiast jedenastu stron opublikowanych w kolejności, na którą nikt się nie umówił.

### Pola i typy bloków definiowane per serwis

Państwa model treści może różnić się od wszystkich innych, nie stając się odgałęzieniem, którego nikt nie zaktualizuje.

### Restrykcyjne CSP z nonce i GraphQL obok REST

Nagłówek bezpieczeństwa, który naprawdę zatrzymuje wstrzyknięte skrypty, i drugie API do odczytu z ograniczonym kosztem zapytania, sprawdzane kontraktowo wobec REST.

### Testy A/B na bloku, z werdyktem

Dwie wersje tej samej sekcji, mierzone na stronie publicznej, i wynik, który mówi, która wygrała, zamiast zostawiać to gustowi.

### Statystyki bez plików cookie, z Web Vitals

Tyle, żeby zobaczyć, co ludzie czytają i jak szybka była dla nich strona, bez ściany zgody przed pomiarem.

### Kopie zapasowe poza serwerem, do dowolnego magazynu zgodnego z S3

Kopia, która żyje na tej samej maszynie co serwis, jest kopią na niewłaściwy rodzaj wypadku.

### Klonowanie serwisu i import z WordPressa

Drugi klient w minuty, a nie od zera; oraz WXR, media i przekierowania przeniesione z WordPressa jednym przebiegiem.

### Edycja wizualna, obok prawdziwej strony

Bloki edytowane obok strony, którą tworzą, a nie w formularzu, który tylko ją przypomina.

### Serwer MCP: CMS jako narzędzie dla agenta

Agent zewnętrzny może pisać szkice, tłumaczyć i przygotowywać treść przez te same strzeżone operacje, które ma człowiek. Publikować nie może.

### Obieg akceptacji, blokada edycji, kosz, przywracanie

Cztery rzeczy, których zespół większy niż dwie osoby potrzebuje przed pierwszym wypadkiem, a nie po nim.

### llms.txt i lustra Markdown każdej strony

Żeby model cytujący Państwa serwis cytował to, co strona mówi, a nie to, co udało mu się wyciągnąć z układu.

## CRM i sprzedaż

Od pierwszego kontaktu do podpisanej umowy.

### Ekran „Dziś" handlowca i rytmy prospectingu

Jeden ekran z tym, co zaległe, co zaplanowane i do kogo nie zadzwoniono — oraz rytmy, które pilnują, żeby dotknięta szansa zawsze miała następny krok, zamiast przypomnienia, którego ktoś nie ustawił.

### Karta szansy: cała historia firmy na jednym ekranie

Telefony, maile, oferty, umowy i notatki w jednym miejscu, żeby nikt nie otwierał czterech kart, by odpowiedzieć na jedno pytanie.

### Cztery stany szansy i lejek, który liczy tylko oferty

Lejek napompowany nadziejami to lejek, któremu nikt nie ufa. Za lejek liczy się tylko to, co ma na sobie ofertę.

### Historia komunikacji: każdy wysłany mail zostaje przy firmie

Łącznie z tym, co faktycznie dostarczono, i z pełną treścią, a nie tylko linijką mówiącą, że coś wysłano.

### Import, wykrywanie duplikatów i pola własne

Dużą bazę prospektów da się wciągnąć bez importowania tej samej firmy trzy razy w trzech pisowniach.

### Przypisanie źródła, przechwytywanie przez API i ROI per klient

Który kanał wyprodukował klienta i ile ten klient był potem wart — dwie połowy tego samego pytania, wreszcie w jednym systemie.

## Fakturowanie i finanse

Dokumenty, płatności i to, co znaczą dla miesiąca.

### Oblio: wystawione dokumenty odbite w wewnętrznej księdze

Tylko do odczytu, celowo: platforma nigdy nie pisze do konta księgowego, więc import nigdy nie może uszkodzić ksiąg, które czyta.

### Płatności zapisane w Oblio aktualizują status faktury tutaj

Pytanie „czy zapłacone?" przestaje mieć dwie odpowiedzi zależnie od tego, na który ekran się patrzy.

### Dzienne zestawienie tego, co staje się wymagalne

Zaplanowane, żeby pierwszą osobą dowiadującą się o przeterminowanej fakturze nie był klient.

### VAT, koszty rzeczywiste i rentowność per klient

Przychód per klient był widoczny zawsze. Koszt per klient był tą połową, która nadawała liczbie znaczenie.

### Alerty wygaśnięcia umów i hostingu, na progach

Na trzydzieści dni, na siedem i w sam dzień — dla dwóch rzeczy, które wygasają po cichu, a zauważa się je głośno.

## Sama platforma

Bezpieczeństwo, języki i części, na których stoi każdy moduł.

### Dziennik audytowy i uprawnienia per zdolność

Kto co zmienił, i model uprawnień, w którym dostęp przyznaje się do możliwości, a nie do nazwy stanowiska.

### Logowanie dwuskładnikowe, API integracyjne i ćwiczone kopie zapasowe

Kopie są weryfikowane i cyklicznie odtwarzane na osobnej bazie, bo większość organizacji odkrywa, że jej kopie się nie odtwarzają, w dniu, w którym są potrzebne.

### Dokumenty zachowują język, w którym zostały wystawione

Oferta wysłana po niemiecku jest po niemiecku także wtedy, gdy drukuje się ją rok później, niezależnie od tego, na jaki język ustawiony jest panel tego dnia.

### Statusy stały się kluczami technicznymi, pokazywanymi w tłumaczeniu

Status zapisany jako przetłumaczone słowo psuje się w chwili, gdy ktoś przełączy język. Zapisany jako klucz — przeżywa.

### Rumuński nomenklator geograficzny, z podpowiadaniem adresów

Okręg, miasto i ulica uzupełniane z prawdziwej listy, żeby adresy przychodziły w kształcie, który akceptują przewoźnicy.

## Valenys Accessibility

Skaner, widżet, portal klienta i dokumenty zgodności.

### Puściliśmy skaner na samych siebie i naprawiliśmy to, co znalazł

Platforma dostępności miała własne problemy z WCAG. Zostały naprawione, a dokumentacja i pulpity stały się w tym samym przebiegu wielojęzyczne — skaner, który sam nie jest dostępny, trudno sprzedać, a jeszcze trudniej obronić.

### Publiczna dokumentacja, porządne 404 i poprawka domeny partnera

Dokumentacja czytelna bez konta i błąd, przez który domena partnera trafiała do niewłaściwego najemcy.

### Punkt wyjścia: silnik audytu, widżet, portal klienta, panel partnera

Sześć etapów dostarczonych razem: skanowanie z axe-core i prawdziwą przeglądarką, widżet dla odwiedzających, portal klienta z raportami i odznaką oraz panel w białej etykiecie dla agencji.

## Valenys Chatbot

Wtyczka WordPressa i serwer licencji za nią. Wersje, nie daty — wtyczka wychodzi jako numer.

### Licencja egzekwowana na zapleczu, nie tylko w interfejsie

Instalacja bez licencji przestaje odpowiadać na poziomie API, a nie tylko na ekranie panelu — łącznie ze ścieżką natychmiastowego powitania, która była jedynym obejściem.

### Indeksowanie bez limitu stron, w każdym planie

Kolejka przetwarza partiami z ponawianiem i wychodzi z zablokowanych rygli, więc duży serwis na skromnym hostingu kończy indeksowanie, zamiast urwać się w połowie.

### 55 języków interfejsu, w tym od prawej do lewej

Interfejs widżetu tłumaczony jest raz na język i potem buforowany, a bot odpowiada w języku wybranym przez odwiedzającego. Arabski, hebrajski, perski i urdu przełączają widżet na kierunek od prawej do lewej.

### WPML i Polylang: widżet podąża za językiem strony

Treść indeksowana jest osobno dla każdego języka, a wyszukiwanie kierowane per język, więc angielska strona nie odpowiada z rumuńskiej treści.

### Głos premium i webhooki dla zebranych leadów

Synteza mowy przez ElevenLabs albo Google Cloud, z awaryjnym rozwiązaniem w przeglądarce; oraz zebrane kontakty wysyłane do Zapiera, Make albo punktu CRM bezpośrednio.

### Licencjonowanie niezwiązane z WordPressem

Każda aktywowana domena zapisuje swoją platformę — WordPress, OpenCart, PrestaShop, Magento, Shopify albo wdrożenie autorskie — więc moduły, które przyjdą później, nie potrzebują drugiego serwera licencji.

### Limity zapytań na punktach publicznych i brak ujawniania błędów

Punkty leadów i opinii mają limit per adres IP, a produkcja przestaje drukować ostrzeżenia PHP w publicznych odpowiedziach.

## Jeśli coś tutaj jest tym, czego Państwo potrzebują, proszę powiedzieć

Połowa tej listy istnieje, bo klient o coś poprosił, a prośba okazała się ogólna.
