Pola formularza

Formularz: PIT-28 (23) (2020) Zeznanie o wysokości uzyskanego przychodu, wysokości dokonanych odliczeń i należnego ryczałtu od przychodów ewidencjonowanych



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/2021/01/07/10284/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>21064819</typ>
              <dataDod>[opcjonalne: data dodania jako timestamp w milisekundach]</dataDod>
              <dataMod>[opcjonalne: data modyfikacji jako timestamp w milisekundach]</dataMod>
              <p1_>[Wartość wyboru w polu p1. Dostępne wartości: 1 2 ]</p1_>
              <p1_3_subfield_>[Zaznaczenie wyboru: 1:NIP / 2:PESEL]</p1_3_subfield_>
              <p1_3_subfield_2>[Pole PESEL]</p1_3_subfield_2>
              <p1_3_subfield_3>[Pole NIP]</p1_3_subfield_3>
              <p5_subfield_0>[Kod urzędu skarbowego]</p5_subfield_0>
              <p6a_>[Wartość wyboru w polu p6a. Dostępne wartości: 1 2 ]</p6a_>
              <p6_>[Wartość wyboru w polu p6. Dostępne wartości: 1 1 2 2 ]</p6_>
              <p7>[nazwisko]</p7>
              <p8>[pierwszeImie]</p8>
              <p9>[dataUrodzenia]</p9>
              <p10>[KodKraju]</p10>
              <p11>[Wojewodztwo]</p11>
              <p12>[Powiat]</p12>
              <p13>[Gmina]</p13>
              <p14>[Ulica]</p14>
              <p15>[NrDomu]</p15>
              <p16>[NrLokalu]</p16>
              <p17>[Miejscowosc]</p17>
              <p18>[KodPocztowy]</p18>
              <rect1805_4>[Klawisz tylko w e-pity (klik - eval na Wartosc)]</rect1805_4>
              <p19_subfield_1>[Przychody z działalności 3% Pole p19 = p19_subfield_1 ]</p19_subfield_1>
              <p20_subfield_1>[Przychody z działalności 5,5% Pole p20 = p20_subfield_1 ]</p20_subfield_1>
              <p21_subfield_1>[Przychody z działalności 8,5% Pole p21 = p21_subfield_1 ]</p21_subfield_1>
              <p22_subfield_1>[Przychody z działalności 10% Pole p22 = p22_subfield_1 ]</p22_subfield_1>
              <p23_subfield_1>[Przychody z działalności 17% Pole p23 = p23_subfield_1 ]</p23_subfield_1>
              <p24_subfield_1>[Przychody z działalności 20% Pole p24 = p24_subfield_1 ]</p24_subfield_1>
              <p26>[Pole kwoty]</p26>
              <p27>[Pole kwoty]</p27>
              <p28>[Pole kwoty]</p28>
              <p29>[Pole kwoty]</p29>
              <p30>[Pole kwoty]</p30>
              <p31>[Pole kwoty]</p31>
              <p33_subfield_1>[Przychody z najmu 8,5% Pole p33 = p33_subfield_1 ]</p33_subfield_1>
              <p34_subfield_1>[Przychody z najmu 12,5% Pole p34 = p34_subfield_1 ]</p34_subfield_1>
              <p36_subfield_1>[Przychody ze sprzedaży 2% Pole p36 = p36_subfield_1 ]</p36_subfield_1>
              <p47_subfield_1>[Przychody 2% art.17 Pole p47 = p47_subfield_1 ]</p47_subfield_1>
              <p48>[Pole kwoty]</p48>
              <p49>[Pole kwoty]</p49>
              <p50_subfield_1>[Przychody 8,5% art.17 Pole p50 = p50_subfield_1 ]</p50_subfield_1>
              <p51>[Pole kwoty]</p51>
              <p52_subfield_1>[Przychody 12,5% art.17 Pole p52 = p52_subfield_1 ]</p52_subfield_1>
              <p53>[Pole kwoty]</p53>
              <p54>[Pole kwoty]</p54>
              <p72_subfield_1>[Straty z lat ubiegłych Pole p72 = ograniczDo(p72_subfield_1,p46+p55-p73-p75) ]</p72_subfield_1>
              <p73_subfield_1>[Kwota składki na ubezpieczenie społeczne Pole p73 = ograniczDo(p73_subfield_1,p46+p55-p72-p75) ]</p73_subfield_1>
              <p74_subfield_1>[Kwota zagranicznej składki na ubezpieczenie społeczne Pole p74 = ograniczDo(p74_subfield_1,p73) ]</p74_subfield_1>
              <odliczenia1>[Klawisz tylko w e-pity (klik - eval na Wartosc)]</odliczenia1>
              <p75_subfield_1>[Odliczenia od przychodów Pole p75 = ograniczDo(p75_subfield_1,p46+p55-p72-p73) ]</p75_subfield_1>
              <odliczenia2>[Klawisz tylko w e-pity (klik - eval na Wartosc)]</odliczenia2>
              <p77_subfield_1>[Ulga odsetkowa Pole p77 = ograniczDo(p77_subfield_1,p76) ]</p77_subfield_1>
              <p79>[Pole kwoty]</p79>
              <p89>[Pole kwoty]</p89>
              <p101>[Pole kwoty]</p101>
              <p102>[Pole kwoty]</p102>
              <p103>[Pole kwoty]</p103>
              <p104>[Pole kwoty]</p104>
              <p105>[Pole kwoty]</p105>
              <p106>[Pole kwoty]</p106>
              <p109>[Pole kwoty]</p109>
              <p110>[Pole kwoty]</p110>
              <p111>[Pole kwoty]</p111>
              <p112>[Pole kwoty]</p112>
              <p113>[Pole kwoty]</p113>
              <p114>[Pole kwoty]</p114>
              <p117>[Pole kwoty]</p117>
              <p118>[Pole kwoty]</p118>
              <p119>[Pole kwoty]</p119>
              <p120>[Pole kwoty]</p120>
              <p121>[Pole kwoty]</p121>
              <p122>[Pole kwoty]</p122>
              <p124>[Pole kwoty]</p124>
              <p125>[Pole kwoty]</p125>
              <p126>[Pole kwoty]</p126>
              <p127>[Pole kwoty]</p127>
              <p128>[Pole kwoty]</p128>
              <p129>[Pole kwoty]</p129>
              <p131>[Pole kwoty zaokrąglonej do 1 zł]</p131>
              <p132>[Pole kwoty zaokrąglonej do 1 zł]</p132>
              <p133>[Pole kwoty zaokrąglonej do 1 zł]</p133>
              <p134>[Pole kwoty zaokrąglonej do 1 zł]</p134>
              <p135>[Pole kwoty zaokrąglonej do 1 zł]</p135>
              <p145>[Pole kwoty]</p145>
              <p147>[Pole kwoty]</p147>
              <p148>[Pole kwoty]</p148>
              <p150_subfield_1>[Kwota składki na ubezpieczenie zdrowotne Pole p150 = ograniczDo(p150_subfield_1,p149) ]</p150_subfield_1>
              <p151_subfield_1>[Kwota składki na ubezpieczenie zdrowotne, o której mowa w art.b ust. 1 pkt 2 Pole p151 = ograniczDo(p151_subfield_1,p150) ]</p151_subfield_1>
              <odliczenia3>[Klawisz tylko w e-pity (klik - eval na Wartosc)]</odliczenia3>
              <p152_subfield_1>[Kwota odliczenia od ryczałtu - wykazane w części C załącznika PIT/O Pole p152 = ograniczDo(p152_subfield_1,p149-p150) ]</p152_subfield_1>
              <p154_subfield_1>[Odliczenie od ryczatłu z tytułu poniesienia wydatków mieszkaniowych Pole p154 = ograniczDo(p154_subfield_1,p153) ]</p154_subfield_1>
              <odliczenia4>[Klawisz tylko w e-pity (klik - eval na Wartosc)]</odliczenia4>
              <p156>[rok]</p156>
              <p157>[Pole kwoty zaokrąglonej do 1 zł]</p157>
              <p158_>[Wartość wyboru w polu p158. Dostępne wartości: 1 2 3 ]</p158_>
              <cbxRyczAuto>[Checkbox (pole wyboru tak/nie)]</cbxRyczAuto>
              <p159>[Pole kwoty zaokrąglonej do 1 zł]</p159>
              <p162>[Pole kwoty zaokrąglonej do 1 zł]</p162>
              <p163>[Pole kwoty zaokrąglonej do 1 zł]</p163>
              <p164>[Pole kwoty zaokrąglonej do 1 zł]</p164>
              <p165>[Pole kwoty zaokrąglonej do 1 zł]</p165>
              <p166>[Pole kwoty zaokrąglonej do 1 zł]</p166>
              <p167>[Pole kwoty zaokrąglonej do 1 zł]</p167>
              <p168>[Pole kwoty zaokrąglonej do 1 zł]</p168>
              <p169>[Pole kwoty zaokrąglonej do 1 zł]</p169>
              <p170>[Pole kwoty zaokrąglonej do 1 zł]</p170>
              <p171>[Pole kwoty zaokrąglonej do 1 zł]</p171>
              <p172>[Pole kwoty zaokrąglonej do 1 zł]</p172>
              <p174>[Pole kwoty zaokrąglonej do 1 zł]</p174>
              <p175>[KRS OPP (kwota id: opp_kwota)]</p175>
              <rect2783>[Klawisz (klik - eval na Wartosc)]</rect2783>
              <wyrazamZgode>[Checkbox (pole wyboru tak/nie)]</wyrazamZgode>
              <p179>[Pole tekstowe]</p179>
              <p180>[Pole integer - wartość liczbowa]</p180>
              <p181>[Pole integer - wartość liczbowa]</p181>
              <p182>[Pole integer - wartość liczbowa]</p182>
              <p183>[Pole integer - wartość liczbowa]</p183>
              <p184>[Pole integer - wartość liczbowa]</p184>
              <p185_>[Wartość wyboru w polu p185. Dostępne wartości: 1 2 ]</p185_>
              <p186_>[Wartość wyboru w polu p186. Dostępne wartości: 1 2 3 ]</p186_>
              <p187>[pole wielowierszowe]</p187>
              <p188>[Checkbox (pole wyboru tak/nie)]</p188>
              <p189>[Checkbox (pole wyboru tak/nie)]</p189>
              <p190>[Checkbox (pole wyboru tak/nie)]</p190>
              <p191>[PosiadaczRachunku]</p191>
              <p192>[KrajBanku]</p192>
              <p193>[Rachunek]</p193>
              <p193_1>[Swift]</p193_1>
              <p195_subfield_0>[imię przedstawiciela]</p195_subfield_0>
              <p195_subfield_1>[nazwisko przedstawiciela]</p195_subfield_1>

            </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-28 (23)</title>
          <id>647394756</id>
          <forms type="Array">
            <item type="com.efile.data.FormFields">
              <typ>21064819</typ>
              <dataDod>1374565725382</dataDod>
              <dataMod>1374565725382</dataMod>
              <p1_>1</p1_>
              <p1_3_subfield_>2</p1_3_subfield_>
              <p1_3_subfield_2>23050608219</p1_3_subfield_2>
              <p1_3_subfield_3>8875155741</p1_3_subfield_3>
              <p5_subfield_0>3022</p5_subfield_0>
              <p6a_>1</p6a_>
              <p6_>1</p6_>
              <p7>Kowalski</p7>
              <p8>Jan</p8>
              <p9>30-10-1985</p9>
              <p10>PL</p10>
              <p11>wielkopolskie</p11>
              <p12>poznański</p12>
              <p13>Poznań</p13>
              <p14>Strzelecka</p14>
              <p15>1</p15>
              <p16>1</p16>
              <p17>Poznań</p17>
              <p18>61-155</p18>
              <rect1805_4></rect1805_4>
              <p19_subfield_1>1</p19_subfield_1>
              <p20_subfield_1>1</p20_subfield_1>
              <p21_subfield_1>1</p21_subfield_1>
              <p22_subfield_1>1</p22_subfield_1>
              <p23_subfield_1>1</p23_subfield_1>
              <p24_subfield_1>1</p24_subfield_1>
              <p26>10</p26>
              <p27>10</p27>
              <p28>10</p28>
              <p29>10</p29>
              <p30>10</p30>
              <p31>10</p31>
              <p33_subfield_1>1</p33_subfield_1>
              <p34_subfield_1>1</p34_subfield_1>
              <p36_subfield_1>1</p36_subfield_1>
              <p47_subfield_1>1</p47_subfield_1>
              <p48>10</p48>
              <p49>10</p49>
              <p50_subfield_1>1</p50_subfield_1>
              <p51>10</p51>
              <p52_subfield_1>1</p52_subfield_1>
              <p53>10</p53>
              <p54>10</p54>
              <p72_subfield_1>1</p72_subfield_1>
              <p73_subfield_1>1</p73_subfield_1>
              <p74_subfield_1>1</p74_subfield_1>
              <odliczenia1></odliczenia1>
              <p75_subfield_1>1</p75_subfield_1>
              <odliczenia2></odliczenia2>
              <p77_subfield_1>1</p77_subfield_1>
              <p79>10</p79>
              <p89>10</p89>
              <p101>10</p101>
              <p102>10</p102>
              <p103>10</p103>
              <p104>10</p104>
              <p105>10</p105>
              <p106>10</p106>
              <p109>10</p109>
              <p110>10</p110>
              <p111>10</p111>
              <p112>10</p112>
              <p113>10</p113>
              <p114>10</p114>
              <p117>10</p117>
              <p118>10</p118>
              <p119>10</p119>
              <p120>10</p120>
              <p121>10</p121>
              <p122>10</p122>
              <p124>10</p124>
              <p125>10</p125>
              <p126>10</p126>
              <p127>10</p127>
              <p128>10</p128>
              <p129>10</p129>
              <p131>10</p131>
              <p132>10</p132>
              <p133>10</p133>
              <p134>10</p134>
              <p135>10</p135>
              <p145>10</p145>
              <p147>10</p147>
              <p148>10</p148>
              <p150_subfield_1>1</p150_subfield_1>
              <p151_subfield_1>1</p151_subfield_1>
              <odliczenia3></odliczenia3>
              <p152_subfield_1>1</p152_subfield_1>
              <p154_subfield_1>1</p154_subfield_1>
              <odliczenia4></odliczenia4>
              <p156></p156>
              <p157>10</p157>
              <p158_>1</p158_>
              <cbxRyczAuto>1</cbxRyczAuto>
              <p159>10</p159>
              <p162>10</p162>
              <p163>10</p163>
              <p164>10</p164>
              <p165>10</p165>
              <p166>10</p166>
              <p167>10</p167>
              <p168>10</p168>
              <p169>10</p169>
              <p170>10</p170>
              <p171>10</p171>
              <p172>10</p172>
              <p174>10</p174>
              <p175></p175>
              <rect2783></rect2783>
              <wyrazamZgode>1</wyrazamZgode>
              <p179>test pola tekstowego</p179>
              <p180>10</p180>
              <p181>10</p181>
              <p182>10</p182>
              <p183>10</p183>
              <p184>10</p184>
              <p185_>1</p185_>
              <p186_>1</p186_>
              <p187>to jest pole wielowierszowe</p187>
              <p188>1</p188>
              <p189>1</p189>
              <p190>1</p190>
              <p191>Jan Nowak</p191>
              <p192>Polska</p192>
              <p193>453054504926965134154839080720</p193>
              <p193_1>SWIFT</p193_1>
              <p195_subfield_0>Krzysztof</p195_subfield_0>
              <p195_subfield_1>Kowalczyk</p195_subfield_1>

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