Przejdź do treści
Arkusze

Eksport z FK do raportu zarządczego: które z siedmiu kroków arkusz zrobi sam?

Raport zarządczy powstaje z eksportu z FK w siedmiu krokach. Cztery z nich arkusz policzy sam: mapowanie kolumn, słownik kont, dociągnięcie danych i wskaźniki.

MZMarta Zielińskacontroller10 min czytania
40%ARKUSZE

Eksport z systemu finansowo-księgowego przychodzi piątego dnia miesiąca i ma kolumny w innej kolejności niż poprzednio, bo ktoś w międzyczasie założył nowe konto analityczne. Zanim z tego pliku powstanie raport zarządczy na jedną kartkę, ktoś spędza pół dnia na przeklejaniu, dopasowywaniu nazw i szukaniu, dlaczego koszty nie sumują się do tej samej liczby co w systemie. Raport nie spóźnia się przez księgowość. Spóźnia się przez formę, w jakiej dane z niej wychodzą.

Pytanie, które rozstrzyga, ile z tej pracy da się odzyskać, brzmi: ile kroków dzieli eksport od gotowego raportu i które z nich w ogóle wymagają człowieka. W firmie usługowej na 10-100 osób tych kroków jest zwykle siedem. Arkusz zrobi za Was cztery.

Ile dni po zamknięciu miesiąca powstaje raport i co to mówi o procesie?

Punkt odniesienia jest szerzej dostępny, niż się wydaje. Benchmark APQC opisany przez CFO.com podaje, że mediana czasu zamknięcia miesiąca wynosi 6,4 dnia kalendarzowego, górne 25 proc. organizacji zamyka w 4,8 dnia lub szybciej, a dolne 25 proc. potrzebuje 10 dni i więcej; odpowiedzi udzieliło około 2300 organizacji. Dwie rzeczy trzeba przy tej liczbie powiedzieć wprost: pomiar pochodzi z badania opublikowanego w 2018 roku i dotyczy zamknięcia ksiąg, czyli drogi od próbnego bilansu do sprawozdania — nie raportu zarządczego, który powstaje po nim.

Dlatego ta liczba nie jest celem do pobicia, tylko ramą. Jeśli księgi zamykają się w okolicach mediany, a raport zarządczy trafia do właściciela w trzecim tygodniu, to opóźnienie siedzi między jednym a drugim — czyli dokładnie w arkuszu. To jest miejsce, które da się zmierzyć u siebie w jeden miesiąc: zanotujcie datę, kiedy eksport był gotowy, i datę, kiedy raport poszedł dalej. Różnica jest kosztem przenoszenia danych.

Które z siedmiu kroków arkusz policzy sam?

Rozbicie na kroki ma sens tylko wtedy, gdy przy każdym pada pytanie, co konkretnie psuje się przy zmianie po stronie źródła. Bez tej kolumny lista jest życzeniem, a nie planem.

Krok Co arkusz zrobi sam Co zostaje człowiekowi Co to psuje
1. Pobranie eksportu z FK i z rejestru sprzedaży nic, dopóki system nie wystawia danych przez API albo harmonogram wyklikanie eksportu i zapis pod stałą nazwą w stałym miejscu inna nazwa pliku, inny zakres dat, eksport za część miesiąca
2. Sprowadzenie eksportu do stałego układu kolumn całość, jeśli kolumny są rozpoznawane po nagłówku nic zmieniona nazwa nagłówka, doklejony wiersz tytułowy nad tabelą
3. Przypisanie kont do kategorii zarządczych całość dla kont, które są w słowniku decyzja, gdzie trafiają konta nowe i nieprzypisane konto analityczne założone w trakcie miesiąca
4. Dociągnięcie danych spoza księgowości: karty czasu, rejestr projektów, plan całość, jeśli te źródła mają stały układ dopilnowanie, by karty czasu były domknięte przed odcięciem karty uzupełniane po terminie, dwie różne definicje „projektu” w dwóch systemach
5. Rezerwy, produkcja w toku, podział kosztów wspólnych wykona przyjęty klucz, ale go nie wybierze decyzja o kluczu i sprawdzenie, czy się nie zmienił zmiana klucza bez zapisu — miesiące przestają być porównywalne
6. Przeliczenie wskaźników: marża na projekcie, obłożenie, luka gotówkowa całość nic nic, o ile kroki 2-5 są czyste
7. Komentarz i decyzje na następny miesiąc nic całość to jedyny krok, dla którego ktokolwiek ten raport otwiera

Kroki 2, 3, 4 i 6 są policzalne bez człowieka. Krok 1 zostaje ręczny w większości polskich systemów księgowych używanych w tej skali. Kroki 5 i 7 są decyzją i nie powinny być automatyzowane, nawet gdy technicznie się da — wrócimy do tego niżej.

Dlaczego arkusz psuje się przy zmianie nazwy jednej kolumny?

Najczęstsza przyczyna jest banalna: formuły odwołują się do pozycji kolumny, a nie do jej nazwy. SUMA(D:D) działa dopóty, dopóki koszt siedzi w kolumnie D. Eksport, w którym dopisano jedną kolumnę przed nią, cicho przesuwa wszystko o jedno pole i raport dalej się liczy — tylko z niewłaściwych danych. Ten błąd nie daje komunikatu, więc wychodzi dopiero wtedy, gdy ktoś zapyta o liczbę.

Lekarstwo jest jedno i sprowadza się do rozdzielenia arkusza na trzy warstwy, które nigdy się nie mieszają:

  • Warstwa surowa — jedna zakładka na jeden eksport, wklejany bez żadnych poprawek. Nie liczymy w niej niczego, nie sortujemy, nie kasujemy pustych wierszy. Jeśli coś w eksporcie jest błędne, poprawia się to w systemie źródłowym albo w warstwie słownika, nigdy tutaj.
  • Warstwa słowników — tabele przekładu: konto na kategorię zarządczą, projekt na klienta, pracownik na stawkę i zespół. Każdy wiersz ma datę, od której obowiązuje, bo klucze zmieniają się w trakcie roku i bez tej daty stare miesiące przeliczą się po nowemu.
  • Warstwa wynikowa — formuły, tabele przestawne, raport. Zasada twarda: jeżeli w tej warstwie pojawia się liczba wpisana z ręki, miesiąc przestaje być odtwarzalny i za pół roku nikt nie ustali, skąd się wzięła.

Między warstwą surową a słownikami stoi mapowanie po nagłówku. W arkuszu robi to PODAJ.POZYCJĘ szukające nazwy kolumny w wierszu nagłówków i INDEKS pobierające wartość z tak znalezionej kolumny; w Arkuszach Google to samo daje QUERY odwołujące się do etykiet. Wtedy dopisana kolumna niczego nie przesuwa, a zmieniona nazwa nagłówka daje czytelny błąd zamiast cichej pomyłki — i o to chodzi.

Power Query ma tu własną pułapkę. Zapisane kroki przechowują starą nazwę kolumny: funkcja Table.RenameColumns przyjmuje parę „stara nazwa, nowa nazwa”, więc gdy źródło przestanie zwracać tę starą, odświeżenie kończy się błędem o nieistniejącej kolumnie. To lepsze niż cicha pomyłka arkusza, ale wymaga, żeby ktoś umiał wejść w kroki zapytania i je poprawić. Warto to wiedzieć przed wyborem narzędzia, a nie w piątym dniu zamknięcia.

Co musi się zgadzać, zanim ktokolwiek spojrzy na marżę?

Automatyczne przeliczenie bez kontroli sum jest gorsze od ręcznego, bo błąd rozchodzi się szybciej i wygląda wiarygodniej. Trzy sprawdzenia wystarczą i wszystkie trzy dają się policzyć formułą:

  • Suma kontrolna wartości. Suma kosztów w warstwie surowej minus suma kosztów po przypisaniu do kategorii ma dawać zero. Każda inna liczba oznacza, że część pozycji wypadła po drodze.
  • Suma kontrolna liczby wierszy. Liczba wierszy eksportu ma się równać liczbie wierszy po mapowaniu. Ta kontrola łapie duplikaty z połączeń, których kontrola wartości nie zobaczy, gdy duplikat ma kwotę zero.
  • Lista nieprzypisanych. Osobna zakładka z pozycjami, dla których słownik nie miał dopasowania. Ma być pusta albo świadomie przejrzana przed wysłaniem raportu.

Z tym wiąże się najkosztowniejszy odruch w arkuszach zarządczych: owijanie formuł w JEŻELI.BŁĄD(...; 0). To zamienia brak dopasowania w zero i raport wygląda na kompletny, podczas gdy wypadła z niego część kosztów. Zero z braku danych i zero z braku kosztów muszą być rozróżnialne — pierwsze ma trafiać na listę nieprzypisanych, nie do wyniku.

Czego nie automatyzować, choć technicznie się da?

Kroki 5 i 7 z tabeli zostają przy człowieku nie dlatego, że arkusz ich nie policzy, tylko dlatego, że są decyzją. Klucz podziału kosztów wspólnych — po przychodzie, po godzinach, po liczbie osób — przesuwa marżę między klientami o kilkanaście punktów procentowych i wybór między nimi jest stanowiskiem zarządu, nie właściwością formuły. Arkusz ma ten klucz wykonać i zapisać, którego użyto w danym miesiącu. Ma też pokazać, co by wyszło przy drugim, jeśli chcecie tę rozmowę odbyć na liczbach.

Podobnie z wyceną produkcji w toku. Projekt rozliczany etapami, w którym prace są zrobione, a faktura wystawiona będzie w przyszłym miesiącu, można ująć albo na memoriale, albo kasowo — i obie odpowiedzi są do obrony, pod warunkiem że przez dwanaście miesięcy jest to ta sama odpowiedź. Automat, który wybiera ją sam, odbiera Wam porównywalność w zamian za kilka zaoszczędzonych minut.

Jeśli takich kandydatów do automatyzacji jest u Was więcej niż raport miesięczny — obieg faktur kosztowych, ofertowanie, obsługa zgłoszeń — to nie jest już pojedynczy arkusz do naprawienia, tylko kolejka wdrożeniowa, która potrzebuje właściciela i budżetu. Część firm w przedziale kilkunastu do kilkudziesięciu osób kupuje tę rolę w częściowym wymiarze, na przykład jako fractional CAIO rozliczany z wdrożonych usprawnień, zamiast etatu, który przy tej skali się nie zwróci. Jeśli po drodze pojawi się pomysł, żeby uzgodnieniem eksportu zajął się model językowy, najpierw rozstrzygnijcie, które dane firmowe wolno mu w ogóle pokazać — w eksporcie z FK siedzą wynagrodzenia i nazwy klientów.

Kiedy arkusz przestaje wystarczać: przy 10 mln komórek czy wcześniej?

Twarde limity są wysoko i w tej skali firm prawie nikt ich nie dotyka. Dokumentacja Microsoftu podaje dla arkusza Excela 1 048 576 wierszy i 16 384 kolumny, a w wersji 32-bitowej ogranicza całość do 2 GB przestrzeni adresowej. Google podaje dla Arkuszy limit 10 mln komórek liczony łącznie dla wszystkich zakładek w pliku, przy 18 278 kolumnach, a dla wyciągów w Connected Sheets — 500 tys. wierszy lub 5 mln komórek.

Praktyczna granica pojawia się dużo wcześniej i nie ma nic wspólnego z rozmiarem. Cztery sygnały, że proces wyrósł z arkusza:

  • Przeliczenie po wklejeniu eksportu trwa na tyle długo, że ktoś w tym czasie robi coś innego i traci wątek.
  • Podczas zamknięcia w pliku pracuje więcej niż jedna osoba i zdarza się, że praca jednej nadpisuje pracę drugiej.
  • Historia miesięcy jest w kopiach pliku, a nie w jednej tabeli faktów z kolumną okresu — czyli porównanie kwartałów wymaga otwarcia sześciu plików.
  • Nikt poza autorem nie potrafi tego odtworzyć. To najpoważniejszy z czterech i jedyny, który da się naprawić bez zmiany narzędzia: wystarczy opisać procedurę tak, żeby wykonał ją ktoś inny, razem z kolejnością kroków i miejscem, w którym trzeba podjąć decyzję.

Trzy pierwsze sygnały mówią, że dane powinny trafić do bazy, a arkusz zostać warstwą prezentacji. Czwarty mówi tylko tyle, że procedura istnieje w czyjejś głowie — i to jest ryzyko niezależne od tego, w czym liczycie.

Który jeden krok zautomatyzować w tym miesiącu?

Przebudowa całego raportu w trakcie zamknięcia kończy się tym, że raport wychodzi później niż zwykle, a zaufanie do nowej wersji jest zerowe. Kolejność, która się broni, jest odwrotna do intuicyjnej: najpierw krok 2, czyli mapowanie kolumn po nagłówku. Jest najtańszy, zajmuje jedno popołudnie i usuwa całą klasę cichych błędów przesunięcia. Potem krok 3 — słownik kont z datą obowiązywania. Dopiero na końcu krok 4, bo dane spoza księgowości wymagają najpierw uzgodnienia definicji projektu między systemami, a to jest rozmowa, nie formuła.

Zanim zaczniecie, zmierzcie dwie liczby za ostatni miesiąc: ile godzin zajęło złożenie raportu i ile dni minęło od gotowego eksportu do jego wysłania. Bez nich po trzech miesiącach nie odpowiecie sobie, czy przebudowa cokolwiek dała. Z nimi odpowiedź zajmie minutę i będzie to odpowiedź, a nie wrażenie.