260 lines
24 KiB
XML
260 lines
24 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<template id="jpk_export_monthly_template">
|
|
<JPK xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2022/09/13/eD/DefinicjeTypy/" t-attf-xmlns="#{xmlns}">
|
|
<Naglowek>
|
|
<KodFormularza kodSystemowy="JPK_V7M (3)" wersjaSchemy="1-0E">JPK_VAT</KodFormularza>
|
|
<WariantFormularza t-out="3"/>
|
|
<DataWytworzeniaJPK t-out="date_now"/>
|
|
<NazwaSystemu>Odoo</NazwaSystemu>
|
|
<CelZlozenia poz="P_7" t-out="2 if options.get('l10n_pl_is_amendment') else 1"/>
|
|
<KodUrzedu t-out="company.l10n_pl_reports_tax_office_id.code"/>
|
|
<Rok t-out="date_year"/>
|
|
<Miesiac t-out="date_month"/>
|
|
</Naglowek>
|
|
<Podmiot1 rola="Podatnik">
|
|
<OsobaFizyczna t-if="not company.partner_id.is_company">
|
|
<!-- OsobaFizyczna (Natural person) and OsobaNiefizyczna (Non-natural person)
|
|
share some tag names, but these are defined in different namespaces.
|
|
Hence the specific etd namespace.
|
|
-->
|
|
<etd:NIP t-if="company.vat[:2].isdecimal()" t-out="company.vat.replace(' ', '')"/>
|
|
<etd:NIP t-else="" t-out="company.vat[2:].replace(' ', '')"/>
|
|
<etd:ImiePierwsze t-out="company.display_name.split()[0]"/>
|
|
<etd:Nazwisko t-if="len(company.display_name.split()) > 1" t-out="' '.join(company.display_name.split()[1:])"/>
|
|
<etd:Nazwisko t-else="" t-out=""/>
|
|
<etd:DataUrodzenia t-out="options.get('l10n_pl_birthdate')"/>
|
|
<Email t-if="company.email" t-out="company.email"/>
|
|
<Email t-else="" t-out=""/>
|
|
<Telefon t-if="company.phone" t-out="company.phone"/>
|
|
</OsobaFizyczna>
|
|
<OsobaNiefizyczna t-if="company.partner_id.is_company">
|
|
<NIP t-if="company.vat[:2].isdecimal()" t-out="company.vat.replace(' ', '')"/>
|
|
<NIP t-else="" t-out="company.vat[2:].replace(' ', '')"/>
|
|
<PelnaNazwa t-out="company.display_name"/>
|
|
<Email t-if="company.email" t-out="company.email"/>
|
|
<Email t-else="" t-out=""/>
|
|
<Telefon t-if="company.phone" t-out="company.phone"/>
|
|
</OsobaNiefizyczna>
|
|
</Podmiot1>
|
|
<Deklaracja t-if="agg_values">
|
|
<Naglowek>
|
|
<KodFormularzaDekl kodSystemowy="VAT-7 (23)" kodPodatku="VAT" rodzajZobowiazania="Z"
|
|
wersjaSchemy="1-0E">VAT-7</KodFormularzaDekl>
|
|
<WariantFormularzaDekl>23</WariantFormularzaDekl>
|
|
</Naglowek>
|
|
<PozycjeSzczegolowe>
|
|
<P_10 t-if="agg_values.get('10')" t-out="float_repr(agg_values.get('10'), 0)"/>
|
|
<P_11 t-if="agg_values.get('11')" t-out="float_repr(agg_values.get('11'), 0)"/>
|
|
<P_12 t-if="agg_values.get('12')" t-out="float_repr(agg_values.get('12'), 0)"/>
|
|
<P_13 t-if="agg_values.get('13')" t-out="float_repr(agg_values.get('13'), 0)"/>
|
|
<P_14 t-if="agg_values.get('14')" t-out="float_repr(agg_values.get('14'), 0)"/>
|
|
<P_15 t-if="agg_values.get('15')" t-out="float_repr(agg_values.get('15'), 0)"/>
|
|
<P_16 t-if="agg_values.get('16')" t-out="float_repr(agg_values.get('16'), 0)"/>
|
|
<P_17 t-if="agg_values.get('17')" t-out="float_repr(agg_values.get('17'), 0)"/>
|
|
<P_18 t-if="agg_values.get('18')" t-out="float_repr(agg_values.get('18'), 0)"/>
|
|
<P_19 t-if="agg_values.get('19')" t-out="float_repr(agg_values.get('19'), 0)"/>
|
|
<P_20 t-if="agg_values.get('20')" t-out="float_repr(agg_values.get('20'), 0)"/>
|
|
<P_21 t-if="agg_values.get('21')" t-out="float_repr(agg_values.get('21'), 0)"/>
|
|
<P_22 t-if="agg_values.get('22')" t-out="float_repr(agg_values.get('22'), 0)"/>
|
|
<P_23 t-if="agg_values.get('23')" t-out="float_repr(agg_values.get('23'), 0)"/>
|
|
<P_24 t-if="agg_values.get('24') or agg_values.get('23')" t-out="float_repr(agg_values.get('24', 0), 0)"/>
|
|
<P_25 t-if="agg_values.get('25')" t-out="float_repr(agg_values.get('25'), 0)"/>
|
|
<P_26 t-if="agg_values.get('26') or agg_values.get('25')" t-out="float_repr(agg_values.get('26', 0), 0)"/>
|
|
<P_27 t-if="agg_values.get('27')" t-out="float_repr(agg_values.get('27'), 0)"/>
|
|
<P_28 t-if="agg_values.get('28') or agg_values.get('27')" t-out="float_repr(agg_values.get('28', 0), 0)"/>
|
|
<P_29 t-if="agg_values.get('29')" t-out="float_repr(agg_values.get('29'), 0)"/>
|
|
<P_30 t-if="agg_values.get('30') or agg_values.get('29')" t-out="float_repr(agg_values.get('30', 0), 0)"/>
|
|
<P_31 t-if="agg_values.get('31')" t-out="float_repr(agg_values.get('31'), 0)"/>
|
|
<P_32 t-if="agg_values.get('32') or agg_values.get('31')" t-out="float_repr(agg_values.get('32', 0), 0)"/>
|
|
<P_33 t-if="agg_values.get('33')" t-out="float_repr(agg_values.get('33'), 0)"/>
|
|
<P_34 t-if="agg_values.get('34')" t-out="float_repr(agg_values.get('34'), 0)"/>
|
|
<P_35 t-if="agg_values.get('35')" t-out="float_repr(agg_values.get('35'), 0)"/>
|
|
<P_36 t-if="agg_values.get('36')" t-out="float_repr(agg_values.get('36'), 0)"/>
|
|
<P_37 t-if="not float_is_zero(agg_values.get('37'), 0)" t-out="float_repr(agg_values.get('37'), 0)"/>
|
|
<P_38 t-out="float_repr(agg_values.get('38', 0), 0)"/>
|
|
<P_39 t-if="agg_values.get('39')" t-out="float_repr(agg_values.get('39'), 0)"/>
|
|
<P_40 t-if="agg_values.get('40')" t-out="float_repr(agg_values.get('40'), 0)"/>
|
|
<P_41 t-if="agg_values.get('41')" t-out="float_repr(agg_values.get('41'), 0)"/>
|
|
<P_42 t-if="agg_values.get('42')" t-out="float_repr(agg_values.get('42'), 0)"/>
|
|
<P_43 t-if="agg_values.get('43')" t-out="float_repr(agg_values.get('43'), 0)"/>
|
|
<P_44 t-if="agg_values.get('44')" t-out="float_repr(agg_values.get('44'), 0)"/>
|
|
<P_45 t-if="agg_values.get('45')" t-out="float_repr(agg_values.get('45'), 0)"/>
|
|
<P_46 t-if="'46' in agg_values and float_compare(agg_values.get('46'), 0, 0) != 1"
|
|
t-out="float_repr(agg_values.get('46'), 0)"/>
|
|
<P_47 t-if="agg_values.get('47')" t-out="float_repr(agg_values.get('47'), 0)"/>
|
|
<P_48 t-if="not float_is_zero(agg_values.get('48', 0), 0)" t-out="float_repr(agg_values.get('48', 0), 0)"/>
|
|
<P_49 t-if="agg_values.get('49') and not float_is_zero(agg_values.get('49'), 0)" t-out="float_repr(agg_values.get('49'), 0)"/>
|
|
<P_50 t-if="agg_values.get('50') and not float_is_zero(agg_values.get('50'), 0)" t-out="float_repr(agg_values.get('50'), 0)"/>
|
|
<P_51 t-out="float_repr(agg_values.get('51', 0), 0)"/>
|
|
<P_52 t-if="agg_values.get('52')" t-out="float_repr(agg_values.get('52'), 0)"/>
|
|
<P_53 t-if="agg_values.get('53')" t-out="float_repr(agg_values.get('53'), 0)"/>
|
|
<P_54 t-if="not float_is_zero(agg_values.get('54', 0), 0)" t-out="float_repr(agg_values.get('54'), 0)"/>
|
|
<P_540 t-if="not float_is_zero(agg_values.get('54', 0), 0) and options.get('l10n_pl_repayment_timeframe') == '540'" t-out="1"/>
|
|
<P_55 t-if="not float_is_zero(agg_values.get('54', 0), 0) and options.get('l10n_pl_repayment_timeframe') == '55'" t-out="1"/>
|
|
<P_56 t-if="not float_is_zero(agg_values.get('54', 0), 0) and options.get('l10n_pl_repayment_timeframe') == '56'" t-out="1"/>
|
|
<P_560 t-if="not float_is_zero(agg_values.get('54', 0), 0) and options.get('l10n_pl_repayment_timeframe') == '560'" t-out="1"/>
|
|
<P_57 t-if="not float_is_zero(agg_values.get('54', 0), 0) and options.get('l10n_pl_repayment_timeframe') == '57'" t-out="1"/>
|
|
<P_58 t-if="not float_is_zero(agg_values.get('54', 0), 0) and options.get('l10n_pl_repayment_timeframe') == '58'" t-out="1"/>
|
|
<P_59 t-if="options.get('l10n_pl_repayment_future_tax')" t-out="1"/>
|
|
<P_60 t-if="options.get('l10n_pl_repayment_future_tax') and options.get('l10n_pl_repayment_future_tax_amount')"
|
|
t-out="float_repr(options.get('l10n_pl_repayment_future_tax_amount'), 0)"/>
|
|
<P_61 t-if="options.get('l10n_pl_repayment_future_tax') and options.get('l10n_pl_repayment_future_tax_type')"
|
|
t-out="options.get('l10n_pl_repayment_future_tax_type')"/>
|
|
<P_62 t-if="agg_values.get('53') and not float_is_zero(agg_values.get('53', 0) - agg_values.get('54', 0), 0)" t-out="float_repr(agg_values.get('53', 0) - agg_values.get('54', 0), 0)"/> <!--
|
|
<P_63 />
|
|
<P_64 /> Margin-based not supported by Odoo -->
|
|
<P_65 t-if="agg_values.get('65', 0)" t-out="1"/>
|
|
<P_66 t-if="any(val.get('l10n_pl_vat_tt_d', 0) != 0 for val in list_values)"
|
|
t-out="1"/> <!-- TODO fill P_660 with 1 when paid electronically, EDI -->
|
|
<P_67 t-if="options.get('l10n_pl_paid_before_deadline')" t-out="1"/>
|
|
<P_68 t-if="float_compare(agg_values.get('68', 0), 0, 2) != 1"
|
|
t-out="float_repr(agg_values.get('68', 0), 0)"/> <!-- only negative or 0 values can be entered -->
|
|
<P_69 t-if="float_compare(agg_values.get('69', 0), 0, 2) != 1"
|
|
t-out="float_repr(agg_values.get('69', 0), 0)"/> <!-- only negative or 0 values can be entered -->
|
|
<P_ORDZU t-if="options.get('l10n_pl_reason_amendment')" t-out="options.get('l10n_pl_reason_amendment')"/>
|
|
</PozycjeSzczegolowe>
|
|
<Pouczenia>1</Pouczenia>
|
|
</Deklaracja>
|
|
<Ewidencja>
|
|
<SprzedazWiersz t-foreach="output_tax_moves" t-as="i">
|
|
<LpSprzedazy t-out="i_index+1"/>
|
|
<KodKrajuNadaniaTIN t-if="i.get('vat')" t-out="not i.get('vat')[:2].isdecimal() and i.get('vat')[:2] or i.get('country_code')"/>
|
|
<NrKontrahenta t-if="i.get('vat')" t-out="not i.get('vat')[:2].isdecimal() and i.get('vat')[2:].replace(' ', '') or i.get('vat').replace(' ', '')"/>
|
|
<NrKontrahenta t-else="" t-out="'BRAK'"/>
|
|
<NazwaKontrahenta t-if="i.get('partner_complete_name')" t-out="i['partner_complete_name']"/>
|
|
<NazwaKontrahenta t-else="" t-out="'BRAK'"/>
|
|
<DowodSprzedazy t-out="i.get('move_name')"/>
|
|
<DataWystawienia t-out="i.get('invoice_date')"/>
|
|
<DataSprzedazy t-if="i.get('sale_date') and i.get('move_type') in ('out_invoice','out_refund')" t-out="i.get('sale_date')"/>
|
|
<NrKSeF t-if="i.get('ksef_reference') not in ('OFF', 'BFK', 'DI')" t-out="i.get('ksef_reference')"/>
|
|
<OFF t-elif="i.get('ksef_reference') == 'OFF'" t-out="1"/>
|
|
<BFK t-elif="i.get('ksef_reference') == 'BFK'" t-out="1"/>
|
|
<DI t-elif="i.get('ksef_reference') == 'DI'" t-out="1"/>
|
|
<TypDokumentu t-if="i.get('pos_session_id')" t-out="'RO'"/>
|
|
<TypDokumentu t-elif="i.get('move_type') == 'entry'" t-out="'WEW'"/>
|
|
<TypDokumentu t-elif="i.get('pos_order_id')" t-out="'FP'"/> <!-- to change everywhere to not include tax -->
|
|
<t t-if="i.get('gtus') and i.get('move_type') not in ('in_invoice', 'in_refund', 'in_receipt', 'entry') and not i.get('pos_session_id')">
|
|
<GTU_01 t-if="'GTU_01' in i.get('gtus')" t-out="1"/>
|
|
<GTU_02 t-if="'GTU_02' in i.get('gtus')" t-out="1"/>
|
|
<GTU_03 t-if="'GTU_03' in i.get('gtus')" t-out="1"/>
|
|
<GTU_04 t-if="'GTU_04' in i.get('gtus')" t-out="1"/>
|
|
<GTU_05 t-if="'GTU_05' in i.get('gtus')" t-out="1"/>
|
|
<GTU_06 t-if="'GTU_06' in i.get('gtus')" t-out="1"/>
|
|
<GTU_07 t-if="'GTU_07' in i.get('gtus')" t-out="1"/>
|
|
<GTU_08 t-if="'GTU_08' in i.get('gtus')" t-out="1"/>
|
|
<GTU_09 t-if="'GTU_09' in i.get('gtus')" t-out="1"/>
|
|
<GTU_10 t-if="'GTU_10' in i.get('gtus')" t-out="1"/>
|
|
<GTU_11 t-if="'GTU_11' in i.get('gtus')" t-out="1"/>
|
|
<GTU_12 t-if="'GTU_12' in i.get('gtus')" t-out="1"/>
|
|
<GTU_13 t-if="'GTU_13' in i.get('gtus')" t-out="1"/>
|
|
</t>
|
|
<WSTO_EE t-if="i.get('oss_tag')" t-out="1"/> <!--
|
|
<IED /> Designation used by operators of electronic interfaces that are not registered for the purposes of the IOSS or OSS specific schemes and facilitate the supply of goods to private individuals -->
|
|
<TP t-if="i.get('l10n_pl_links_with_customer')" t-out="1"/> <!-- link customer supplier -->
|
|
<TT_WNT t-if="i.get('l10n_pl_vat_tt_wnt', 0) != 0" t-out="1"/> <!-- Intra-Com Acquisition goods second VAT payer Triangular -->
|
|
<TT_D t-if="i.get('l10n_pl_vat_tt_d', 0) != 0" t-out="1"/> <!-- Intra-Com Supply of goods second VAT payer Triangular --> <!--
|
|
<MR_T/> Margin-based not supported by Odoo
|
|
<MR_UZ/> Margin-based not supported by Odoo -->
|
|
<I_42 t-if="i.get('l10n_pl_vat_i_42', 0) != 0" t-out="1"/> <!-- https://www.asd-int.com/en/what-is-a-customs-regime-the-example-of-the-customs-regime-42/
|
|
So goods from Out Of Europe, imported in a EU country, but sold to a customer from another country -->
|
|
<I_63 t-if="i.get('l10n_pl_vat_i_63', 0) != 0" t-out="1"/> <!-- https://poradnikprzedsiebiorcy.pl/-procedura-celna-63-a-nowe-oznaczenie-w-pliku-jpk-v7-przyklady-cz-i
|
|
So: From Out of Europe, imported in EU country, resold to a Out Of Europe Country for transformation, then imported back in the first EU country, before being sold in another EU country -->
|
|
<B_SPV t-if="i.get('l10n_pl_vat_b_spv')" t-out="1"/> <!-- For all SPV/MPV https://poradnikprzedsiebiorcy.pl/-b-spv-dostawa-w-jakich-sytuacjach-oznaczamy-w-pliku-jpk-v7
|
|
B_SPV, when the taxpayer sells a single-purpose voucher on its own behalf;-->
|
|
<B_SPV_DOSTAWA t-if="i.get('l10n_pl_vat_b_spv_dostawa')" t-out="1"/> <!-- B_SPV_DOSTAWA, when the taxpayer delivers the goods/performs the service as part of the exchange for a single-purpose voucher that he did not issue himself -->
|
|
<B_MPV_PROWIZJA t-if="i.get('l10n_pl_vat_b_mpv_prowizja')" t-out="1"/> <!-- B_MPV_PROWIZJA, when the taxpayer acts as an intermediary in the sale of vouchers for various purposes and does not exchange them for goods/services -->
|
|
<KorektaPodstawyOpodt t-if="'46' in i.get('tax_values')" t-out="1"/>
|
|
<TerminPlatnosci t-if="'46' in i.get('tax_values')" t-out="i.get('reversed_move_date_due')"/>
|
|
<DataZaplaty t-if="'47' in i.get('tax_values')" t-out="i.get('date')"/>
|
|
<t t-if="not i.get('pos_order_id')">
|
|
<K_10 t-if="'10' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('10'), 2)"/>
|
|
<K_11 t-if="'11' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('11'), 2)"/>
|
|
<K_12 t-if="'12' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('12'), 2)"/>
|
|
<K_13 t-if="'13' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('13'), 2)"/>
|
|
<K_14 t-if="'14' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('14'), 2)"/>
|
|
<K_15 t-if="'15' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('15'), 2)"/>
|
|
<K_16 t-if="'16' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('16'), 2)"/>
|
|
<K_17 t-if="'17' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('17'), 2)"/>
|
|
<K_18 t-if="'18' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('18'), 2)"/>
|
|
<K_19 t-if="'19' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('19'), 2)"/>
|
|
<K_20 t-if="'20' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('20'), 2)"/>
|
|
<K_21 t-if="'21' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('21'), 2)"/>
|
|
<K_22 t-if="'22' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('22'), 2)"/>
|
|
<K_23 t-if="'23' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('23'), 2)"/>
|
|
<K_24 t-if="'23' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('24', 0.00), 2)"/> <!-- 0.00 should atleast always be declared if transaction in K_23 -->
|
|
<K_25 t-if="'25' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('25'), 2)"/>
|
|
<K_26 t-if="'25' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('26', 0.00), 2)"/> <!-- 0.00 should atleast always be declared if transaction in K_25 -->
|
|
<K_27 t-if="'27' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('27'), 2)"/>
|
|
<K_28 t-if="'27' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('28', 0.00), 2)"/> <!-- 0.00 should atleast always be declared if transaction in K_27 -->
|
|
<K_29 t-if="'29' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('29'), 2)"/>
|
|
<K_30 t-if="'29' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('30', 0.00), 2)"/> <!-- 0.00 should atleast always be declared if transaction in K_29 -->
|
|
<K_31 t-if="'31' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('31'), 2)"/>
|
|
<K_32 t-if="'31' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('32', 0.00), 2)"/> <!-- 0.00 should atleast always be declared if transaction in K_31 -->
|
|
<K_33 t-if="'33' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('33'), 2)"/>
|
|
<K_34 t-if="'34' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('34'), 2)"/>
|
|
<K_35 t-if="'35' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('35'), 2)"/>
|
|
<K_36 t-if="'36' in i.get('tax_values')" t-out="float_repr(i.get('tax_values').get('36'), 2)"/> <!--
|
|
<SprzedazVAT_Marza/> Margin-based not supported by Odoo -->
|
|
</t>
|
|
</SprzedazWiersz>
|
|
<SprzedazCtrl>
|
|
<LiczbaWierszySprzedazy t-out="len(output_tax_moves)"/>
|
|
<PodatekNalezny t-out="float_repr(sum_output_tax, 2)"/>
|
|
</SprzedazCtrl>
|
|
<ZakupWiersz t-foreach="input_tax_moves" t-as="b">
|
|
<LpZakupu t-out="b_index+1"/>
|
|
<KodKrajuNadaniaTIN t-if="b.get('vat')" t-out="not b.get('vat')[:2].isdecimal() and b.get('vat')[:2] or b.get('country_code')"/>
|
|
<NrDostawcy t-if="b.get('vat')" t-out="not b.get('vat')[:2].isdecimal() and b.get('vat')[2:].replace(' ', '') or b.get('vat').replace(' ', '')"/>
|
|
<NrDostawcy t-else="" t-out="'BRAK'"/>
|
|
<NazwaDostawcy t-if="b.get('partner_complete_name')" t-out="b.get('partner_complete_name')"/>
|
|
<NazwaDostawcy t-else="" t-out="'BRAK'"/>
|
|
<DowodZakupu t-out="b.get('reference') or b.get('move_name')"/>
|
|
<DataZakupu t-out="b.get('move_date')"/>
|
|
<DataWplywu t-if="b.get('create_date') != b.get('move_date')" t-out="b.get('create_date')"/>
|
|
<NrKSeF t-if="b.get('ksef_reference') not in ('OFF', 'BFK', 'DI')" t-out="b.get('ksef_reference')"/>
|
|
<OFF t-elif="b.get('ksef_reference') == 'OFF'" t-out="1"/>
|
|
<BFK t-elif="b.get('ksef_reference') == 'BFK'" t-out="1"/>
|
|
<DI t-elif="b.get('ksef_reference') == 'DI'" t-out="1"/>
|
|
<DokumentZakupu t-if="b.get('move_type') == 'entry'" t-out="'WEW'"/> <!--
|
|
Did not do 'MK' as we need to know when the supplier is using cash basis accounting
|
|
Did not do VAT_RR, as we need to provide a way to generate this type of invoice, (for example, it should be written on it that it is a VAT RR invoice => buying agricultural products) -->
|
|
<IMP t-if="'28' in b.get('tax_values') or '26' in b.get('tax_values')" t-out="1"/>
|
|
<K_40 t-if="'40' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('40'), 2)"/>
|
|
<K_41 t-if="'41' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('41'), 2)"/>
|
|
<K_42 t-if="'42' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('42'), 2)"/>
|
|
<K_43 t-if="'43' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('43'), 2)"/>
|
|
<K_44 t-if="'44' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('44'), 2)"/>
|
|
<K_45 t-if="'45' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('45'), 2)"/>
|
|
<K_46 t-if="'46' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('46'), 2)"/>
|
|
<K_47 t-if="'47' in b.get('tax_values')" t-out="float_repr(b.get('tax_values').get('47'), 2)"/> <!--
|
|
<ZakupVAT_Marza /> Margin-based not supported by Odoo -->
|
|
</ZakupWiersz>
|
|
<ZakupCtrl>
|
|
<LiczbaWierszyZakupow t-out="len(input_tax_moves)"/>
|
|
<PodatekNaliczony t-out="float_repr(sum_input_tax, 2)"/>
|
|
</ZakupCtrl>
|
|
</Ewidencja>
|
|
</JPK>
|
|
</template>
|
|
|
|
|
|
<!-- Due to the xpaths, the indent in the file generated does not follow exactly the logic here.
|
|
Thus, the indent here is not perfect on purpose, so the file generated has the right indent -->
|
|
<template id="jpk_export_quarterly_template" inherit_id="l10n_pl_reports.jpk_export_monthly_template" primary="True">
|
|
<!-- This template is used when returning quarterly the jpk -->
|
|
|
|
<xpath expr="//*[local-name()='JPK']/*[local-name()='Naglowek']/*[local-name()='KodFormularza']" position="replace">
|
|
<KodFormularza kodSystemowy="JPK_V7K (3)" wersjaSchemy="1-0E">JPK_VAT</KodFormularza>
|
|
</xpath>
|
|
<xpath expr="//*[local-name()='JPK']/*[local-name()='Deklaracja']/*[local-name()='Naglowek']" position="replace">
|
|
<Naglowek>
|
|
<KodFormularzaDekl kodSystemowy="VAT-7K (17)" kodPodatku="VAT" rodzajZobowiazania="Z"
|
|
wersjaSchemy="1-0E">VAT-7K</KodFormularzaDekl>
|
|
<WariantFormularzaDekl>17</WariantFormularzaDekl>
|
|
<Kwartal t-out="int(date_month)//3"/>
|
|
</Naglowek>
|
|
</xpath>
|
|
</template>
|
|
</odoo>
|