Czy weryfikacja rachunku bankowego kontrahenta musi odbywać się tylko przez dedykowaną wyszukiwarkę Ministerstwa Finansów lub komercyjne rozwiązania, które w ostatnim czasie pojawiają się jak przysłowiowe grzyby po deszczu? Czy biała lista podatników VAT jest dostępna również z poziomu Excela i Power Query. Postanowiłem to sprawdzić, a ten wpis prezentuje jak krok po kroku można samodzielnie stworzyć takie narzędzie.
Uwaga! Interfejs API NBP uległ zmianie. Dlatego zamiast czytać poniższy poradnik, obejrzyj zaktualizowane nagranie. Z niego dowiesz się jak krok po kroku weryfikować podatników VAT z poziomu Excela.
Biała lista podatników VAT – co musisz wiedzieć
Biała lista (zamiennie używa się również określenia White List) to nowy wykaz podatników VAT, który zawiera informacje o czynnych podatnikach, wykreślonych z rejestru oraz przywróconych do niego.
Jest on dostępny od września 2019 r., a jego celem jest wsparcie procesu weryfikacji kontrahentów.
Biała lista pozwala sprawdzić bieżący status kontrahenta jako podatnika VAT, jak również potwierdzić numer rachunku bankowego, na jaki powinieneś mu zapłacić za zakupiony produkt lub usługę.
Biała lista – jak weryfikować kontrahentów?
Najprostszym sposobem jest wejście na stronę podatki.gov.pl, gdzie znajduje się dedykowana wyszukiwarka Wykazu podatników VAT. Korzystanie z niej nie wymaga wyjaśnień, obsługa jest intuicyjna.
Niestety możesz zweryfikować jednego kontrahenta w danym momencie. Tym samym, jeśli chciałbyś sprawdzić powiedzmy 50 firm, z którymi współpracujesz musiałbyś tą czynność powtórzyć aż pięćdziesiąt razy.
Biała lista – masowy dostęp dzięki API
Na szczęście Ministerstwo Finansów (MF) udostępniło tzw. interfejs programistyczny API (Application Programming Interface), który pozwala weryfikować jednorazowo większe „paczki” danych.
Oczywiście korzystanie z API nie jest idealne, ponieważ ustawiony jest limit zapytań jakie można wysłać na serwer MF. Jak to wygląda w rzeczywistości? Otóż w ciągu doby można wysłać 10 zapytań, każdy dotyczący maksymalnie 30 kontrahentów. Jeśli limit zostanie osiągnięty, to dostęp do bazy będzie zablokowany do północy.
Szczegółowe informacje dotyczące API są umieszczone na tej stronie.
Kontrahentów można weryfikować podając jedną z trzech informacji:
- Numer konta bankowego
- NIP
- REGON
W odpowiedzi, wiele firm konsultingowych oraz firm informatycznych proponuje w ostatnim czasie narzędzia automatyzujące ten proces. Jedne są płatne, drugie nie.
Biała lista – zrób to w Excelu
Postanowiłem przyjrzeć się temu z bliska i zobaczyć jakie możliwości w tym zakresie oferuje Excel oraz Power Query. W tym celu skorzystam z dostępnych numerów NIP i na ich podstawie przeprowadzona zostanie weryfikacja kontrahentów.
Po zapoznaniu się z dokumentacją dotyczącą API wiadomo, że zapytanie do bazy odnośnie numerów NIP powinno wyglądać tak: https://wl-api.mf.gov.pl/api/search/nips/XXXXXXXXXX,YYYYYYYYYY,ZZZZZZZZZZ?date=2019-11-02
W takim przypadku serwer zwróci dane dla numerów NIP oznaczonych tutaj literami X, Y i Z podając stan na dzień 2 listopada 2019 roku.
Poniżej opisuję krok po kroku całą procedurę przygotowania narzędzia, które automatycznie będzie weryfikowało status podatnika VAT i przypisywało numery kont bankowych.
Jeśli do tej pory nie korzystałeś z narzędzia Power Query lub znasz je bardzo pobieżnie, to pobierz Niezbędnik Księgowego.
KROK 1: Na początek stwórz listę numerów NIP w pliku, który należy zapisać w formacie CSV. Zapamiętaj jego lokalizację, ta informacja będzie potrzebna w kolejnym kroku. Plik w tym przykładzie będzie nazywał się: numery-nip-do-sprawdzenia.csv.
KROK 2: W Excelu utwórz zupełnie nowy skoroszyt, np. używając skrótu klawiaturowego Ctrl + N. Następnie pobierz dane z pliku źródłowego utworzonego w kroku 1. W tym celu przejdź na kartę Dane, gdzie w grupie Pobieranie i przekształcanie danych należy kliknąć polecenie Z pliku tekstowego/CSV.
W oknie dialogowym wskaż folder, w którym umieszczony jest plik numery-nip-do-sprawdzenia.csv, zaznacz plik i kliknij przycisk Importuj.
KROK 3: Na ekranie pojawi się okno dialogowe prezentujące podgląd zawartości pliku źródłowego. Kliknij przycisk Przekształć dane, aby przejść do edytora Power Query.
KROK 4: Po uruchomieniu edytora Power Query zobaczysz w jego centralnej części zawartość pliku źródłowego. Zanim przejdziemy do dalszej części procesu budowania narzędzia do weryfikacji podatników VAT zmień nazwę zapytania wprowadzając do właściwego pola opis NumeryNIP.
To będzie zapytanie, do którego na końcu zostaną dopisane numery kont bankowych oraz status podatnika VAT.
KROK 5: Na tym etapie pamiętaj, aby zmienić typ danych przechowywanych w kolumnie NIP. Wystarczy kliknąć na ikonę umieszczoną po lewej stronie nazwy kolumny, a następnie wybrać opcję Tekst.
KROK 6: W chwili obecnej posiadamy numery NIP wypisane jeden po drugim. Ponieważ chcemy wykorzystać interfejs API i zmaksymalizować zapytania dlatego powinniśmy je pogrupować po 30 numerów NIP w jednym wierszu. W tym celu będzie trzeba scalić zgromadzone tutaj numery NIP.
Ponieważ w przykładzie numerów NIP jest zdecydowanie mniej, dlatego będziemy je grupować po 5, żeby zademonstrować jaki będzie efekt końcowy. Oczywiście Ty tworząc to rozwiązanie u siebie możesz od razu użyć wartości 30.
Zanim przejdziesz do scalania numerów NIP należy utworzyć kopię bieżącego zapytania. W tym celu z lewej strony edytora kliknij na etykietę Zapytania, a następnie kliknij prawym przyciskiem myszy na zapytanie NumeryNIP i wybierz polecenie Duplikuj.
KROK 7: Zmień nazwę zduplikowanego zapytania na URLdlaAPI. Będzie ono zawierać gotowe adresy URL zawierające numery NIP do kontroli.
KROK 8: Na karcie Dodaj kolumnę w grupie Ogólne kliknij polecenie Kolumna indeksu. W naszym zapytaniu powstanie kolumna o nazwie Indeks z unikatowymi wartościami począwszy od 0.
KROK 9: Mając zaznaczoną kolumnę Indeks, ponownie wybierz kartę Dodaj kolumnę, gdzie w grupie Z liczby kliknij polecenie Standardowy, a następnie Podziel (liczby całkowite).
W oknie dialogowym Podziel bez reszty wprowadź wartość 5 (przypominam, że 5 używamy tylko w tym przykładzie, potem należy zamienić ją na 30) i kliknij przycisk OK.
Efektem tej operacji jest pojawienie się nowej kolumny Dzielenie z resztą, w której wartość wzrasta o 1 dokładnie co pięć wierszy. Już za chwilę numery NIP z przypisaną wartością 0 w tej kolumnie będą umieszczone w jednym wierszu, a numery z wartością 1 w kolejnym, itd.
KROK 10: Ponownie zaznacz kolumnę Indeks i przejdź na kartę Przekształć. W grupie Kolumna liczb wybierz polecenie Standardowy, a następnie kliknij Modulo.
W oknie dialogowym Modulo wprowadź 5 (potem wpiszesz tutaj 30) i kliknij OK.
Jak widzisz, teraz wartości w kolumnie Indeks są numerowane od 0 do 4 i od nowa.
KROK 11: Przyszedł czas na przekształcenie bieżącego zapytania. Upewnij się, że zaznaczyłeś kolumnę Indeks. Teraz na karcie Przekształć w grupie Dowolna kolumna kliknij polecenie Kolumna przestawna.
W oknie dialogowym Kolumna przestawna upewnij się, że jako kolumna wartości wybrana jest kolumna o nazwie NIP. Rozwiń Opcje zaawansowane, gdzie z listy rozwijanej należy wybrać opcję Nie agreguj. Kliknij przycisk OK.
Brawo. Właśnie przekształciłeś dane w taki sposób, że w każdym wierszu mamy po 5 numerów NIP.
KROK 12: Kliknij prawym przyciskiem myszy na nagłówku kolumny Dzielenie z resztą, a następnie wybierz polecenie Usuń.
KROK 13: Aby scalić wszystkie kolumny zawierające numery NIP w jedną kliknij w nagłówek kolumny 0. Wciśnij i przytrzymaj klawisz Shift i kliknij nagłówek kolumny 4.
Na karcie Przekształć w grupie Kolumna tekstu wybierz polecenie Scal kolumny. Ponieważ klucz API wymaga danych oddzielonych od siebie przecinkami, dlatego w oknie dialogowym Scal kolumny określ przecinek jako separator oraz nadaj kolumnie nazwę ZestawyNIP. Kliknij przycisk OK.
KROK 14: Teraz przyszedł czas na utworzenie kolumny niestandardowej zawierającej odwołania do strony Ministerstwa Finansów, czyli inaczej rzecz ujmując adres strony internetowej. W tym celu na karcie Dodaj kolumnę w grupie Ogólne kliknij polecenie Kolumna niestandardowa.
W oknie dialogowym Kolumna niestandardowa podaj nazwę dla nowotworzonej kolumny AdresURL, a w polu Formuła kolumny niestandardowej wprowadź następującą formułę:
=”https://wl-api.mf.gov.pl/api/search/nips/” & [ZestawyNIP] & „?date=” & DateTime.ToText(DateTime.LocalNow(),”yyyy-MM-dd”)
Ta formuła tworzy adres internetowy zawierający zestawy numerów NIP oraz bieżącą datę w formacie ROK-MIESIĄC-DZIEŃ. Dzięki temu zawsze będziemy otrzymywać bieżący status podatników VAT.
KROK 15: Kliknij na pierwszy adres w nowej kolumnie. Na dole okna edytora Power Query pojawi się pełna ścieżka dostępu. Zaznacz ją myszą i skopiuj do schowka używając skrótu klawiaturowego Ctrl + C.
KROK 16: Przejdź na kartę Strona główna. W grupie Nowe zapytanie kliknij Nowe źródło, potem Inne źródła, a następnie Internet.
W oknie dialogowym Z sieci Web w polu Adres URL wklej wcześniej skopiowany adres używając skrótu Ctrl + V i kliknij przycisk OK.
KROK 17: Dla nowego zapytania zmień nazwę na ZapytanieAPI.
KROK 18: Teraz kliknij w komórkę zawierającą wpis Record. Następnie kliknij w tym samym miejscu na wpis List. W ten sposób uzyskaliśmy listę rekordów.
KROK 19: Odszukaj po lewej stronie edytora Power Query zapytanie ZapytanieAPI i kliknij prawym przyciskiem myszy. Wybierz polecenie Edytor zaawansowany.
Aby budowane rozwiązanie mogło za każdym razem weryfikować numery NIP łącząc się ze stroną Ministerstwa Finansów należy zmodyfikować treść zapytania.
W tym celu na samej górze należy umieścić definicję zmiennej mojAdresURL. Również w źródle adres w cudzysłowie należy zastąpić nazwą tej zmiennej. Na końcu kliknij przycisk Gotowe.
Zauważ, że zapytanie zostało przekształcone w funkcję. Bardzo dobrze, o to chodziło!
KROK 20: Wróć do zapytania URLdlaAPI. Przejdź na kartę Dodaj kolumnę, a następnie w grupie Ogólne wybierz polecenie Wywołaj funkcję niestandardową.
W oknie dialogowym Wywołaj funkcję niestandardową nadaj nazwę dla nowej kolumny (DaneAPI), wybierz zapytanie funkcji (ZapytanieAPI) oraz wskaż, w której kolumnie znajduje się AdresURL. Kliknij przycisk OK.
Jeśli na ekranie pojawi się komunikat „Wymagane są informacje dotyczące poprawności danych”, kliknij przycisk Kontynuuj.
W oknie dialogowym Poziomy prywatności zaznacz opcję Ignoruj… i kliknij Zapisz.
KROK 21: W zapytaniu pojawiła się nowa kolumna o nazwie DaneAPI. Kliknij na jej nagłówek prawym przyciskiem myszy i wybierz polecenie Usuń inne kolumny.
KROK 22: Rozwiń kolumnę DaneAPI klikając w ikonę umieszczoną z prawej strony jej nazwy. Wybierz opcję Rozwiń do nowych wierszy.
KROK 23: Pojawiła się lista rekordów, które również trzeba rozwinąć. W oknie dialogowym kliknij polecenie Załaduj więcej, aby wczytać wszystkie pola z listy oraz odznacz opcję Użyj oryginalnej nazwy kolumny jako prefiksu. Kliknij przycisk OK.
W ten sposób uzyskałeś listę danych pobranych ze strony Ministerstwa Finansów, ale nie jest ona jeszcze w pełni funkcjonalna.
Przesuń tabelę do miejsca, gdzie będziesz widział kolumny representatives, authorizedClerks, partners. Dla każdej z nich naciśnij ikonę rozszerzenia.
Teraz przesuń tabelę, aby przejść do kolumny accountNumbers i tutaj również rozwiń listę.
Super! Uzyskałeś pełną listę danych.
KROK 24: Przejdź na kartę Strona główna i w grupie Zamknij kliknij napis Zamknij i załaduj, a następnie wybierz opcję Zamknij i załaduj do.
Zostaniesz przeniesiony do Excela, gdzie wyświetli się okno dialogowe Importowanie danych, w którym zaznacz opcję Utwórz tylko połączenie i kliknij przycisk OK.
Za chwilę po prawej strony okna aplikacji pojawi się okno dialogowe Zapytania i połączenia, gdzie będą widoczne wszystkie elementy, które utworzyłeś. Wszystkie są w postaci tylko połączeń. Ale spokojnie, zaraz przejdziemy do utworzenia ostatecznego raportu w postaci tabeli.
KROK 25: Na karcie Dane w grupie Pobieranie i przekształcanie danych kliknij Pobierz dane, a następnie Połącz zapytania i Scal.
W oknie dialogowym Scalanie wybierz jako pierwsze zapytanie NumeryNIP i kliknij na nagłówek kolumny NIP, a następnie jako drugie zapytanie wybierz URLdlaAPI i również wskaż kolumnę nip. Kliknij przycisk OK.
KROK 26: Edytor Power Query wyświetli nowe zapytanie, gdzie ostatnią kolumnę URLdlaAPI należy rozwinąć i wybrać interesujące pola, które mają być widoczne.
Pamiętaj, aby odznaczyć opcję Użyj oryginalnej nazwy kolumny jako prefiksu.
KROK 27: Zmień nazwę zapytania na ZweryfikowaniPodatnicyVAT.
KROK 28: Na karcie Strona główna w grupie Zamknij kliknij polecenie Zamknij i załaduj. Excel utworzy nowy arkusz, w którym umieści tabelę zawierającą wszystkie dane odpowiadające numerom NIP umieszczonym w pliku źródłowym, który importowałeś na samym początku.
KROK 29: Ten krok jest najważniejszy. Zapisz gotowy raport, w przeciwnym razie cały proces będziesz musiał wykonać od nowa.
Co dalej?
Kiedy będziesz chciał zweryfikować kolejny zestaw numerów NIP wystarczy, że w pliku źródłowym (format CSV w prezentowanym przykładzie) wprowadzisz nowe wartości i zapiszesz zmiany. Następnie otwierasz plik z utworzonym raportem, przechodzisz do arkusza z tabelą, a następnie klikasz na niej prawym przyciskiem myszy i wybierasz polecenie Odśwież. GOTOWE!
Acha, pamiętaj o dostępie do internetu. W przeciwnym razie Power Query nie będzie mógł połączyć się z serwerem Ministerstwa Finansów.
Film instruktażowy
Jako uzupełnienie powyższego wpisu i chęć udzielenia odpowiedzi na większość komentarzy i zapytań jakie spłynęły do mnie w ostatnim czasie, przygotowałem i opublikowałem nagranie video. Zapoznanie się z nim zdecydowanie ułatwi proces budowania narzędzia do weryfikacji numerów rachunków bankowych kontrahentów.
Podsumowanie
Jak widzisz biała lista podatników VAT jest również dostępna z poziomu Excela i Power Query. Mam nadzieję, że zaprezentowany przykład przekonał Cię do tego narzędzia. Pozwala ono optymalizować pracę, automatyzować ją i oszczędzać sporo czasu.
A jakie jest Twoje doświadczenie w pracy z tym narzędziem? Umieść odpowiedź w komentarzu poniżej wpisu.
Michał, super wpis! Ile czasu trzeba na przygotowanie pliku?
Dzięki Sylwia! Mi całość zajęła nieco ponad pół godziny, ale to dlatego, że jednocześnie robiłem notatki do artykułu i przygotowałem zrzuty ekranu. Pamiętaj jednak o najważniejszym. Za pierwszym razem przygotowanie pliku zajmie Ci trochę czasu, ale potem już tylko modyfikujesz plik CSV, a raport tylko odświeżasz. Tutaj jest ta oszczędność czasowa. 🙂
Pozdrawiam,
Fajny wpis ciekawe narzędzie 🙂 niestety przy próbie stworzenia kolumny niestandardowej wyskakuje błąd związany z adresem 🙁
Cześć Kamil!
Dzięki za opinię. Być może w kroku 14 nie wyraziłem się nazbyt jasno i niektórzy czytelnicy będą kopiować formułę: =”https://wl-api.mf.gov.pl/api/search/nips/” & [ZestawyNIP] & „?date=” & DateTime.ToText(DateTime.LocalNow(),”yyyy-MM-dd”) do okna dialogowego.
BARDZO WAŻNE: na początku formuły musi być tylko jeden znak równości (=). Domyślnie to okno ma już wprowadzony ten znak, więc jeśli kopiowałeś treść formuły z artykułu, to zapewne razem ze znakiem równości i stąd wygenerował się błąd. Jak usuniesz jeden z nich, na pewno zadziała. 🙂
Dzień dobry,
niestety po wklejeniu formuły cały czas wyskakuje komunikat nieprawidłowy identyfikator 🙁
Witaj Edyto!
Sprawdź czy nazwa kolumny ZestawyNIP jest umieszczona w nawiasach kwadratowych []. To może być przyczyną błędu.
Pozdrawiam
Bledem bylo tp ze skopiowalem formule i zmienilo ” na coś innego 🙂 po rrcznym poprawieniu ” wszystko dziala bez zarzutu. Bardzo fajne i proste narzrdzie
Kamil,
cieszę się, że wszystko udało się zrobić. Gratulacje i powodzenia! 🙂
Po wykonaniu kroku 26 nie otrzymuję pełnej tabeli z danymi jak u Ciebie w kroku 27 , jedynie w kolumnie NIP są moje numery NIP, no i tak samo kolejny etap to pusta tabela w arkuszu – jedynie wypełniona kolumna z nr NIP (tak, jakby nie pobierało danych?). Czy orientujesz się co mogę robić nie tak? 🙂
Cześć Ola!
Przyjrzyj się jeszcze raz opisowi i sprawdź czy w kolejnych krokach wykonujesz wszystko tak, jak opisałem? W kroku 26 efektem będzie zapytanie z dwoma kolumnami. W pierwszej będą numery NIP, w drugiej wartości Table, które następnie rozwija się i w ten sposób tworzysz całe zestawienie. Daj znać czy udało się rozwiązać problem.
Pozdrawiam
Michał, super narzędzie oszczędzające sporo czasu. Było to moje pierwsze spotkanie z Power Query 😉 i zajęło mi to trochę więcej niż godzinę, ale udało się a to najważniejsze. W przypadku wyszukiwania po nr kont bankowych czy trzeba wielu modyfikacji -czy wystarczy wybrać odpowiednią kolumnę zamiast NIP i odpowiedni adres MF? Pozdrawiam
Cześć Agnieszka,
Dzięki za komentarz i gratulacje! Zrobiłaś pierwsze kroki w Power Query (i oby nie ostatnie). 🙂
Co się zaś tyczy Twojego pytania odnośnie wyszukiwania po numerze bankowym to kilka modyfikacji na pewno trzeba wykonać. Między innymi nie można w zapytaniu URLdlaAPI zmieniać kolumny źródłowej (obecnie NIP) na liczbę. Trzeba pozostawić jako tekst, ponieważ niektóre numery kont bankowych rozpoczynają się od 0. Po drugie dodają kolumnę niestandardową z adresem API trzeba pamiętać, żeby zamiast /api/search/nips/ podać /api/search/bank-accounts. Scalając dane do nowego zapytania w drugim przypadku (zapytanie URLdlaAPI) tym razem nie będziesz wskazywać kolumny nip, ale accountNumbers.
Powodzenia!
Michał dziękuję za odpowiedź i wskazówki. Powalczę 😉
Dzięki za tutorial 🙂
czy masz może sposób aby wyświetlać requestID do zapytań?
Na końcu generuje się requestId, który się nie pojawia używając Twojej metody.
Masz pomysł jak wyciągać te dane?
Pozdrawiam
Cześć Paweł!
Bardzo proszę. 🙂 O! Dzięki za świetne pytanie! Z tego co pamiętam, to wspomniany requestID pokazuje się jak zapytanie jest generowane bezpośrednio ze strony. Należałoby zadać sobie pytanie czy jest on generowany według z góry określonego wzorca czy też dowolnie. Jeśli dowolnie, to wtedy można w Power Query wygenerować takie unikatowe ID. Ale faktycznie w danych, które pobiera Power Query via API takiej informacji ja nie widziałem (a może nie zauważyłem?). Sprawdzę i dam znać. 🙂
Pozdrawiam
W jednym pliku jaki stworzyłam to pojawia się requestID a w drugim już nie. Nie wiem od czego to zależy.
Witam
Niestety po wprowadzeniu formuły do kolumny niestandardowej (krok nr 14) otrzymuję błąd:”Expression.SyntaxError: Nieprawidłowy identyfikator”
Pozdrawiam
Cześć Tomku,
upewnij się, że nazwę kolumny umieściłeś w nawiasach kwadratowych – w taki sposób [ZestawyNIP]. Wtedy powinno zadziałać bez problemu.
Pozdrawiam 🙂
Cześć Michał,
Czy wiesz już może jak wygenerować requestID w pliku?
Dziękuję i pozdrawiam
Witaj Małgosiu,
tak jest to możliwe, ale trzeba dodać kilka kroków w zapytaniu URLdlaAPI oraz zduplikować ZapytanieAPI np. na ZapytanieAPI_ID, a następnie w edytorze zaawansowanym upewnić się, że mamy wprowadzone tylko takie instrukcje:
(mojAdresURL)=>
let
Źródło = Json.Document(Web.Contents(mojAdresURL)),
result = Źródło[result]
in
result
Wytłumaczenie tego w jednym komentarzu zajęłoby sporo czasu, więc pomyślę o nagraniu wideo z wytłumaczeniem również tego elementu.
Pozdrawiam
Cześć,
Super pomysł!
Mam tylko jeszcze pytanie: jak można zapisać tę weryfikację, tak aby potem móc udowodnić skarbówce, że dane zostały odpowiednio zweryfikowane? Jak wygenerować jakiś raport, który może stanowić dowód weryfikacji?
Pozdrawiam
Cześć Anna!
Dziękuję za komentarz i ważne pytanie. Firmy różne mają praktyki, ale obiło mi się o uszy, że najlepszym (ponoć akceptowalnym przez US) sposobem potwierdzenia jest generowanie wydruku w formie PDF, na którym jest umieszczony klucz identyfikacyjny i wynik weryfikacji. Równie dobrze gotową tabelę możesz po prostu wydrukować + umieścić datę wygenerowania raportu / jego wydrukowania.
Pozdrawiam
Czy trzeba listy NIP jest zgodne z RODO? Czy trzeba mieć zgody kontrahentów?
Nie wydaje mi się, aby były potrzebne jakiekolwiek zgody w związku z RODO. Przecież informacje o kontrahentach można znaleźć m.in. w CEIDG czy KRS.
Dlaczego w tym raporcie wyświetla się więcej rekordów dla jednego nipu?
Cześć Łukasz,
Spieszę z wyjaśnieniem. Pamiętaj, że jeden NIP nie musi się równać jednemu rachunkowi bankowemu. Są podmioty gospodarcze, które kont bankowych mają więcej. Stąd w raporcie pojawia się ich wiele.
Pozdrawiam
Witam.
Czy ktoś już rozwiązał w jaki sposób wyświetlić requestID ? Dane te widzę na poziomi projektowania zapytania przy kroku 18, ale jak już odpalam gotowe zapytanie to ich nie ma. Da się gdzieś podejrzeć ten numer requestID, nie mówię że musi on się wyświetlać na raporcie, ale chociaż jakby był gdzieś do podejrzenia byłoby dobrze.
Cześć Marcinie,
w jednym z komentarzy wyjaśniłem, że jest to możliwe. Prawdopodobnie (jak większość osób będzie zainteresowana) 😉 umieszczę dodatkowy (szczegółowy) opis jak to zrobić.
Pozdrawiam
Zrobiłam wszystko do kroku 14. Niestety wpisując adres formuły pokazuje mi sie błąd – Nieprawidłowy Identyfikator. Co z związku z tym należy zrobić ?
Cześć Agata,
Upewnij się czy nazwa kolumny ZestawyNIP jest umieszczona w nawiasach kwadratowych [].
Pozdrawiam
Cześć Michał,
w kroku 19 kiedy zmieniam adres strony na zmienna mojAdresURL, po zaakceptowaniu nie tworzy mi się funkcja jak u Ciebie, tylko błąd:
Expression.Error: Import mojAdresURL nie pasuje do żadnego eksportu, Czy brakuje przywołania modułu?
Czy coś pominęłam?
Cześć Paulina,
a czy dodałaś powyżej wyrażenia let zapis w pierwszym wierszu o następującej treści: (mojAdresURL)=> ??? Uzupełnij i działaj dalej. 🙂
Pozdrawiam
Działa!! 🙂
Piotrze, brawo TY!!! 🙂
Mam pytanie odnośnie punktu 16.
Dostaję taki komunikat z PQ The request was aborted: Could not create SSL/TLS secure channel.
Na ten moment nie mam pomysłu jak to obejść.
Oczywiście link w przeglądarce działa.
Cześć Janek,
Oj ciekawy ten Twój przypadek. Nie miałem z tym do czynienia, ale sugerowałbym, abyś na początek na karcie Strona główna w grupie Źródła danych kliknął polecenie Ustawienia źródła danych. Tam powinien być widoczny adres, z którego chciałeś pobrać informacje odnośnie nipów. Zaznacz go, a następnie kliknij polecenie Edytuj uprawnienia. Upewnij się, że Typ jest anonimowy, a Poziom prywatności jest ustawiony na brak. Powinno zadziałać.
Pozdrawiam
Stworzyłem własne query do białej listy generujące podobny wynik przypodaniu NIP-u lub nr konta. Nie mam pomysłu jak poradzić sobie z wirtualnymi numerami kont przypisanych do kont rozliczeniowych kontrahenta, gdyż API zwraca numery rozliczeniowe. Pytając o 30 numerów kont mogę otrzymać np. 100 wierszy z wynikami, gdzie niekoniecznie muszą się pojawić konta, o które pytałem z uwagi na to, że są wirtualne lub ich nie ma w wykazie (API przy zapytaniu o wiele NIP-ów czy kont nie zwraca błędu lub informacji o braku w wykazie). Czy Twoje query radzi sobie z tym problemem? PS. podziwiam instrukcję, którą stworzyłeś.
Cześć Tomku,
Dziękuję za komentarz. 🙂 Ciekawy wątek poruszasz. Przyznam się szczerze, że nie zwracałem uwagi na fakt czy weryfikowane numery rachunków bankowych są wirtualne czy nie. To jest temat do sprawdzenia.
Pozdrawiam
Panie Michale,
Czy udało się ustalić, czy jest możliwe wygenerowanie i wyświetlenie unikatowego numeru zapytania? Bo jeżeli nie, to taka weryfikacja, pomimo że jak najbardziej pomocna przy codziennej pracy na potrzeby wewnętrzne, to niestety ale nie ma żadnej mocy dowodowej przed urzędem skarbowym.
Witaj Gosiu,
i dziękuję za komentarz. We wcześniejszych odpowiedziach pod tym artykułem umieściłem wyjaśnienie, że requestID można dodać do tego rozwiązania. Co zaś się tyczy „mocy dowodowej” to i tak powinno się wyniki tej weryfikacji drukować lub zapisywać w formacie PDF. Wtedy mamy stałe potwierdzenie, że taką weryfikację wykonano.
Pozdrawiam 🙂
Witam,
Doszedłem do kroku 14 i po wpisaniu podanego adresu mam informację iż jest błąd w nim.
Czy ten adres jest aktualny? (mam wpisany tylko jeden znak „=”)
Witaj Sylwestrze,
Nie podałeś treści komunikatu o błędzie, więc trudno mi wróżyć z fusów. Przyczyn może być wiele, ale sugerowałbym upewnienie się czy nazwa kolumny ZestawyNIP jest umieszczona w nawiasach kwadratowych.
Pozdrawiam
Czy w pliku CSV moze byc max 30 numerow NIP? Jesli mozemy odpytac 10x dziennie po 30 numerow, czy te 300 numerow moze byc w jednym pliku wsadowym? Czy raczej trzeba 10 razy zapuszczac query?
Cześć Wojtku,
ja umieściłbym wszystkie numery w jednym pliku. Nie widzę sensu, aby tworzyć dziesięć odrębnych plików. Zawsze pamiętajmy o optymalizacji czasu pracy, samej pracy oraz przestrzeni dyskowej. 🙂
Pozdrawiam
Dzięki za ten artykuł! Narzędzie jest stworzone i działa. Mam jednak kilka pytań:
– 10 zapytań po 30 kontrahentów to limit. Rozumiem, że dziennie mogę podać max. 300 linii i tool podzieli na 10 linijek?
– jeśli chcemy sprawdzać kontahenta po nr. Konta należy sparować je z odpowiednia kolumną z ekstraktu i nie musimy nic zmieniać do tej pory?
– Czy zachowany raport w osobnym pliku jest podstawą do dokumentacji audytowej?
z góry dzięki za odpowiedź!
Witaj Robercie,
Dziękuję za komentarz i pytania. Tak, jeśli zamiast wartości 5 przyjmiemy wartość 30 (jak to było w instrukcji), to otrzymamy 10 zapytań po 30 numerów NIP. Jeśli chcemy weryfikować kontrahenta po NRB to zacząłbym od utworzenia pliku źródłowego (może być CSV), w którym umieściłbym numery rachunków bankowych. Jednakże później należałoby zmienić zapytanie API, gdzie w adresie zamiast /nips/ umieścić należy /bank-accounts/. Nie traktowałbym raportu w osobnym pliku jako podstawę do dokumentacji audytowej, bo w każdej chwili można odświeżyć dane i stracimy poprzednią weryfikację, jeśli plik źródłowy uległ zmianie. Raczej skłaniałbym się w kierunku wydruku raportu lub pliku w formacie PDF.
Pozdrawiam
Podpinam się pod pytanie o request ID 🙂 w moim pliku również się nie pojawia. Dzięki.
Odpowiedź umieściłem w jednym z komentarzy pod artykułem.
Dzięki za opis. Jak już zostało napisane w komentarzach można pobrać request ID – pytanie tylko jak? Czy mógłbyś opisać sposób dopisania request ID dla każdego pobranego rekordu? dzięki.
Zapraszam do obejrzenia tego nagrania video. Link tutaj: https://youtu.be/U3nDGsyIaB0
Czy jest dostepne moze wideo z rozszerzeniem pliku o Request ID?
dziekuję
Witaj Anno,
Tak, na moim kanale na YouToube umieściłem film pokazujący jak wykonać takie narzędzie samodzielnie. Uwaga: w nagraniu weryfikuję numery kont, nie numery NIP.
Dzień Dobry,
po zmianie wersji API arkusz nie pokazuje danych ( jest ID Request, pozostałe kolumny null)
Co należy zmienić?
z góry dziękuję za wskazówkę
Anna
Dzień dobry,
Podłączam się pod pytanie Pani Anny.
U mnie z kolei wyskakuje błąd:
Wystąpił błąd w zapytaniu „”. Expression.Error: Nie można znaleźć pola „subjects” w rekordzie.
Szczegóły:
entries=[List]
requestDateTime=04-03-2021 12:46:56
requestId=bd7l6-8aj7df7
Z góry dziękuję za odpowiedź
Tomasz