Discussion:
JPK - Jednolity Plik Kontroli
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
k***@wp.pl
2016-04-12 06:28:26 UTC
Permalink
Jest gdzieś miejsce (ministerstwo finansów ) gzie można zweryfikować
poprawność takiego pliku?

JPK będzie obowiązywał duże firmy od 1 lipca 2016.
tutaj struktury
http://www.mf.gov.pl/kontrola-skarbowa/dzialalnosc/jednolity-plik-kontrolny/-/asset_publisher/2NoO/content/struktury-jpk
szemrany
2016-04-12 18:09:07 UTC
Permalink
Post by k***@wp.pl
Jest gdzieś miejsce (ministerstwo finansów ) gzie można zweryfikować
poprawność takiego pliku?
Do weryfikacji służy plik XSD, jest także opublikowany.
--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
ktos
2016-04-12 19:43:38 UTC
Permalink
Post by szemrany
Post by k***@wp.pl
Jest gdzieś miejsce (ministerstwo finansów ) gzie można zweryfikować
poprawność takiego pliku?
Do weryfikacji służy plik XSD, jest także opublikowany.
Masz jakąś sugestię jak to robić?

Próbowałem w ten sposób walidować tegoroczne pity dla systemu e-deklaracje.
Nie pisałem własnego modułu walidacji tylko znalazłem kilka stron, na
których są walidatory.
Walidacji nie przechodziły moje PIT-y, spróbowałem walidować te
wygenerowane z formularzy interaktywnych (dzieło MF) i też wynik był
negatywny. System e-deklaracji testowy i urzędowy przyjmował takie PIT-y
bez zastrzeżeń.

Bezbłędny nie jestem bo system urzędowy znalazł mi później błędy w
adresie osób zagranicznych - ich akurat nie testowałem na walidatorach,
testowy je przyjmował.

Pytanie czy opublikowany schemat miał błędy/ był niezgodny z tym jakim
posługiwał się system urzędowy czy też system urzędowy ignoruje pewne błędy?
szemrany
2016-04-13 11:11:01 UTC
Permalink
Post by ktos
Post by szemrany
Post by k***@wp.pl
Jest gdzieś miejsce (ministerstwo finansów ) gzie można zweryfikować
poprawność takiego pliku?
Do weryfikacji służy plik XSD, jest także opublikowany.
Masz jakąś sugestię jak to robić?
http://stackoverflow.com/questions/446635/schema-validation-with-msxml-in-delphi
--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
k***@wp.pl
2016-04-19 18:26:09 UTC
Permalink
Post by szemrany
Post by ktos
Masz jakąś sugestię jak to robić?
http://stackoverflow.com/questions/446635/schema-validation-with-msxml-in-delphi
Ale sprawdzałeś czy to działa?

function TForm1.ValidXML(const xmlFile: String;
out err: IXMLDOMParseError): Boolean;
var
xml, xsd: IXMLDOMDocument2;
cache: IXMLDOMSchemaCollection;
s: String;
begin
xsd := CoDOMDocument40.Create;
xsd.Async := False;

xsd.load('http://www.mf.gov.pl/documents/764034/5134536/Schemat_JPK_KR%281%29_v1-0.xsd');

cache := CoXMLSchemaCache40.Create;
try
cache.add('http://jpk.mf.gov.pl/wzor/2016/03/09/03091/', xsd);
except
//tylko po to aby łatwo pobrać w Delphi błąd
ON E:Exception Do
begin
s:=E.Message;
Showmessage(s);
end;
end;
xml := CoDOMDocument40.Create;
xml.async := False;
xml.schemas := cache;

Result := xml.load(xmlFile);
if not Result then
err := xml.parseError
else
err := nil;
end

Odpowiedź:
'http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/ElementarneTypyDanych_v4-0E.xsd#/schema[1]/simpleType[position()
= 35 and @name = ''TNrDokumentu'']/restriction[1]'#$A'It is an error for
both length and minLength or maxLength to be present'

Druga funkcja

function TForm1.ValidXML2(const xmlFile: String;
out err: IXMLDOMParseError): Boolean;
var
xml, xml2, xsd: IXMLDOMDocument2;
schemas, cache: IXMLDOMSchemaCollection;
begin
xml := CoDOMDocument.Create as IXMLDOMDocument2;
if xml.load(xmlFile) then
begin
schemas := xml.namespaces;
if schemas.length > 0 then
begin
xsd := CoDOMDocument40.Create;
xsd.Async := False;
xsd.load(schemas.namespaceURI[0]);
cache := CoXMLSchemaCache40.Create;
cache.add(schemas.namespaceURI[1], xsd);
xml2 := CoDOMDocument40.Create;
xml2.async := False;
xml2.schemas := cache;
Result := xml2.load(xmlFile);
//err := xml.validate;
if not Result then
err := xml2.parseError
else
err := nil;
end;
end;
end;

schemas.namespaceURI[0]=>'http://jpk.mf.gov.pl/wzor/2016/03/09/03091/'
schemas.namespaceURI[1]=>''http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/''

przy ładowaniu xsd.load(schemas.namespaceURI[0]);
'Odmowa dostępu'
przy ładowaniu xsd.load(schemas.namespaceURI[1]);
'Parametr jest niepoprawny'
szemrany
2016-04-19 20:26:37 UTC
Permalink
Post by k***@wp.pl
Ale sprawdzałeś czy to działa?
Nie, nie mam obecnie takowej potrzeby. Link znalazłem ad hoc.
To była wskazówka, do wskazówek używa się dokumentacji i mózgu.
Np. to, że wskazówka jest sprzed 7 lat też warto przemyśleć i może poszukać
kolejnej, nowszej - jeśli się okaże, że ta jest nieaktualna.
Post by k***@wp.pl
function TForm1.ValidXML(const xmlFile: String;
out err: IXMLDOMParseError): Boolean;
var
xml, xsd: IXMLDOMDocument2;
cache: IXMLDOMSchemaCollection;
s: String;
begin
xsd := CoDOMDocument40.Create;
xsd.Async := False;
xsd.load('http://www.mf.gov.pl/documents/764034/5134536/Schemat_JPK_KR%281%29_v1-0.xsd');
cache := CoXMLSchemaCache40.Create;
try
cache.add('http://jpk.mf.gov.pl/wzor/2016/03/09/03091/', xsd);
except
//tylko po to aby łatwo pobrać w Delphi błąd
ON E:Exception Do
begin
s:=E.Message;
Showmessage(s);
end;
end;
xml := CoDOMDocument40.Create;
xml.async := False;
xml.schemas := cache;
Result := xml.load(xmlFile);
if not Result then
err := xml.parseError
else
err := nil;
end
'http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/ElementarneTypyDanych_v4-0E.xsd#/schema[1]/simpleType[position()
both length and minLength or maxLength to be present'
No i w czym problem? Komunikat mówi, że XML jest niezgodny z regułami,
chyba po to go walidujesz, by to stwierdzać, prawda?
--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
arivald
2016-04-20 04:09:50 UTC
Permalink
Post by szemrany
Post by k***@wp.pl
Ale sprawdzałeś czy to działa?
Nie, nie mam obecnie takowej potrzeby. Link znalazłem ad hoc.
To była wskazówka, do wskazówek używa się dokumentacji i mózgu.
Np. to, że wskazówka jest sprzed 7 lat też warto przemyśleć i może poszukać
kolejnej, nowszej - jeśli się okaże, że ta jest nieaktualna.
Post by k***@wp.pl
function TForm1.ValidXML(const xmlFile: String;
out err: IXMLDOMParseError): Boolean;
var
xml, xsd: IXMLDOMDocument2;
cache: IXMLDOMSchemaCollection;
s: String;
begin
xsd := CoDOMDocument40.Create;
xsd.Async := False;
xsd.load('http://www.mf.gov.pl/documents/764034/5134536/Schemat_JPK_KR%281%29_v1-0.xsd');
cache := CoXMLSchemaCache40.Create;
try
cache.add('http://jpk.mf.gov.pl/wzor/2016/03/09/03091/', xsd);
except
//tylko po to aby łatwo pobrać w Delphi błąd
ON E:Exception Do
begin
s:=E.Message;
Showmessage(s);
end;
end;
xml := CoDOMDocument40.Create;
xml.async := False;
xml.schemas := cache;
Result := xml.load(xmlFile);
if not Result then
err := xml.parseError
else
err := nil;
end
'http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/ElementarneTypyDanych_v4-0E.xsd#/schema[1]/simpleType[position()
both length and minLength or maxLength to be present'
No i w czym problem? Komunikat mówi, że XML jest niezgodny z regułami,
chyba po to go walidujesz, by to stwierdzać, prawda?
IMO problem w tym że XSD jest nieprawidłowy, łamie reguły.

W pliku jest:

<xsd:simpleType name="TZnakowy">
<xsd:annotation>
<xsd:documentation>Typ znakowy ograniczony do jednej
linii</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:minLength value="1"/>
<xsd:maxLength value="240"/>
</xsd:restriction>
</xsd:simpleType>

.....

<xsd:simpleType name="TNrDokumentu">
<xsd:annotation>
<xsd:documentation>Numer dokumentu</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="etd:TZnakowy">
<xsd:length value="5"/>
<xsd:pattern value="\d{2}/\d{2}"/>
</xsd:restriction>
</xsd:simpleType>


TNrDokumentu dziedziczy po TZnakowy, odziedzicza jego minLength i
maxLength dodając swój length.

Nie znam się na XSD, nie wiem czy to błąd w pliku, czy biblioteka
XML/XSD źle to interpretuje.
--
Arivald
k***@wp.pl
2016-04-20 06:04:49 UTC
Permalink
Post by arivald
Post by szemrany
Post by k***@wp.pl
Ale sprawdzałeś czy to działa?
Nie, nie mam obecnie takowej potrzeby. Link znalazłem ad hoc.
To była wskazówka, do wskazówek używa się dokumentacji i mózgu.
Np. to, że wskazówka jest sprzed 7 lat też warto przemyśleć i może poszukać
kolejnej, nowszej - jeśli się okaże, że ta jest nieaktualna.
Post by k***@wp.pl
function TForm1.ValidXML(const xmlFile: String;
out err: IXMLDOMParseError): Boolean;
var
xml, xsd: IXMLDOMDocument2;
cache: IXMLDOMSchemaCollection;
s: String;
begin
xsd := CoDOMDocument40.Create;
xsd.Async := False;
xsd.load('http://www.mf.gov.pl/documents/764034/5134536/Schemat_JPK_KR%281%29_v1-0.xsd');
cache := CoXMLSchemaCache40.Create;
try
cache.add('http://jpk.mf.gov.pl/wzor/2016/03/09/03091/', xsd);
except
//tylko po to aby łatwo pobrać w Delphi błąd
ON E:Exception Do
begin
s:=E.Message;
Showmessage(s);
end;
end;
xml := CoDOMDocument40.Create;
xml.async := False;
xml.schemas := cache;
Result := xml.load(xmlFile);
if not Result then
err := xml.parseError
else
err := nil;
end
'http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/ElementarneTypyDanych_v4-0E.xsd#/schema[1]/simpleType[position()
both length and minLength or maxLength to be present'
No i w czym problem? Komunikat mówi, że XML jest niezgodny z regułami,
chyba po to go walidujesz, by to stwierdzać, prawda?
IMO problem w tym że XSD jest nieprawidłowy, łamie reguły.
<xsd:simpleType name="TZnakowy">
<xsd:annotation>
<xsd:documentation>Typ znakowy ograniczony do jednej
linii</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:minLength value="1"/>
<xsd:maxLength value="240"/>
</xsd:restriction>
</xsd:simpleType>
.....
<xsd:simpleType name="TNrDokumentu">
<xsd:annotation>
<xsd:documentation>Numer dokumentu</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="etd:TZnakowy">
<xsd:length value="5"/>
<xsd:pattern value="\d{2}/\d{2}"/>
</xsd:restriction>
</xsd:simpleType>
TNrDokumentu dziedziczy po TZnakowy, odziedzicza jego minLength i
maxLength dodając swój length.
Nie znam się na XSD, nie wiem czy to błąd w pliku, czy biblioteka
XML/XSD źle to interpretuje.
Dzięki za podpowiedź.
k***@wp.pl
2016-04-20 09:43:16 UTC
Permalink
Wygląda na to że xsd jest prawidłowy

źródło: https://msdn.microsoft.com/en-us/library/ms766508(v=vs.85).aspx


function TForm3.ValidXML2(const xmlFile: String; out err:
IXMLDOMParseError): Boolean;
var
xmldoc, xmldoc2: IXMLDOMDocument2;
cache: IXMLDOMSchemaCollection;
err1,err2 : IXMLDOMParseError;
begin
xmldoc := CoDOMDocument60.Create;
xmldoc.async := false;
if xmldoc.load(xmlFile) then
begin
if (xmldoc.parseError.errorCode <> 0) then
begin
err1:= xmldoc.parseError;
ShowMessage('You have error ' + err1.reason);
end;// else ShowMessage(xmldoc.xml);
end;
cache := CoXMLSchemaCache60.Create;
cache.addCollection(xmldoc.namespaces);
xmldoc2 := CoDOMDocument60.Create;
xmldoc2.async:= false;
xmldoc2.schemas := cache;
xmldoc2.load(xmlFile);
if (xmldoc2.parseError.errorCode <> 0) then
begin
err2:= xmldoc2.parseError;
ShowMessage('You have error ' + err2.reason);
end else ShowMessage('Brak błędu'+#13+ xmldoc2.xml);
end;

Weryfikuje poprawnie e-deklaracje
i JPK -> chociaż tutaj za mało danych do 100% pewności.

Jaka kolwiek zmiana xml powoduje błąd

---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
k***@wp.pl
2016-04-21 06:43:50 UTC
Permalink
I guzik
Post by k***@wp.pl
xmldoc2.schemas := cache;
Po tym brak

err:=xmldoc.validate;

I dostaje błąd

'Węzeł nie jest poprawny ani niepoprawny — nie znaleziono deklaracji
schematu lub definicji DTD.'


Czy to oznacza że
cache := CoXMLSchemaCache60.Create;
cache.addCollection(xmldoc.namespaces);

nie ustawia prawidłowo schematu?

Taki sam efekt gdy jest
cache.addCollection(xmldoc.namespaces);
Czy też sam dodam plik
cache.add('http://crd.gov.pl/wzor/2013/06/18/1215/','C:\Users\Karol\Desktop\schemat.xsd');

To w przypadku deklaracji Vat-UE


---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
k***@wp.pl
2016-04-22 09:55:08 UTC
Permalink
Post by k***@wp.pl
I guzik
Post by k***@wp.pl
xmldoc2.schemas := cache;
Po tym brak
err:=xmldoc.validate;
I dostaje błąd
'Węzeł nie jest poprawny ani niepoprawny — nie znaleziono deklaracji
schematu lub definicji DTD.'
Według tej strony
http://druki-formularze.pl/node/4576833/fields/all/fields_xml
i podanym na niej linku do pliku

http://crd.gov.pl/wzor/2016/01/18/3120/schemat.xsd

notatnik++ tak samo jak mój program pokazuje błędy gdy puste pola
deklaracji wyglądają tak

<P_23/>
<P_24/>
<P_25/>
<P_26/>
<P_27/>
<P_28/>

A gdy wyglądają takt to jest w porządku
<P_23>0</P_23>
<P_24>0</P_24>
<P_25>0</P_25>
<P_26>0</P_26>
<P_27>0</P_27
<P_28>0</P_28>
Tylko mój kod mimo wszystko pokazuje powyższy błąd(Węzeł nie jest
poprawny...), a notatnik++ pokazuje że jest poprawny.

Czy ktoś kto waliduje prawidłowo e-deklaracje mógłby podpowiedzieć skąd
bierze prawidłowe pliki XSD?



---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
szemrany
2016-04-22 11:58:28 UTC
Permalink
Post by k***@wp.pl
notatnik++ tak samo jak mój program pokazuje błędy gdy puste pola
deklaracji wyglądają tak
<P_23/>
<P_24/>
<P_25/>
<P_26/>
<P_27/>
<P_28/>
A gdy wyglądają takt to jest w porządku
<P_23>0</P_23>
<P_24>0</P_24>
<P_25>0</P_25>
<P_26>0</P_26>
<P_27>0</P_27
<P_28>0</P_28>
Tylko, że te dwie wersje nie są tożsame. Pierwsza ma pustą zawartość w
tagach, a druga ma zera (czyli nie jest pusta). Z tego co kojarzę, to XML
zezwala na self closing tags, gdy ich zawartość jest pusta.

Poczytaj jeszcze to:

http://stackoverflow.com/questions/7231902/self-closing-tags-in-xml-files
--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
darekm
2016-04-18 16:44:03 UTC
Permalink
Post by ktos
Post by szemrany
Post by k***@wp.pl
Jest gdzieś miejsce (ministerstwo finansów ) gzie można zweryfikować
poprawność takiego pliku?
Do weryfikacji służy plik XSD, jest także opublikowany.
Masz jakąś sugestię jak to robić?
w notepad++ jest plugin do XML wraz z wygodnym validatorem

--
Darek
k***@wp.pl
2016-04-19 06:11:09 UTC
Permalink
Post by darekm
Post by ktos
Masz jakąś sugestię jak to robić?
w notepad++ jest plugin do XML wraz z wygodnym validatorem
Ale to jest klikalnie.
A jak to zrobić z poziomu delphi przy generowaniu.
myślę że o to chodziło.
g***@ciach.net
2016-04-19 09:55:33 UTC
Permalink
Post by k***@wp.pl
A jak to zrobić z poziomu delphi przy generowaniu.
myślę że o to chodziło.
Używałem kiedyś takiej funkcji - ale nie wiem, czy teraz działa :)

Function ValidateXML(xmlDocument, xmlSchema : String;
out sInfo: String): Boolean;
Var
xDoc,
xSchema : IXMLDOMDocument2;
sCache : IXMLDOMSchemaCollection;
dError : IXMLDOMParseError;
begin
If not FileExists(xmlDocument) Then
begin
Result := False;
sInfo := 'brak pliku : ' + xmlDocument;
Exit;
end;
If not FileExists(xmlSchema) Then
begin
Result := False;
sInfo := 'brak pliku : ' + xmlSchema;
Exit;
end;
try
xSchema := CoDOMDocument40.Create;
xSchema.async := false;
xSchema.load(xmlSchema);
sCache := CoXMLSchemaCache40.Create;
try
sCache.Add('',xSchema);
except
on E : Exception do
begin
Result := False;
sInfo := 'reason : ' + E.Message;
Exit;
end;
end;
xDoc := CoDOMDocument40.Create;
xDoc.async := False;
xDoc.resolveExternals := False;
xDoc.schemas := sCache;
xDoc.load(xmlDocument);
If xDoc.parseError.errorCode <> S_OK Then
Begin
Result := False;
sInfo := 'Reason : ' + xDoc.parseError.reason + #13#10 +
'SrcText : ' + xDoc.parseError.srcText + #13#10 +
'Line : ' + IntToStr(xDoc.parseError.line) + '; ' +
IntToStr(xDoc.parseError.linepos);
{sInfo := 'Reason : ' + dError.reason + #13#10 +
'SrcText : ' + dError.srcText + #13#10 +
'Line : ' + IntToStr(dError.line) + '; ' +
IntToStr(dError.linepos);}
End
Else
Begin
Result := True;
sInfo := 'OK';
End;
finally
dError := nil;
sCache := nil;
xSchema := nil;
xDoc := nil;
end;
End;
Miroo
2016-04-19 09:52:37 UTC
Permalink
Post by darekm
Post by ktos
Post by szemrany
Post by k***@wp.pl
Jest gdzieś miejsce (ministerstwo finansów ) gzie można zweryfikować
poprawność takiego pliku?
Do weryfikacji służy plik XSD, jest także opublikowany.
Masz jakąś sugestię jak to robić?
w notepad++ jest plugin do XML wraz z wygodnym validatorem
:)
Mój kolega obsługuje sporą firmę. Wyszedł mu plik ponad 6GB. Podsunę mu
ten pomysł :)

Swoją drogą ciekawe jak oni w fiskusie zamierzają to obsługiwać, bo to
6GB to tak naprawdę jest tylko część miesięcznego pliku JPK.

Pozdrawiam
k***@wp.pl
2016-04-20 06:03:14 UTC
Permalink
Post by Miroo
:)
Mój kolega obsługuje sporą firmę. Wyszedł mu plik ponad 6GB. Podsunę mu
ten pomysł :)
Swoją drogą ciekawe jak oni w fiskusie zamierzają to obsługiwać, bo to
6GB to tak naprawdę jest tylko część miesięcznego pliku JPK.
Pozdrawiam
A mógłbyś go podpytać w czym i w jaki sposób sprawdza poprawność tego pliku?
Miroo
2016-04-20 08:13:38 UTC
Permalink
Post by k***@wp.pl
Post by Miroo
:)
Mój kolega obsługuje sporą firmę. Wyszedł mu plik ponad 6GB. Podsunę mu
ten pomysł :)
Swoją drogą ciekawe jak oni w fiskusie zamierzają to obsługiwać, bo to
6GB to tak naprawdę jest tylko część miesięcznego pliku JPK.
Pozdrawiam
A mógłbyś go podpytać w czym i w jaki sposób sprawdza poprawność tego pliku?
Chyba nie sprawdza całości, tylko cząstki, z których się plik składa.
Przeszukaj google "delphi xsd validation" i wybierz jakąś procedurkę
opartą na streamach, może zadziała. Zwykle wykorzystuje się do tego
zaimportowany COM MSXML.

Pozdrawiam
szemrany
2016-04-21 12:52:44 UTC
Permalink
Post by Miroo
Post by darekm
Post by ktos
Masz jakąś sugestię jak to robić?
w notepad++ jest plugin do XML wraz z wygodnym validatorem
:)
Mój kolega obsługuje sporą firmę. Wyszedł mu plik ponad 6GB. Podsunę mu
ten pomysł :)
A co to za firma, w sensie wielkości? Skąd aż tyle danych? Ile dokumentów
ma ten plik? Dziwne to jakieś?
Post by Miroo
Swoją drogą ciekawe jak oni w fiskusie zamierzają to obsługiwać, bo to
6GB to tak naprawdę jest tylko część miesięcznego pliku JPK.
A wszystkie pliki ile zajmują?
--
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
Miroo
2016-04-21 13:59:14 UTC
Permalink
Post by szemrany
A co to za firma, w sensie wielkości? Skąd aż tyle danych? Ile dokumentów
ma ten plik? Dziwne to jakieś?
A wszystkie pliki ile zajmują?
Duża firma, duży obrót, szczegółów plików nie znam. Już nie mam wiele
wspólnego z księgowością i w temacie JPK się nie orientuję.

Pozdrawiam
pwola
2016-04-22 16:09:07 UTC
Permalink
Post by Miroo
Swoją drogą ciekawe jak oni w fiskusie zamierzają to obsługiwać, bo to
6GB to tak naprawdę jest tylko część miesięcznego pliku JPK.
Pewnie na razie wtylko wydaje im się, że będą to obsługiwać ;)

Z tego co widziałem to wersja "przed konsultacjami" miała sens
tzn. w pliku z obrotami na kontach
dokumety miały rownież przypisane konta
i mozna było sprawdzić poprawność księgowań

W wersji "po konsultacjach" są dokumenty/dekrety
ale nie ma informacji którego konta dotyczą :(

I jak znam życie albo dane te nie będą przydatne
albo,,, w ostatniej chwili wrzucą poprawkę i trzeba będzie to zmieniać

P.

Loading...