JPK - dokumentacja techniczna
Wprowadzenie
- Główna procedura generująca raport to
accounting.jpk
. W zależności od tego czy generujemy JPK_FA czy JPK_MAG procedura ta wywołuje odpowiednio funkcjeaccounting.fn_getInvoicesForJPK
iaccounting.fn_getDocumentsForJPK
. accounting.jpk
buduje całego XMLa. Umieszcza w nim podstawowe dane - Nagłówek z Identyfikatorem podmiotu i Adresem podmiotu. W zależności od typu generowanej struktury wywołuje funkcję, której wynik włącza do ciała XMLa. Odpowiada również za wyświetlenie podsumowania i linku do gotowego pliku (wszystko co zawiera się w 'content' jest wyświetlane na ekranie).- Znaczenie poszczególnych elementów w strukturach opisałam w komentarzach w kodzie funkcji. Jeśli czegoś brakuje, mozna sprawdzć w odpowiednich schemach udostępnionych przez MF - to z nich brałam informacje na temat znaczenia pól.
JPK_MAG
accounting.fn_getDocumentsForJPK
zwraca wszystkie potrzebne informacje nt. dokumentów magazynowych z danego okresu i magazynów* w odpowiedniej strukturze. * Przyjmuje parametr warehouseCodes, w którym należy podać kod lub kody magazynów oddzielonych przecinkami bez spacji, np. '100,101,102'.
- W tabeli
document.documentTypes
kolumnajpkTag
służy do okreslenia, które dokumenty magazynowe mają być brane pod uwage przy generowaniu pliku. Brane są te dokumenty, które maja uzupełnione jpkTag. Te typy, kóre mają w tym polu wpisane PZ będą uwzgledniane w sekcji dokumentów PZ, te, które mają wpisane WZ będą uwzgledniane w sekcji WZ itd. Dostępne grupy to PZ, WZ, RW i MM.
- Wg informacji na stronie Ministerstwa Finansów, JPK powinen
generować sie dla każdego magazynu oddzielnie:
„Pliki dla kilku magazynów 14. W nagłówku dokumentu znajduje się pojedyncze pole definiujące Magazyn. W przypadku, jeżeli kontrola dotyczyć będzie kilku magazynów, to czy należy dla każdego z nich wygenerować osobny plik JPK_MAG? Tak." – są to najczęściej zadawane pytania, cz. 2 żródło MF
Jednak poniewaz niektórzy klienci (JBB) pomimo podziału na kilka magazynów w programie, prowadzą tylko jeden magazyn, można wygenerować plik dla kilku magazynów pod wspólną nazwą. Należy w tym celu podać przy generowaniu raportu kody magazynów oddzielone przecinkami bez spacji, np. '100,101,102' oraz nazwę magazynu, która ma zostać umieszczona w pliku (domyślnie bedzie to nazwa magazynu, którego kod został wymieniony jako pierwszy.
JPK_FA
accounting.fn_getInvoicesForJPK
zwraca wszystkie potrzebne informacje o fakturach sprzedażowych z danego okresu, ujęte w odpowiednią strukturę.