trytond-account_payment_con.../template/n68.txt

82 lines
2.7 KiB
Plaintext

{% include ${group._get_confirming_template_paths()['base'] + '/base.txt'} %}\
{% def format_number(value, length_, precision) %}\
${'%s%s' % (str(divmod(abs(value), 1)[0])[:length_].zfill(length_), str(divmod(abs(value), 1)[1])[2:precision + 2].zfill(precision))}\
{% end %}\
{% def invoice_type(payment) %}\
${'credit_note' if payment.line.origin.total_amount < 0 else 'invoice'}\
{% end %}\
${fill('03', 2)}\
${fill('59', 2)}\
${fill(group.company.party.tax_identifier and group.company.party.tax_identifier.code or group.company.party.code, 9, norm=True)}\
${fill('000', 3)}\
${fillblank(12)}\
${fill('001', 3)}\
${group.planned_date and group.planned_date.strftime('%d%m%y') or fillblank(6)}\
${fillblank(9)}\
${fill(group.journal.confirming_bank_account_number.number.replace(' ', ''), 24)}\
${fillblank(30)}
{% for payment in group.payments %}\
{% with address=payment.party.address_get('invoice') %}\
{% for i in range(6) %}\
${fill('06', 2)}\
${fill('59', 2)}\
${fill(group.company.party.tax_identifier and group.company.party.tax_identifier.code or group.company.party.code, 9, norm=True)}\
${fill('000', 3)}\
${fill(payment.party.tax_identifier and payment.party.tax_identifier.code or payment.party.code, 12)}\
{% if i == 0 %}\
${fill('010', 3)}\
${fill(payment.party.name, 40)}\
${fillblank(29)}
{% end %}\
{% if i == 1 %}\
${fill('011', 3)}\
${fill((address.street or u'').replace('\n', ' ') or u'', 45)}\
${fillblank(24)}
{% end %}\
{% if i == 2 %}\
${fill('012', 3)}\
${fill(address.zip or u'', 5)}\
${fill(address.city or u'', 40)}\
${fillblank(24)}
{% end %}\
{% if i == 3 %}\
${fill('013', 3)}\
${fill(address.zip or u'', 9)}\
${fill(address.subdivision and address.subdivision.name or u'', 30)}\
${fill(address.country and address.country.name or u'', 20)}\
${fillblank(10)}
{% end %}\
{% if i == 4 %}\
${fill('014', 3)}\
${fill(payment.group.number, 8)}\
${fill(payment.date.strftime('%d%m%Y'), 8)}\
${format_number(payment.amount, 12, 2)}\
0\
${fillblank(2)}\
${fillblank(10)}\
${fillblank(6)}
{% end %}\
{% if i == 5 %}\
${fill('015', 3)}\
${fill(payment.group.number, 8)}\
${fill(payment.line.origin.reference or payment.line.origin.number, 12)}\
${payment.line.date.strftime('%d%m%Y')}\
${format_number(payment.amount, 12, 2)}\
${'D' if payment.amount < 0 else 'H' }\
${fill(payment.description, 26)}\
${fillblank(2)}
{% end %}\
{% end %}\
{% end %}\
{% end %}\
${fill('08', 2)}\
${fill('59', 2)}\
${fill(group.company.party.tax_identifier and group.company.party.tax_identifier.code or group.company.party.code, 9, norm=True)}\
${fill('000', 3)}\
${fillblank(12)}\
${fillblank(3)}\
${format_number(sum(p.amount for p in group.payments if p.amount) , 12, 2)}\
${format_number(2 + len(group.payments) * 6,10, 0)}\
${fillblank(42)}\
${fillblank(5)}\