12423

ID12423
Data2023-04-24
Symbol2023/04/24/12423
InstytucjaMinisterstwo Finansów
NazwaJPK_GV EWIDENCJA WEWNĘTRZNA CZŁONKÓW GRUPY VAT (W FORMIE JEDNOLITEGO PLIKU KONTROLNEGO)
Czy Aktualny1

Ustawy (1)

  • URI://Dziennik_Ustaw/2023/57/16b/1
  • Ustawa z dnia 17 lutego 2005 r. o informatyzacji działalności podmiotów realizujących zadania publiczne (t.j. Dz. U. z 2023 r. poz. 57).

    Pliki

    Styl

    <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pf="http://crd.gov.pl/wzor/2023/04/24/12423/" version="1.0">
    	<xsl:import href="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2021/06/08/eD/DefinicjeSzablony/WspolneSzablonyWizualizacji_v10-0E.xsl"/>
    	<xsl:output method="html" encoding="UTF-8" indent="yes" version="4.01" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd"/>
    	<xsl:param name="nazwy-dla-kodow" select="true()"/>
    	<xsl:template name="TytulDokumentu">Ewidencja wewnętrzna członków grupy VAT</xsl:template>
    	<xsl:template name="StyleDlaFormularza">
    		<style type="text/css">
          .tlo-formularza { background-color:#D3D3D3; }
        </style>
    	</xsl:template>
    	<xsl:template match="pf:JPK">
    		<div class="jpk">
    			<xsl:call-template name="NaglowekTechnicznyJPKGV">
    				<xsl:with-param name="naglowek" select="pf:Naglowek"/>
    				<xsl:with-param name="uzycie" select="'deklaracja'"/>
    			</xsl:call-template>
    			<xsl:call-template name="NaglowekTytulowyVATGV">
    				<xsl:with-param name="naglowek" select="pf:Naglowek"/>
    				<xsl:with-param name="uzycie" select="'deklaracja'"/>
    				<xsl:with-param name="nazwa">
    					<br/>
    				Ewidencja wewnętrzna członków grupy VAT
            </xsl:with-param>
    				<xsl:with-param name="objasnienie">
    				</xsl:with-param>
    			</xsl:call-template>
    			<table class="normalna">
    				<tr>
    					<td class="wypelniane" style="width:50%">
    						<div class="opisrubryki">Data i czas sporządzenia JPK_GV</div>
    						<xsl:apply-templates select="pf:Naglowek/pf:DataWytworzeniaJPK"/>
    					</td>
    					<td class="wypelniane">
    						<div class="opisrubryki">Nazwa systemu, z którego pochodzą dane</div>
    						<xsl:apply-templates select="pf:Naglowek/pf:NazwaSystemu"/>
    					</td>
    				</tr>
    			</table>
    			<xsl:call-template name="MiejsceICelJPKGV">
    				<xsl:with-param name="sekcja">A.</xsl:with-param>
    			</xsl:call-template>
    			<xsl:for-each select="pf:Podmiot1">
    				<xsl:call-template name="PodmiotJPKGV">
    					<xsl:with-param name="sekcja">B.</xsl:with-param>
    				</xsl:call-template>
    			</xsl:for-each>
    			<xsl:call-template name="InformacjeOZmianach">
    				<xsl:with-param name="sekcja">C.</xsl:with-param>
    			</xsl:call-template>
    			<xsl:for-each select="*[local-name()='Ewidencja']">
    				<xsl:call-template name="Ewidencja">
    					<xsl:with-param name="sekcja">D.</xsl:with-param>
    				</xsl:call-template>
    			</xsl:for-each>
    		</div>
    	</xsl:template>
    	<xsl:template name="MiejsceICelJPKGV">
    		<xsl:param name="sekcja"/>
    		<h2 class="tytul-sekcja-blok">
    			<xsl:value-of select="$sekcja"/> MIEJSCE I CEL SKŁADANIA
        </h2>
    		<table class="normalna">
    			<tr>
    				<td class="niewypelnianeopisy" style="width:33%">
              Kod i nazwa urzędu skarbowego, do którego adresowana jest ewidencja
    				</td>
    				<td class="wypelniane" style="width:auto">
    					<div>
    						<xsl:apply-templates select="*[local-name()='Naglowek']/*[local-name()='KodUrzedu']"/>
    					</div>
    				</td>
    			</tr>
    			<tr>
    				<td class="niewypelnianeopisy">Cel złożenia:</td>
    				<td class="wypelniane">
    					<xsl:choose>
    						<xsl:when test="*[local-name()='Naglowek']/*[local-name()='CelZlozenia'] = 1">
    							<input type="checkbox" checked="checked" disabled="disabled"/>1. złożenie po raz pierwszy ewidencji za dany okres
                </xsl:when>
    						<xsl:when test="*[local-name()='Naglowek']/*[local-name()='CelZlozenia'] = 2">
    							<input type="checkbox" checked="checked" disabled="disabled"/>2. korekta ewidencji za dany okres
                </xsl:when>
    					</xsl:choose>
    				</td>
    			</tr>
    		</table>
    	</xsl:template>
    	<xsl:template name="PodmiotJPKGV">
    		<xsl:param name="sekcja"/>
    		<h2 class="tytul-sekcja-blok">
    			<xsl:value-of select="$sekcja"/> DANE CZŁONKA GRUPY VAT
          </h2>
    		<h3 class="tytul-sekcja-blok">
    			DANE IDENTYFIKACYJNE</h3>
    		<xsl:if test="pf:OsobaFizyczna">
    			<xsl:for-each select="pf:OsobaFizyczna">
    				<table class="normalna">
    					<tr>
    						<td class="wypelniane">
    							<div class="opisrubryki"> Identyfikator podatkowy NIP</div>
    							<xsl:apply-templates select="*[local-name() = 'NIP']"/>
    						</td>
    					</tr>
    				</table>
    				<table class="normalna">
    					<tr>
    						<td class="wypelniane" style="width:40%">
    							<div class="opisrubryki">Nazwisko</div>
    							<xsl:apply-templates select="*[local-name()='Nazwisko']"/>
    						</td>
    						<td class="wypelniane" style="width:40%">
    							<div class="opisrubryki">Pierwsze imię</div>
    							<xsl:apply-templates select="*[local-name()='ImiePierwsze']"/>
    						</td>
    						<td class="wypelniane" style="width:20%">
    							<div class="opisrubryki">Data urodzenia</div>
    							<xsl:apply-templates select="*[local-name()='DataUrodzenia']"/>
    						</td>
    					</tr>
    				</table>
    				<table class="normalna">
    					<tr>
    						<td class="wypelniane" style="width:50%">
    							<div class="opisrubryki">Adres poczty elektronicznej</div>
    							<xsl:apply-templates select="*[local-name() = 'Email']"/>
    						</td>
    						<td class="wypelniane">
    							<div class="opisrubryki">Numer telefonu kontaktowego</div>
    							<xsl:apply-templates select="*[local-name() = 'Telefon']"/>
    						</td>
    					</tr>
    				</table>
    			</xsl:for-each>
    		</xsl:if>
    		<xsl:if test="pf:OsobaNiefizyczna">
    			<xsl:for-each select="pf:OsobaNiefizyczna">
    				<table class="normalna">
    					<tr>
    						<td class="wypelniane">
    							<div class="opisrubryki">Identyfikator podatkowy NIP</div>
    							<xsl:apply-templates select="*[local-name()='NIP']"/>
    						</td>
    					</tr>
    					<tr>
    						<td class="wypelniane">
    							<div class="opisrubryki">Nazwa pełna</div>
    							<xsl:apply-templates select="*[local-name()='PelnaNazwa']"/>
    						</td>
    					</tr>
    				</table>
    				<table class="normalna">
    					<tr>
    						<td class="wypelniane" style="width:50%">
    							<div class="opisrubryki">Adres poczty elektronicznej</div>
    							<xsl:apply-templates select="*[local-name() = 'Email']"/>
    						</td>
    						<td class="wypelniane">
    							<div class="opisrubryki">Numer telefonu kontaktowego</div>
    							<xsl:apply-templates select="*[local-name() = 'Telefon']"/>
    						</td>
    					</tr>
    				</table>
    			</xsl:for-each>
    		</xsl:if>
    	</xsl:template>
    	<xsl:template name="InformacjeOZmianach">
    		<xsl:param name="sekcja"/>
    		<h2 class="tytul-sekcja-blok">
    			<xsl:value-of select="$sekcja"/> INFORMACJA
    		</h2>
    		<table class="normalna">
    			<tr>
    				<td class="wypelniane">
    					<div class="opisrubryki">Informacje o dokonanych zmianach i ich przyczynie - pole do uzupełnienia w przypadku składania korekty</div>
    					<xsl:apply-templates select="*[local-name()='Informacja']"/>
    				</td>
    			</tr>
    		</table>
    	</xsl:template>
    	<xsl:template name="Ewidencja">
    		<xsl:param name="sekcja"/>
    		<h2 class="tytul-sekcja-blok">
    			<xsl:value-of select="$sekcja"/> EWIDENJCA
    		</h2>
    		<xsl:for-each select="*[local-name()='Dokumenty']">
    			<h3 class="tytul-sekcja-blok">
    				<xsl:value-of select="$sekcja"/>1.<xsl:number value="position()" format="1. "/>Dokumenty
    			</h3>
    			<table class="normalna">
    				<tr>
    					<td class="niewypelniane" style="width: 5%">
    						<div class="opisrubryki">Lp. wiersza ewidencji</div>
    						<div>
    							<xsl:apply-templates select="pf:LpEwidencji"/>
    						</div>
    					</td>
    					<td class="wypelniane" style="width: 95%">
    						<div class="opisrubryki">Numer identyfikacji podatkowej członka grupy VAT, na rzecz którego dokonano czynności</div>
    						<div>
    							<xsl:apply-templates select="pf:NrKontrahenta"/>
    						</div>
    					</td>
    				</tr>
    			</table>
    			<table class="normalna">
    				<tr>
    					<td class="wypelniane">
    						<div class="opisrubryki">Imię i nazwisko lub nazwa członka grupy VAT, na rzecz którego dokonano czynności</div>
    						<div>
    							<xsl:apply-templates select="pf:NazwaKontrahenta"/>
    						</div>
    					</td>
    				</tr>
    				<tr>
    					<td class="wypelniane">
    						<div class="opisrubryki">Numer dokumentu</div>
    						<div>
    							<xsl:apply-templates select="pf:NrDokumentu"/>
    						</div>
    					</td>
    				</tr>
    			</table>
    			<table class="normalna">
    				<tr>
    					<td class="wypelniane" style="width: 33%">
    						<div class="opisrubryki">Data wystawienia dokumentu</div>
    						<div>
    							<xsl:apply-templates select="pf:DataWystawienia"/>
    						</div>
    					</td>
    					<td class="wypelniane" style="width: 33%">
    						<div class="opisrubryki">Data dokonania lub zakończenia dostawy towarów lub wykonania usługi</div>
    						<div>
    							<xsl:apply-templates select="pf:DataSprzedazy"/>
    						</div>
    					</td>
    					<td class="wypelniane" style="width: 33%">
    						<div class="opisrubryki">Kwota należności wynikająca z dokumentu</div>
    						<div class="kwota">
    							<xsl:call-template name="TransformataKwoty">
    								<xsl:with-param name="kwota" select="string(pf:KwotaNaleznosciOgolem)"/>
    								<xsl:with-param name="czyKwotaZaokraglona" select="0"/>
    							</xsl:call-template>
    						</div>
    					</td>
    				</tr>
    			</table>
    			<xsl:for-each select="pf:DokumentWiersz">
    				<table class="normalna">
    					<tr>
    						<td class="niewypelnianeopisy" style="width: 6%">
    							<div class="opisrubryki">Lp. wiersza dokumentu</div>
    							<div>
    								<xsl:apply-templates select="pf:LpWiersza"/>
    							</div>
    						</td>
    						<xsl:if test="pf:Towar">
    							<td class="wypelniane" style="width: 94%">
    								<div class="opisrubryki">Nazwa towaru</div>
    								<div>
    									<xsl:apply-templates select="pf:Towar"/>
    								</div>
    							</td>
    						</xsl:if>
    						<xsl:if test="pf:Usluga">
    							<td class="wypelniane" style="width: 94%">
    								<div class="opisrubryki">Nazwa usługi</div>
    								<div>
    									<xsl:apply-templates select="pf:Usluga"/>
    								</div>
    							</td>
    						</xsl:if>
    					</tr>
    				</table>
    				<table class="normalna">
    					<tr>
    						<td class="wypelniane">
    							<div class="opisrubryki">Miara dostarczonych towarów lub zakres wykonanych usług</div>
    							<div>
    								<xsl:apply-templates select="pf:Miara"/>
    							</div>
    						</td>
    					</tr>
    				</table>
    				<table class="normalna">
    					<tr>
    						<td class="wypelniane" style="width: 33%">
    							<div class="opisrubryki">Ilość (liczba) dostarczonych towarów lub zakres wykonanych usług</div>
    							<div>
    								<xsl:apply-templates select="pf:Ilosc"/>
    							</div>
    						</td>
    						<td class="wypelniane" style="width: 33%">
    							<div class="opisrubryki">Cena jednostkowa towaru lub usługi</div>
    							<div class="kwota">
    								<xsl:call-template name="TransformataKwoty">
    									<xsl:with-param name="kwota" select="string(pf:CenaJednostkowa)"/>
    									<xsl:with-param name="czyKwotaZaokraglona" select="0"/>
    								</xsl:call-template>
    							</div>
    						</td>
    						<td class="wypelniane" style="width: 33%">
    							<div class="opisrubryki">Kwota należności za dostarczone towary lub wykonane usługi, objęte transakcją</div>
    							<div class="kwota">
    								<xsl:call-template name="TransformataKwoty">
    									<xsl:with-param name="kwota" select="string(pf:KwotaNaleznosci)"/>
    									<xsl:with-param name="czyKwotaZaokraglona" select="0"/>
    								</xsl:call-template>
    							</div>
    						</td>
    					</tr>
    				</table>
    			</xsl:for-each>
    		</xsl:for-each>
    		<h3 class="tytul-sekcja-blok">
    			<xsl:value-of select="$sekcja"/>2.1. PODSUMOWANIE EWIDENCJI
    		</h3>
    		<xsl:for-each select="pf:SprzedazCtrl">
    			<table class="normalna">
    				<tr>
    					<td class="wypelniane" style="width: 50%">
    						<div class="opisrubryki">Liczba wprowadzonych do ewidencji dokumentów. Jeżeli w ewidencji nie wypełniono żadnego ze wskazanych elementów, wówczas należy wykazać 0</div>
    						<div>
    							<xsl:apply-templates select="pf:LiczbaDokumentow"/>
    						</div>
    					</td>
    					<td class="wypelniane" style="width: 50%">
    						<div class="opisrubryki">Suma kwot należności za dokonane dostawy lub wykonane usługi. Jeżeli w ewidencji nie wypełniono żadnego ze wskazanych elementów, wówczas należy wykazać 0.00</div>
    						<div class="kwota">
    							<xsl:call-template name="TransformataKwoty">
    								<xsl:with-param name="kwota" select="string(pf:KwotaNaleznosciSuma)"/>
    								<xsl:with-param name="czyKwotaZaokraglona" select="0"/>
    							</xsl:call-template>
    						</div>
    					</td>
    				</tr>
    			</table>
    		</xsl:for-each>
    	</xsl:template>
    	<xsl:template name="TransformataKwoty">
    		<xsl:param name="kwota"/>
    		<xsl:param name="czyKwotaZaokraglona"/>
    		<xsl:choose>
    			<xsl:when test="$kwota = ''">
    				<xsl:choose>
    					<xsl:when test="$czyKwotaZaokraglona">
    						zł
    					</xsl:when>
    					<xsl:otherwise>
    						zł‚   gr
    					</xsl:otherwise>
    				</xsl:choose>
    			</xsl:when>
    			<xsl:when test="string-length(substring-after(normalize-space($kwota),'.'))=1">
    				<xsl:value-of select="substring-before($kwota,'.')"/> zł, <xsl:value-of select="substring-after(normalize-space($kwota),'.')"/>0 gr
    			</xsl:when>
    			<xsl:when test="contains($kwota, '.')">
    				<xsl:value-of select="substring-before($kwota,'.')"/> zł‚ <xsl:value-of select="substring-after($kwota,'.')"/> gr
    			</xsl:when>
    			<xsl:otherwise>
    				<xsl:choose>
    					<xsl:when test="$czyKwotaZaokraglona">
    						<xsl:value-of select="$kwota"/> zł
    					</xsl:when>
    					<xsl:otherwise>
    						<xsl:value-of select="$kwota"/> zł‚ 00 gr
    					</xsl:otherwise>
    				</xsl:choose>
    			</xsl:otherwise>
    		</xsl:choose>
    	</xsl:template>
    	<xsl:template name="NaglowekTytulowyVATGV">
    		<xsl:param name="naglowek"/>
    		<xsl:param name="nazwa"/>
    		<xsl:param name="uzycie"/>
    		<div>
    			<xsl:choose>
    				<xsl:when test="$uzycie = 'deklaracja'">
    					<xsl:attribute name="class">tlo-formularza</xsl:attribute>
    				</xsl:when>
    			</xsl:choose>
    			<xsl:if test="$nazwa">
    				<h1 class="nazwa">
    					<xsl:copy-of select="$nazwa"/>
    				</h1>
    			</xsl:if>
    			<xsl:if test="$naglowek">
    				<div class="okres">
    					<xsl:apply-templates select="$naglowek/*[local-name()='Miesiac']"/>
    					<xsl:apply-templates select="$naglowek/*[local-name()='Rok']"/>
    				</div>
    			</xsl:if>
    		</div>
    	</xsl:template>
    	<xsl:template match="*[local-name()='Naglowek']/*[local-name()='Miesiac']">
    		za okres <span class="data">
    			<span class="opisrubryki">
    				<xsl:call-template name="WezNumerPozycji"/>
    				<xsl:text>Miesiąc  </xsl:text>
    			</span>
    			<xsl:apply-templates/>
    		</span>
    	</xsl:template>
    	<xsl:template name="NaglowekTechnicznyJPKGV">
    		<xsl:param name="uzycie"/>
    		<xsl:param name="naglowek"/>
    		<xsl:param name="alternatywny-naglowek" select="$naglowek"/>
    		<xsl:variable name="kod" select="$naglowek/*[local-name()='KodFormularza']"/>
    		<xsl:variable name="kod2" select="$alternatywny-naglowek/*[local-name()='KodFormularza']"/>
    		<xsl:variable name="wariant" select="$naglowek/*[local-name()='WariantFormularza']"/>
    		<div class="naglowek">
    			<table>
    				<tr>
    					<td colspan="2">
    						<span class="kod-formularza">
    							<xsl:apply-templates select="$kod"/>
    						</span>
    						<xsl:text> </xsl:text>
    						<span class="wariant">(<xsl:apply-templates select="$wariant"/>)</span>
    					</td>
    				</tr>
    				<tr>
    					<td class="etykieta">Kod systemowy</td>
    					<td class="tytulformularza">
    						<xsl:value-of select="$kod/@kodSystemowy"/>
    					</td>
    				</tr>
    				<xsl:call-template name="AtrybutNaglowka">
    					<xsl:with-param name="etykieta">Kod podatku</xsl:with-param>
    					<xsl:with-param name="pierwszy" select="$kod/@kodPodatku"/>
    					<xsl:with-param name="drugi" select="$kod2/@kodPodatku"/>
    				</xsl:call-template>
    			</table>
    		</div>
    	</xsl:template>
    </xsl:stylesheet>