trytond-account_invoice_fac.../template_facturae_macros.xml

75 lines
3.6 KiB
XML

{% macro administrative_center(centre_code, role_type_code, person_type, addrs) %}
<AdministrativeCentre>
<CentreCode>{{ centre_code }}</CentreCode>
<RoleTypeCode>{{ role_type_code }}</RoleTypeCode>
<Name>{% if person_type == 'J' %}{{ addrs.party.name and addrs.party.name[:40] }}{% else %}{{ addrs.party.name and addrs.party.name.split(' ', 2)[0][:40] or addrs.party.code[:40] }}{% endif %}</Name>
{% if person_type == 'F' %}
<FirstSurname>{{ addrs.party.name and addrs.party.name.split(' ', 2)[1][:40] }}</FirstSurname>
{% endif %}
{% if person_type == 'F' and addrs.party.name.split(' ') | length > 2 %}
<SecondSurname>{{ addrs.party.name and addrs.party.name.split(' ', 2)[2][:40] }}</SecondSurname>
{% endif %}
{% if addrs %}{{ address(addrs) }}{% endif %}
{% if addrs.party.contact_mechanisms %}{{ contact(addrs.party) }}{% endif %}
<PhysicalGLN/>
<LogicalOperationalPoint/>
<CentreDescription>{{ addrs.party.name and addrs.party.name.split(' ', 2)[0][:40] or addrs.party.code[:40] }}</CentreDescription>
</AdministrativeCentre>
{% endmacro %}
{% macro address(address) %}
{% if address.country and address.country.code == 'ES' %}
<AddressInSpain>
<Address>{{ address.street[:80] }}</Address>
<PostCode>{{ address.postal_code[:5] }}</PostCode>
<Town>{{ address.city[:50] }}</Town>
<Province>{{ address.subdivision.name[:20] }}</Province>
<CountryCode>{{ address.country.code3 }}</CountryCode>
</AddressInSpain>
{% else %}
<OverseasAddress>
<Address>{{ address.street[:80] }}</Address>
<PostCodeAndTown>{{ (', '.join([address.postal_code, address.city]))[:50] }}</PostCodeAndTown>
<Province>{{ address.subdivision.name[:20] }}</Province>
<CountryCode>{{ address.country.code3 }}</CountryCode>
</OverseasAddress>
{% endif %}
{% endmacro %}
{% macro contact(party) %}
<ContactDetails>
{% if party.phone or party.mobile %}
<Telephone>{{ (party.phone or party.mobile)[:15] }}</Telephone>
{% endif %}
{% if party.fax %}
<TeleFax>{{ party.fax[:15] }}</TeleFax>
{% endif %}
{% if party.website %}
<WebAddress>{{ party.website[:60] }}</WebAddress>
{% endif %}
{% if party.email %}
<ElectronicMail>{{ party.email[:60] }}</ElectronicMail>
{% endif %}
{# Optional: not supported
<ContactPersons></ContactPersons>
<CnoCnae></CnoCnae>
<INETownCode></INETownCode>
<AdditionalContactDetails></AdditionalContactDetails>
#}
</ContactDetails>
{% endmacro %}
{% macro registration_data(company) %}
{% if company.registration_data_location %}
<RegistrationData>
<Book>{{ company.registration_data_book and company.registration_data_book[:20] or '0' }}</Book>
<RegisterOfCompaniesLocation>{{ company.registration_data_location[:20] }}</RegisterOfCompaniesLocation>
<Sheet>{{ company.registration_data_sheet[:20] }}</Sheet>
<Folio>{{ company.registration_data_folio[:20] }}</Folio>
<Section>{{ company.registration_data_section[:20] }}</Section>
<Volume>{{ company.registration_data_volume[:20] }}</Volume>
<AdditionalRegistrationData>{{ company.registration_data_additional[:20] }}</AdditionalRegistrationData>
</RegistrationData>
{% endif %}
{% endmacro %}