{% load l10n %}{% localize off %}<rsm:CrossIndustryInvoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100">
    <rsm:ExchangedDocumentContext>
        <ram:BusinessProcessSpecifiedDocumentContextParameter>
{% comment %}
CHORUSPRO : cette donnée permet de renseigner le cadre de facturation (facture de mandataire, de cotraitant, de sous-traitant, pièce de facturation d'un marché de travaux, etc.). Les codes à utiliser sont définis dans les spécifications CHORUSPRO : A1 (dépôt facture), A2 (dépôt facture déjà payée), ... Par défaut (en cas d'absence de ce champ), c'est le cas A1 qui s'applique.
{% endcomment %}
            <ram:ID>{{ chorus_processus|default:"A1" }}</ram:ID>
        </ram:BusinessProcessSpecifiedDocumentContextParameter>
        <ram:GuidelineSpecifiedDocumentContextParameter>
            <ram:ID>urn:factur-x.eu:1p0:basicwl</ram:ID>
        </ram:GuidelineSpecifiedDocumentContextParameter>
    </rsm:ExchangedDocumentContext>
    <rsm:ExchangedDocument>
        <ram:ID>{{ numero_de_facture }}</ram:ID>
{% comment %}
Les types de document utilisés sont les suivants :
380 : Facture commerciale
381 : Avoir (note de crédit)
384 : Facture rectificative
389 : Facture d'autofacturation (créée par l'acheteur pour le compte du fournisseur)
261 : Avoir d'autofacturation (non accepté par CHORUSPRO)
386 : Facture d'acompte
751 : Informations de facture pour comptabilisation (non accepté par CHORUSPRO)
751 : Informations de facture pour comptabilisation (non accepté par CHORUSPRO)
{% endcomment %}
        <ram:TypeCode>{{ type_facture }}</ram:TypeCode>
        <ram:IssueDateTime>
            <udt:DateTimeString format="102">{{ date_emission|date:"Ymd" }}</udt:DateTimeString>
        </ram:IssueDateTime>
    </rsm:ExchangedDocument>
    <rsm:SupplyChainTradeTransaction>
        <ram:ApplicableHeaderTradeAgreement>
{% comment %}
BuyerReference:
CHORUS PRO : pour le secteur public, il s'agit du "Service Executant". Il est obligatoire pour certains acheteurs. Il doit appartenir au référentiel Chorus Pro. Il est limité à 100 caractères
{% endcomment %}
            {% if chorus_service_code %}
                <ram:BuyerReference>{{ chorus_service_code }}</ram:BuyerReference>
            {% endif %}
            <ram:SellerTradeParty>
                {% comment %}Entr'ouvert{% endcomment %}
                <ram:Name>{{ vendeur }}</ram:Name>
                <ram:SpecifiedLegalOrganization>
                    <ram:ID schemeID="0002">{{ vendeur_siret }}</ram:ID>
                </ram:SpecifiedLegalOrganization>
                <ram:PostalTradeAddress>
                    <ram:CountryID>FR</ram:CountryID>
                </ram:PostalTradeAddress>
                {% if vendeur_tvai %}
                <ram:SpecifiedTaxRegistration>
                    {% comment %}Numéro de TVA intracommunautaie{% endcomment %}
                    <ram:ID schemeID="VA">{{ vendeur_tvai }}</ram:ID>
                </ram:SpecifiedTaxRegistration>
                {% endif %}
            </ram:SellerTradeParty>
            <ram:BuyerTradeParty>
                {% comment %}SIRET de l'acheteur{% endcomment %}
                <ram:Name>{{ client_name }}</ram:Name>
                <ram:SpecifiedLegalOrganization>
                    <ram:ID schemeID="0002">{{ client_siret }}</ram:ID>
                </ram:SpecifiedLegalOrganization>
            </ram:BuyerTradeParty>
            {% comment %}
            BuyerOrderReferencedDocument
            CHORUS PRO : pour le secteur public, il s'agit de "l'Engagement Juridique". Il est obligatoire pour certains acheteurs. Il convient de se référer à l'annuaire Chorus Pro pour identifier ces acheteurs.
            {% endcomment %}
            {% if numero_engagement %}
            <ram:BuyerOrderReferencedDocument >
                <ram:IssuerAssignedID>{{ numero_engagement }}</ram:IssuerAssignedID>
            </ram:BuyerOrderReferencedDocument>
            {% endif %}
            {% if numero_marche %}
            <ram:ContractReferencedDocument>
                <ram:IssuerAssignedID>{{ numero_marche }}</ram:IssuerAssignedID>
            </ram:ContractReferencedDocument>
            {% endif %}
        </ram:ApplicableHeaderTradeAgreement>
        <ram:ApplicableHeaderTradeDelivery/>
        <ram:ApplicableHeaderTradeSettlement>
            <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
            {% if annulation_code %}
            {% comment %}
            Value "Clearing between partners" explained on S2.20, page 171 of
            the Chorus specifications: https://dev.entrouvert.org/attachments/60076
            Default value is "virement" for Chorus (and we guess for Factur-X too)
            {% endcomment %}
            <ram:SpecifiedTradeSettlementPaymentMeans>
                 <ram:TypeCode>97</ram:TypeCode>
            </ram:SpecifiedTradeSettlementPaymentMeans>
            {% endif %}
            <ram:ApplicableTradeTax>
                <ram:CalculatedAmount>{{ montant_tva }}</ram:CalculatedAmount>
                <ram:TypeCode>VAT</ram:TypeCode>
                <ram:BasisAmount>{{ montant_ht }}</ram:BasisAmount>
                <ram:CategoryCode>S</ram:CategoryCode>
                <ram:RateApplicablePercent>{{ taux_tva }}</ram:RateApplicablePercent>
            </ram:ApplicableTradeTax>
            <ram:SpecifiedTradeSettlementHeaderMonetarySummation>
                <ram:LineTotalAmount>{{ montant_ht }}</ram:LineTotalAmount>
                <ram:TaxBasisTotalAmount>{{ montant_ht }}</ram:TaxBasisTotalAmount>
                <ram:TaxTotalAmount currencyID="EUR">{{ montant_tva }}</ram:TaxTotalAmount>
                <ram:GrandTotalAmount>{{ montant_ttc }}</ram:GrandTotalAmount>
                <ram:DuePayableAmount>{{ montant_ttc }}</ram:DuePayableAmount>
            </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
            {% if annulation_code %}
            {% comment %}
            "identifiant de la facture d’origine" explained on G1.05, page 74 and 113 of
            the Chorus specifications: https://dev.entrouvert.org/attachments/60076
            {% endcomment %}
            <ram:InvoiceReferencedDocument>
                <ram:IssuerAssignedID>{{ annulation_code }}</ram:IssuerAssignedID>
            </ram:InvoiceReferencedDocument>
            {% endif %}
        </ram:ApplicableHeaderTradeSettlement>
    </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>{% endlocalize %}
