Podpis JPK za pomocą profilu zaufanego epuap

Podpis JPK za pomocą profilu zaufanego epuap
SV
  • Rejestracja:ponad 13 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Warszawa
  • Postów:62
0

Witam,
wykonałem w Delphi wysyłanie pliku JPK z podpisem kwalifikowanym przy użyciu komponentów SecureBlackBox.
Aplikacja działa , weryfikacja podpisu kwalifikowanego przebiega poprawnie i uzyskuję na koniec UPO.
Teraz chciałbym podpisać wysyłany plik profilem zaufanym. Prosiłbym tu o jakieś informację jak się do tego zabrać. Z tego co wiem należy na początek taki profil założyć ...

edytowany 1x, ostatnio: flowCRANE
woolfik
Jeśli Ci się to udało lub uda Ci się całość to dobry temat aby ubrać to w artykuł / mikrobloga i opisać dla potomnych
MN
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:1
0

Tak z ciekawości - bo stoję przed identycznym problemem, jakieś wskazówki?

SV
  • Rejestracja:ponad 13 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Warszawa
  • Postów:62
0

Odpisuje trochę z opóźnieniem ;), a wynika to z faktu, że porzuciłem wówczas dany wątek i wróciłem do niego dość niedawno.
W skrócie istnieje api, poprzez które wysyłamy plik JPK, zwracany jest link do podpisu pliku dla użytkownika. Następnie api zwraca nam podpisany plik.
To byłoby w miarę fajnie, takie rozwiązanie ma np aplikacja ministerstwa do wysyłki JPK, ale...
by mieć do niej dostęp należy być wpisanym na odpowiednią listę znanych podmiotów aktywnych oraz otrzymać certyfikat. Niestety na tą listę mogą zostać wpisane tylko podmioty publiczne, niekomercyjne...cyt. "Do otrzymania certyfikatu do integracji uprawnione są podmioty publiczne w rozumieniu ustawy z dnia 17 lutego 2005 r. o informatyzacji działalności podmiotów realizujących zadania publiczne, którym na podstawie § 7 ust. 1 rozporządzenia Ministra Cyfryzacji z dnia 5 października 2016 r. w sprawie zakresu i warunków korzystania z elektronicznej platformy usług administracji publicznej, nadano funkcjonalność podmiotu publicznego"
Po małym rekonesansie skorzystałem z rozwiązania, z którego korzysta większość firm.
Generujemy plik metadane JPK, zaczytujemy go na stronie MF gdzie zostaje on podpisany, następnie podpisany plik zapisujemy na dysku i wczytujemy go do programu gdzie następuje jego wysyłka
Cała czynność z punktu widzenia użytkownika nie trwa dłużej niż 30 sek, a efekt jest osiągnięty

TS
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 2 godziny
  • Postów:853
0

@Svenson

  1. Napisałeś crawler, który wysyła plik przez ten formularz i później go ściąga?
  2. Gdzie później się wysyła już podpisany JPK?
  3. Nie wiesz może czy DG może stać się podmiotem publicznym czy da się w ogóle założyć coś co pozwalałoby mi dostać ten certyfikat np. fundację?
edytowany 5x, ostatnio: twoj_stary_pijany
SV
  • Rejestracja:ponad 13 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Warszawa
  • Postów:62
1

Nie napisałem crawlera.
Mój system zezwala zapis pliku żądania na dysku, gdzie dalej użytkownik musi go podpisać tu [https://moj.gov.pl/podatki/podpisz-jpk-vat-profilem-zaufanym/jpk/upload?xFormsAppName=JPK] tak podpisany plik zaczytuje z powrotem do mojego programu
Każdy plik JPK wysyła się za pomocą api [http://www.mf.gov.pl/documents/764034/5134536/Specyfikacja+interfejs%C3%B3w+us%C5%82ug+JPK]
Podpisuje się plik żądania (metadane JPK) za pomocą klucza kwalifikowanego lub profilu zaufanego. Którą metodę podpisu się nie wybierze plik ten dostaje tag ds:Signature
Szczerze nie wiem jak stać się podmiotem publicznym. Wniosek o dostęp i certyfikat wysyła się na swoim profilu zaufanym (jest tam opcja). My niestety nie dostaliśmy nawet żadnej odpowiedzi, a minęło przynajmniej ze 2 miesiące.

CH
  • Rejestracja:około 16 lat
  • Ostatnio:dzień
0

Witam. Nie wiem, czy założyć nowy wątek, czy mogę tutaj, bo częściowo w temacie. Do tej pory przeżyłem dwie wersje JPK_VAT (2 i 3). Z wersją 2 miałem małe zgrzyty, była to dla mnie nowość. Nakierował mnie kAzek. Jeszcze raz dziękuję. Na wersję 3 przeszedłem bez problemu. Teraz mam problem z nową wersją JPK_V7M. Jak w wersji Delphi 7 utworzę ze schematu unit (File-New-Other-XML Data Binding) to kompilator zgłasza mi błędy:

Kopiuj
[Error] schemat1.pas(705): Undeclared identifier: 'IXMLTIdentyfikatorOsobyFizycznej2'
[Error] schemat1.pas(705): Interface type required
[Error] schemat1.pas(1234): Undeclared identifier: 'TXMLTIdentyfikatorOsobyFizycznej2'
[Error] schemat1.pas(1234): Class type required
[Error] schemat1.pas(1432): Incompatible types: 'TXMLNodeClass' and 'Class reference'
[Error] schemat1.pas(3098): Undeclared identifier: 'ChildNodes'
[Error] schemat1.pas(3098): Missing operator or semicolon
[Error] schemat1.pas(3099): Statement expected, but expression of type 'Text' found
[Error] schemat1.pas(3103): Undeclared identifier: 'ChildNodes'
[Error] schemat1.pas(3103): Missing operator or semicolon
[Error] schemat1.pas(3108): Undeclared identifier: 'ChildNodes'
[Error] schemat1.pas(3108): Missing operator or semicolon
[Error] schemat1.pas(3109): Statement expected, but expression of type 'Text' found
[Error] schemat1.pas(3113): Undeclared identifier: 'ChildNodes'
[Error] schemat1.pas(3113): Missing operator or semicolon
[Fatal Error] elgos.dpr(52): Could not compile used unit 'schemat1.pas'

Nie wiem, czy to wina mojego Delphi, czy inna przyczyna. Być może te dalsze błędy będą konsekwencją pierwszego, czyli IXMLTIdentyfikatorOsobyFizycznej2. Jakby ktoś coś chciał mi powiedzieć. Nie jestem jakimś rasowym programistą, ale z podstawowymi rzeczami starałem sobie zawsze radzić.

edytowany 1x, ostatnio: flowCRANE
SV
  • Rejestracja:ponad 13 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Warszawa
  • Postów:62
0

@Chojeś: Nie korzystam z xml data binding, jednak z ciekawości utworzyłem taki u siebie z pliku xsd i obyło się bez żadnych problemów, również przy kompilacji.
U siebie mam Delphi 10.1. Przypadkiem posiadam również Delphi 7, ale tam nie mam w ogóle takiej opcji.
Jak chcesz to podeślij mi ten schemat
Na marginesie dodam, że miałem kiedyś problemy z importerem WSDL na D7, gdzie w D10.1 wszystko było ok...

edytowany 1x, ostatnio: Svenson
AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 22 godziny
  • Postów:3561
0

A skarbówka w ogóle honoruje PUAP?
Jeszcze całkiem niedawno ten pseudostandard był tam nieistniejący.

Firmy nie stać na 200zł/2 lata?


Bo C to najlepszy język, każdy uczeń ci to powie
SV
  • Rejestracja:ponad 13 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Warszawa
  • Postów:62
1

Obecnie profilem zaufanym można podpisywać niektóre dokumenty takie jak PIT-WZ, PIT-OP, PIT-37 i PIT-38 oraz plik JPK.
Nie mnie oceniać, które firmy na co stać, jeżeli jednak jest możliwość podpisu dokumentu za darmo to dlaczego z czegoś takiego nie korzystać.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)