/usr/lib/python2.7/dist-packages/trytond/modules/account_payment_sepa_cfonb/template/pain.001.001.03-cfonb.xml is in tryton-modules-account-payment-sepa-cfonb 3.8.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | <?xml version="1.0" encoding="UTF-8"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:py="http://genshi.edgewall.org/">
<xi:include href="base.xml"/>
<xi:include href="base-cfonb.xml"/>
<!-- version 3 uses BIC instead of BICFI -->
<py:def function="FinancialInstitution(bank, only_bic=False)">
<FinInstnId>
<BIC py:if="bank.bic">${bank.bic}</BIC>
<py:if test="not only_bic">
<!-- ClrSysMmbId -->
<Nm>${bank.party.name[:140]}</Nm>
</py:if>
<Othr py:if="not bank.bic">
<Id>NOTPROVIDED</Id>
</Othr>
</FinInstnId>
</py:def>
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>${group.reference[:35]}</MsgId>
<CreDtTm>${datetime.datetime.now().isoformat()}</CreDtTm>
<NbOfTxs>${sum(len(payments) for _, payments in group.sepa_payments)}</NbOfTxs>
<CtrlSum>${sum(p.amount for p in group.payments)}</CtrlSum>
<InitgPty>
${PartyIdentification(group.sepa_initiating_party)}
</InitgPty>
</GrpHdr>
<PmtInf py:for="key, payments in group.sepa_payments">
<PmtInfId>${group.sepa_group_payment_id(key)[:35]}</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<BtchBookg>${'true' if group.journal.sepa_batch_booking else 'false'}</BtchBookg>
<NbOfTxs>${len(payments)}</NbOfTxs>
<CtrlSum>${sum(p.amount for p in payments)}</CtrlSum>
<PmtTpInf>
<!-- InstrPrty -->
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
<!-- CtgyPurp -->
</PmtTpInf>
<ReqdExctnDt>${key['date'].isoformat()}</ReqdExctnDt>
<Dbtr>
${PartyIdentification(group.company.party)}
</Dbtr>
<DbtrAcct>
${Account(group.journal.sepa_bank_account_number)}
</DbtrAcct>
<DbtrAgt>
${FinancialInstitution(group.journal.sepa_bank_account_number.account.bank, only_bic=True)}
</DbtrAgt>
<!-- UltmtDbtr -->
<ChrgBr>${group.journal.sepa_charge_bearer}</ChrgBr>
<CdtTrfTxInf py:for="payment in payments">
<PmtId>
<InstrId>${payment.sepa_instruction_id}</InstrId>
<EndToEndId>${payment.sepa_end_to_end_id}</EndToEndId>
</PmtId>
<Amt>
<InstdAmt py:attrs="{'Ccy': payment.currency.code}">${payment.amount}</InstdAmt>
<!-- EqvtAmt -->
</Amt>
<!-- ChrgBr --> <!-- EPC only at payment information level -->
<!-- UltmtDbtr -->
<!-- IntrmyAgt1 -->
<!-- IntrmyAgt1Acct -->
<CdtrAgt>
${FinancialInstitution(payment.sepa_bank_account_number.account.bank, only_bic=True)}
</CdtrAgt>
<!-- CdtrAgtAcct -->
<Cdtr>
${PartyIdentification(payment.party)}
</Cdtr>
<CdtrAcct>
${Account(payment.sepa_bank_account_number, currency=False)}
</CdtrAcct>
<!-- UltmtCdtr -->
<!-- InstrForCdtrAgt -->
<!-- RgltryRptg -->
<!-- RltdRmtInf -->
<RmtInf py:if="payment.sepa_remittance_information">
<Ustrd>${payment.sepa_remittance_information[:140]}</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
|