Pola formularza
Formularz: PIT-40 (22) (archiwalny) (2015, 2016) Roczne obliczenie podatku od dochodu uzyskanego przez podatnika (PIT-40 / PIT-40Z)
Import danych w formacie XML e-Deklaracji
- Dane tego formularza można wczytać za pomocą XML z systemu e-Deklaracji. Link do pliku XSD: http://crd.gov.pl/wzor/2016/01/07/3063/schemat.xsd
Pola
- Pola typu String: dowolny ciąg znaków, znaki specjalne powinny być zapisane za pomocą encji HTML (np znaki < > to odpowiednio < oraz >
- Pola typu Number: dozwolone znaki to cyfry 0-9 oraz separator dziesiętny (kropka)
- Pola typu Boolean: wartości logiczne true/false
- Pola daty: data zapisana w formacie timestamp w milisekundach lub w formacie rrrr-mm-dd, na przykład 1976-11-10.
- Format znaków to UTF-8
Bazy kodów
Tabele kodów krajów, US etc.Podstawowa struktura:
Wzór pliku:<data type="com.efile.importer.ImportData"> <Profiles type="Array"> <item type="com.efile.data.DBProfile"> <FormsList type="Array"> <item type="com.efile.data.DBForm"> <title>[nazwa formularza na liście moich formularzy]</title> <id>[opcjonalne: id wypełnionego formularza, jeśli będzie już taki wpisany w profilu to zostanie nadpisany, musi być unikalny w zakresie profilu, do którego jest importowany]</id> <forms type="Array"> <item type="com.efile.data.FormFields"> <typ>4575650</typ> <dataDod>[opcjonalne: data dodania jako timestamp w milisekundach]</dataDod> <dataMod>[opcjonalne: data modyfikacji jako timestamp w milisekundach]</dataMod> <p1>[NIP]</p1> <p1000>[idPP]</p1000> <p1001>[Telefon]</p1001> <p4>2015 / 2016* / </p4> <p1002>[Mail]</p1002> <p5_subfield_0>[Kod urzędu skarbowego]</p5_subfield_0> <p6_>[Wartość wyboru w polu p6. Dostępne wartości: 1 2 ]</p6_> <p7_>[Wartość wyboru w polu p7. Dostępne wartości: 1 2 ]</p7_> <p8_subfield_>[Wybór rodzaj podatnika]</p8_subfield_> <p8_subfield_4>[nazwa pełna]</p8_subfield_4> <p8_subfield_5>[REGON]</p8_subfield_5> <p8_subfield_1>[nazwisko]</p8_subfield_1> <p8_subfield_2>[imię]</p8_subfield_2> <p8_subfield_3>[data urodzenia]</p8_subfield_3> <p9_>[Wartość wyboru w polu p9. Dostępne wartości: 1 2 ]</p9_> <p10_>[Wartość wyboru w polu p10. Dostępne wartości: 1 2 ]</p10_> <p10_3_subfield_>[Zaznaczenie wyboru: 1:NIP / 2:PESEL]</p10_3_subfield_> <p10_3_subfield_2>[Pole PESEL]</p10_3_subfield_2> <p10_3_subfield_3>[Pole NIP]</p10_3_subfield_3> <p11>[nrIdPodatnikaZagr]</p11> <p12> / 1:numer identyfikacyjny TIN / 2:numer ubezpieczeniowy / 3:paszport / 4:urzędowy dokument stwierdzający tożsamość / 8:inny rodzaj identyfikacji podatkowej / 9:inny dokument potwierdzający tożsamość</p12> <p13>[krajIdPodatnikaZagr]</p13> <p14>[nazwisko]</p14> <p15>[pierwszeImie]</p15> <p16>[dataUrodzenia]</p16> <p17>[KodKraju]</p17> <p18>[Wojewodztwo]</p18> <p19>[Powiat]</p19> <p20>[Gmina]</p20> <p21>[Ulica]</p21> <p22>[NrDomu]</p22> <p23>[NrLokalu]</p23> <p24>[Miejscowosc]</p24> <p25>[KodPocztowy]</p25> <p26>[Poczta]</p26> <p27>[Checkbox (pole wyboru tak/nie)]</p27> <p28_>[Wartość wyboru w polu p28. Dostępne wartości: 1 2 3 4 5 ]</p28_> <p29>[Pole kwoty]</p29> <p30>[Pole kwoty]</p30> <p33>[Pole kwoty]</p33> <p34>[Pole kwoty]</p34> <p32>[Pole kwoty zaokrąglonej do 1 zł]</p32> <p35>[Pole kwoty]</p35> <p37>[Pole kwoty zaokrąglonej do 1 zł]</p37> <p38>[Pole kwoty]</p38> <p40>[Pole kwoty zaokrąglonej do 1 zł]</p40> <p41>[Pole kwoty]</p41> <p43>[Pole kwoty zaokrąglonej do 1 zł]</p43> <p44>[Pole kwoty]</p44> <p45>[Pole kwoty]</p45> <p47>[Pole kwoty zaokrąglonej do 1 zł]</p47> <p48>[Pole kwoty]</p48> <p51>[Pole kwoty]</p51> <p52>[Pole kwoty]</p52> <p50>[Pole kwoty zaokrąglonej do 1 zł]</p50> <p53>[Pole kwoty]</p53> <p54>[Pole kwoty]</p54> <p56>[Pole kwoty zaokrąglonej do 1 zł]</p56> <p61_subfield_1>[Składki na ubezpieczenie społeczne Pole p61 = jezeli(p61_subfield_1>p59,p59,p61_subfield_1) ]</p61_subfield_1> <p62_subfield_1>[w tym zagraniczne, o których mowa w art. 26 ust.1 pkt 2a ustawy Pole p62 = ograniczDo(p62_subfield_1,p61) ]</p62_subfield_1> <p63_subfield_1>[Zwrot niezależnie pobranych świadczeń Pole p63 = ograniczDo(p63_subfield_1,p59-p61) ]</p63_subfield_1> <p64>[pole wielowierszowe]</p64> <p65_subfield_1>[Inne odliczenia od dochodu, niewymienione w poz.57 i 59 Pole p65 = ograniczDo(p65_subfield_1,p59-p61-p63) ]</p65_subfield_1> <p68>[Pole kwoty]</p68> <p70>[Pole kwoty]</p70> <p71_subfield_1>[w tym zagraniczne, o których mowa w art. 27b ust.1 pkt 2 ustawy Pole p71 = jezeli(p71_subfield_1>p70,p70,p71_subfield_1) ]</p71_subfield_1> <p73>[pole wielowierszowe]</p73> <p74_subfield_1>[Inne odliczenia od podatku, niewymienione w poz. 66 Pole p74 = ograniczDo(p74_subfield_1,p69-p72) ]</p74_subfield_1> <p78>[pierwszeImiePrzedst]</p78> <p79>[nazwiskoPrzedst]</p79> </item> </forms> </item> <item type="com.efile.data.DBForm"> <forms type="Array"> <item type="com.efile.data.FormFields"> [... kolejny formularz ...] </item> </forms> <title>[nazwa formularza na liście moich formularzy]</title> </item> </FormsList> </item> </Profiles> </data>
Przykład pliku:
<data type="com.efile.importer.ImportData"> <Profiles type="Array"> <item type="com.efile.data.DBProfile"> <FormsList type="Array"> <item type="com.efile.data.DBForm"> <title>PIT-40 (22)</title> <id>647394756</id> <forms type="Array"> <item type="com.efile.data.FormFields"> <typ>4575650</typ> <dataDod>1374565725382</dataDod> <dataMod>1374565725382</dataMod> <p1>8875155741</p1> <p1000></p1000> <p1001>500600400</p1001> <p4>2016</p4> <p1002>test@test.pl</p1002> <p5_subfield_0>3022</p5_subfield_0> <p6_>1</p6_> <p7_>1</p7_> <p8_subfield_>2</p8_subfield_> <p8_subfield_4>Pełna nazwa testowa</p8_subfield_4> <p8_subfield_5>773461194</p8_subfield_5> <p8_subfield_1>Kowalski</p8_subfield_1> <p8_subfield_2>Jan</p8_subfield_2> <p8_subfield_3>30-10-1985</p8_subfield_3> <p9_>1</p9_> <p10_>1</p10_> <p10_3_subfield_>2</p10_3_subfield_> <p10_3_subfield_2>23050608219</p10_3_subfield_2> <p10_3_subfield_3>8875155741</p10_3_subfield_3> <p11></p11> <p12></p12> <p13></p13> <p14>Kowalski</p14> <p15>Jan</p15> <p16>30-10-1985</p16> <p17>PL</p17> <p18>wielkopolskie</p18> <p19>poznański</p19> <p20>Poznań</p20> <p21>Strzelecka</p21> <p22>1</p22> <p23>1</p23> <p24>Poznań</p24> <p25>61-155</p25> <p26>Poznań</p26> <p27>1</p27> <p28_>1</p28_> <p29>2</p29> <p30>1</p30> <p33>2</p33> <p34>2</p34> <p32>1</p32> <p35>2</p35> <p37>2</p37> <p38>1</p38> <p40>3</p40> <p41>4</p41> <p43>4</p43> <p44>3</p44> <p45>2</p45> <p47>5</p47> <p48>6</p48> <p51>6</p51> <p52>2</p52> <p50>5</p50> <p53>4</p53> <p54>2</p54> <p56>5</p56> <p61_subfield_1>1</p61_subfield_1> <p62_subfield_1>1</p62_subfield_1> <p63_subfield_1>1</p63_subfield_1> <p64>to jest pole wielowierszowe</p64> <p65_subfield_1>1</p65_subfield_1> <p68>5 </p68> <p70>10</p70> <p71_subfield_1>1</p71_subfield_1> <p73>to jest pole wielowierszowe</p73> <p74_subfield_1>1</p74_subfield_1> <p78>Krzysztof</p78> <p79>Kowalczyk</p79> </item> </forms> </item> </FormsList> </item> </Profiles> </data>