Aktualnie obowiązujący druk

Pola formularza

Formularz: PIT-40 (19) (2013) (archiwalny) Roczne obliczenie podatku od dochodu uzyskanego przez podatnika w roku podatkowym



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/2013/11/25/1389/schemat.xsd

Pola

  • Pola typu String: dowolny ciąg znaków, znaki specjalne powinny być zapisane za pomocą encji HTML (np znaki < > to odpowiednio &lt; oraz &gt;
  • 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 bazie to zostanie nadpisany, musi być unikalny w bazie całego programu - czyli musi być unikalny również w zakresie wpisanych w programie profili/baz danych]</id>
          <forms type="Array">
            <item type="com.efile.data.FormFields">
              <typ>2768131</typ>
              <dataDod>[opcjonalne: data dodania jako timestamp w milisekundach]</dataDod>
              <dataMod>[opcjonalne: data modyfikacji jako timestamp w milisekundach]</dataMod>
              <p1>[NIP]</p1>
              <p4>[Rok na druku]</p4>
              <p1000>[Pole tekstowe]</p1000>
              <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_>
              <p9_3_subfield_>[Zaznaczenie wyboru: 1:NIP / 2:PESEL]</p9_3_subfield_>
              <p9_3_subfield_2>[Pole PESEL]</p9_3_subfield_2>
              <p9_3_subfield_3>[Pole NIP]</p9_3_subfield_3>
              <p10>[dataUrodzenia]</p10>
              <p11>[nazwisko]</p11>
              <p12>[pierwszeImie]</p12>
              <p13>[KodKraju]</p13>
              <p14>[Wojewodztwo]</p14>
              <p15>[Powiat]</p15>
              <p16>[Gmina]</p16>
              <p17>[Ulica]</p17>
              <p18>[NrDomu]</p18>
              <p19>[NrLokalu]</p19>
              <p20>[Miejscowosc]</p20>
              <p21>[KodPocztowy]</p21>
              <p22>[Poczta]</p22>
              <p23>[Checkbox (pole wyboru tak/nie)]</p23>
              <p24_>[Wartość wyboru w polu p24. Dostępne wartości: 1 2 3 4 5 ]</p24_>
              <p25>[Pole kwoty]</p25>
              <p26>[Pole kwoty]</p26>
              <p29>[Pole kwoty]</p29>
              <p30>[Pole kwoty]</p30>
              <p28>[Pole kwoty zaokrąglonej do 1 zł]</p28>
              <p31>[Pole kwoty]</p31>
              <p33>[Pole kwoty zaokrąglonej do 1 zł]</p33>
              <p34>[Pole kwoty]</p34>
              <p36>[Pole kwoty zaokrąglonej do 1 zł]</p36>
              <p37>[Pole kwoty]</p37>
              <p39>[Pole kwoty zaokrąglonej do 1 zł]</p39>
              <p40>[Pole kwoty]</p40>
              <p41>[Pole kwoty]</p41>
              <p43>[Pole kwoty zaokrąglonej do 1 zł]</p43>
              <p44>[Pole kwoty]</p44>
              <p47>[Pole kwoty]</p47>
              <p48>[Pole kwoty]</p48>
              <p46>[Pole kwoty zaokrąglonej do 1 zł]</p46>
              <p49>[Pole kwoty]</p49>
              <p50>[Pole kwoty]</p50>
              <p52>[Pole kwoty zaokrąglonej do 1 zł]</p52>
              <p57_subfield_1>[Składki na ubezpieczenie społeczne Pole p57 = jezeli(p57_subfield_1>p55,p55,p57_subfield_1) ]</p57_subfield_1>
              <p58_subfield_1>[w tym zagraniczne, o których mowa w art. 26 ust.1 pkt 2a ustawy Pole p58 = ograniczDo(p58_subfield_1,p57) ]</p58_subfield_1>
              <p59_subfield_1>[Zwrot niezależnie pobranych świadczeń Pole p59 = ograniczDo(p59_subfield_1,p55-p57) ]</p59_subfield_1>
              <p60>[pole wielowierszowe]</p60>
              <p61_subfield_1>[Inne odliczenia od dochodu, niewymienione w poz.57 i 59 Pole p61 = ograniczDo(p61_subfield_1,p55-p57-p59) ]</p61_subfield_1>
              <p64>[Pole kwoty]</p64>
              <p66>[Pole kwoty]</p66>
              <p67_subfield_1>[w tym zagraniczne, o których mowa w art. 27b ust.1 pkt 2 ustawy Pole p67 = jezeli(p67_subfield_1>p66,p66,p67_subfield_1) ]</p67_subfield_1>
              <p69>[pole wielowierszowe]</p69>
              <p70_subfield_1>[Inne odliczenia od podatku, niewymienione w poz. 66 Pole p70 = ograniczDo(p70_subfield_1,p65-p68) ]</p70_subfield_1>
              <p74>[pierwszeImiePrzedst]</p74>
              <p75>[nazwiskoPrzedst]</p75>

            </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 (pobierz i uruchom w programie):
<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 (19)</title>
          <id>647394756</id>
          <forms type="Array">
            <item type="com.efile.data.FormFields">
              <typ>2768131</typ>
              <dataDod>1374565725382</dataDod>
              <dataMod>1374565725382</dataMod>
              <p1>8875155741</p1>
              <p4>2013</p4>
              <p1000>test pola tekstowego</p1000>
              <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_>
              <p9_3_subfield_>2</p9_3_subfield_>
              <p9_3_subfield_2>23050608219</p9_3_subfield_2>
              <p9_3_subfield_3>8875155741</p9_3_subfield_3>
              <p10>30-10-1985</p10>
              <p11>Kowalski</p11>
              <p12>Jan</p12>
              <p13>PL</p13>
              <p14>wielkopolskie</p14>
              <p15>poznański</p15>
              <p16>Poznań</p16>
              <p17>Strzelecka</p17>
              <p18>1</p18>
              <p19>1</p19>
              <p20>Poznań</p20>
              <p21>61-155</p21>
              <p22>Poznań</p22>
              <p23>1</p23>
              <p24_>1</p24_>
              <p25>2</p25>
              <p26>1</p26>
              <p29>2</p29>
              <p30>2</p30>
              <p28>1</p28>
              <p31>2</p31>
              <p33>2</p33>
              <p34>1</p34>
              <p36>3</p36>
              <p37>4</p37>
              <p39>4</p39>
              <p40>3</p40>
              <p41>2</p41>
              <p43>5</p43>
              <p44>6</p44>
              <p47>6</p47>
              <p48>2</p48>
              <p46>5</p46>
              <p49>4</p49>
              <p50>2</p50>
              <p52>5</p52>
              <p57_subfield_1>1</p57_subfield_1>
              <p58_subfield_1>1</p58_subfield_1>
              <p59_subfield_1>1</p59_subfield_1>
              <p60>to jest pole wielowierszowe</p60>
              <p61_subfield_1>1</p61_subfield_1>
              <p64>5  </p64>
              <p66>10</p66>
              <p67_subfield_1>1</p67_subfield_1>
              <p69>to jest pole wielowierszowe</p69>
              <p70_subfield_1>1</p70_subfield_1>
              <p74>Krzysztof</p74>
              <p75>Kowalczyk</p75>

            </item>
          </forms>
        </item>    
      </FormsList>
    </item>
  </Profiles>
</data>