AFIK: Market na pełnej księgowości

Jednym z większych wyzwań było wykonanie konwersji dokumentów dla pełnej księgowości. Wstępnie udało się to uruchomić już w połowie 2009 roku, jednak dopiero w 2014 procedura konwersji została doprowadzona do stanu, w którym praktycznie wszystko można wykonać programem AFIK na własnym komputerze. Po drodze trzeba było pokonać wiele przeciwności i znaleźć rozwiązania niespodziewanych problemów.

Klient biura dostarcza co miesiąc plik CSV zawierający informacje o dokumentach (plik jest wielkości rzędu 7MB i ma ponad 50000 linijek — wychodzi z tego około tysiąca dokumentów miesięcznie). Są tam zarówno faktury sprzedaży (w tym zaliczkowe i końcowe), paragony, faktury zakupu towarów handlowych, pozostałych wydatków, jak i dokumenty kasowe.

Przygotowanie

Pierwszą wykonywaną operacją jest przekształcenie pliku CSV (wartości rozdzielone przecinkami) do bardziej strawnej postaci. Oryginalnie plik posiada kodowanie UTF-8 (polskie znaki zapisane na dwóch bajtach), a na potrzeby przetwarzania wystarczające jest jednobajtowe kodowanie Windows. Jednak istotniejszymi przyczynami tego etapu jest sporadyczne ujęcie każdej linijki w cudzysłowy (kilka razy w roku się zdarzyło) oraz chęć wydzielenia informacji o kontrahentach do osobnego pliku (i dzięki temu szybsze wyszukiwanie).

Ponieważ plik zawiera również faktury kosztowe, których sposób księgowania jest mocno powiązany z opisem, nie da się przetworzyć dokumentów bez ręcznego powiązania kont z opisami. Do tego dochodzą różnorodne sposoby płatności: gotówką, przelewem, kartą oraz na raty, a w zakupach zdarzają się kompensaty i płatności za pobraniem. Dodatkową trudnością są transakcje z podmiotami powiązanymi (księgowane na osobne konta). Wymaganą na tym etapie operacją jest wykrycie nowych typów dokumentów (np. uruchomienie nowej kasy operacyjnej czy drukarki fiskalnej) oraz nowych opisów do faktur kosztowych (często nowe opisy powstają dzięki literówkom). Następnie trzeba tym dokumentom przypisać sposób księgowania (dekret), ewentualnie podmienić opis na jeden ze standardowych (np. „koszulki, buty” na „odzież robocza”). W większości przypadków można się przy tym sugerować fakturami z poprzednich miesięcy.

Kolejnym etapem jest rozpoznanie nowych kontrahentów. Tego też nie da się zrobić bez ręcznej ingerencji. Często jeden kontrahent dostaje kilka identyfikatorów i trzeba to ujednolicić, czasem trzeba różnym filiom tego samego kontrahenta przypisać osobne numery analityczne. Zdarzają się też literówki w nazwach i adresach, które AFIK jest w stanie automatycznie poprawiać po wskazaniu stanu docelowego. Specyficznym błędem jest zapisanie kontrahenta z nieprawidłowym numerem NIP (a nawet z własnym), ale to też da się automatem poprawić. Na tym etapie można też dokonać skrócenia nazwy kontrahenta, gdy jest ona bardzo długa, a obcięcie końcówki nie jest dobrym rozwiązaniem (np. pełne rozwinięcie skrótu typu PPHU jest zbędne).

Faktury

Gdy już mamy przypisane dekrety oraz rozpoznanych kontrahentów, można przetworzyć faktury sprzedaży bez paragonów, faktury zakupu towarów handlowych oraz pozostałe wydatki. Wchodzą w to również faktury zaliczkowe i końcowe, dla których generowane są dodatkowe pozycje (dopłata oraz przeksięgowanie z zaliczek w przychód). Jeśli program księgowy nie sortuje samodzielnie, faktury może posortować AFIK przed wyeksportowaniem. Ewentualnie można też osobno wyeksportować dane nowych kontrahentów (np. do Symfonii). Wygenerowane pliki można już wczytać do programu księgowego i sprawdzać z dokumentami papierowymi (jeśli sprawdzanie nie było wykonane w Afiku).

Raporty kasowe

W dostarczanym pliku CSV znajdują się dokumenty składowe raportów kasowych dla kilkunastu kas, ale istotna jest tylko kasa główna (kasy operacyjne dostają jedno wspólne konto). Tworzenie raportów kasowych wymaga łączenia dokumentów składowych i nie może być obecnie wykonane jednocześnie z przetwarzaniem pozostałych dokumentów. W pierwszej kolejności należy wczytać dokumenty składowe. Dekrety dla nich powinny być ustawione już wcześniej, jednocześnie z fakturami. Dokumenty składowe sortuje się według numeru raportu kasowego, a następnie grupuje i sumuje, tworząc dzienne raporty kasowe o wielu pozycjach. Można je następnie wyeksportować i wczytać do programu księgowego. Tu niestety sprawdzanie w programie księgowym wymaga więcej pracy, bo rozliczanie kas operacyjnych może być trochę zagmatwane (powinny wykazywać stałe saldo na koniec dnia, a przynajmniej na koniec rozliczanego okresu).

Raporty fiskalne

Do raportów fiskalnych wchodzą faktury sprzedaży z paragonami (w tym zaliczkowe i końcowe z dopłatą) oraz wszystkie paragony (jeśli do paragonu wystawiono fakturę, to nie jest to eksportowane jako paragon). Po posortowaniu wg kas fiskalnych i dat oraz po zsumowaniu można je wyeksportować i następnie wczytać do programu księgowego. Tam pozostaje porównać z raportami dobowymi i ewentualnie szukać przyczyn rozbieżności.


Przetwarzanie dokumentów pełnej księgowości jest bardzo uzależnione od specyfiki firmy. Np. dla firmy transportowej, która wystawia tylko faktury za wykonane usługi, nowe typy dokumentów czy nowe opisy mogą zdarzać się bardzo rzadko albo wcale. Może też nie być raportów fiskalnych, a raporty kasowe mogą stanowić margines, jeśli rozliczenia są głównie bezgotówkowe. Koniecznym etapem będzie jednak wykrywanie nowych kontrahentów i nadawanie im numerów analitycznych. Możliwe jest również analizowanie wyciągów w postaci elektronicznej i rozpoznawanie kontrahentów po fragmentach nazw czy adresów, a w dalszej kolejności po numerach rachunków.

Zwykle największym problemem jest bałagan po stronie klienta, który trzeba jakoś zminimalizować. Wchodzą w to literówki w nazwach, adresach, opisach, a nawet sposobach płatności (np. „komensata” zamiast „kompensata”), zakładanie wielu kartotek jednemu kontrahentowi (np. jedna ma NIP, a druga nie). Wiele do życzenia pozostawiają też systemy informatyczne, które np. nie weryfikują NIP albo pozwalają na stosowanie początkowych lub końcowych spacji w identyfikatorach.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *