Afficher la Table des Matières
Ce chapitre décrit le fichier XML généré par Akuiteo qui pourrait être transmis via la plateforme CHORUS PRO.
Le type de flux attendu par la plateforme CHORUS PRO qui a été retenu pour la génération des fichiers XML par Akuiteo est le Flux structuré facture (E1). Toutes les données minimales nécessaires au traitement de factures par Chorus sont décrites dans des balises du fichier XML généré par Akuiteo. Les données attendues dans ce Flux structuré facture (E1) sont décrites dans l'Annexe EDI des spécifications externes fournies par CHORUS.
Un flux structuré facture peut contenir un ou plusieurs fichier XML. Chaque fichier correspond à une facture. Ce flux peut contenir au maximum 500 factures et a une taille maximale totale de 1 Go.
Un fichier XML contient :
Les types de factures qui peuvent être gérées par Akuiteo correspondent uniquement aux modes de facturation suivants :
Note
Les autres modes (A4, A7, A8, A9, A10, A12, A13, A14, A22) ne sont pas gérés dans Akuiteo.
Tous les champs de type date sont sous le format AAAA-MM-JJ.
Les champs numériques sont exprimés par un nombre sur 19 positions, qui ne peut comporter plus de six décimales. Le séparateur utilisé pour les décimales est le "." point.
L'ordre des chapitres suivants représente l'ordre réel et la structure des balises du fichier XML.
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"
xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2"
xmlns:stat="urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusCode-1.0"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:udt="urn:un:unece:uncefact:data:draft:UnqualifiedDataTypesSchemaModule:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cec="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">
<cec:UBLExtensions>
<cec:UBLExtension>
<cec:ExtensionContent>
<CategoryCode>A1</CategoryCode>
</cec:ExtensionContent>
</cec:UBLExtension>
</cec:UBLExtensions>
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:ID>F1001_2016001</cbc:ID>
<cbc:IssueDate>2016-04-25</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>
<cac:InvoicePeriod>
<cbc:StartDate>2016-01-01</cbc:StartDate>
<cbc:EndDate>2016-12-31</cbc:EndDate>
</cac:InvoicePeriod>
| Balise | Règles |
|---|---|
<?xml version="1.0" encoding="UTF-8"?>
|
Première ligne. |
Invoice
|
Balise racine. |
CategoryCode
|
Cadre (mode de facturation) :
|
ID
|
Numéro de la facture. |
IssueDate
|
Date de la facture. La date d'émission de la facture doit être antérieure ou égale à la date de dépôt de la facture dans le système. |
InvoiceTypeCode
|
Type de facture autorisé :
|
DocumentCurrencyCode
|
Devise de la facture |
InvoicePeriod
|
La balise |
<cac:ContractDocumentReference>
<cbc:ID>123456789123</cbc:ID>
<cbc:DocumentTypeCode>Contrat</cbc:DocumentTypeCode>
</cac:ContractDocumentReference>
<cac:ContractDocumentReference>
<cbc:ID>123456789123</cbc:ID>
<cbc:DocumentTypeCode>Marché</cbc:DocumentTypeCode>
</cac:ContractDocumentReference>
<cac:OrderReference>
<cbc:ID>1400000000</cbc:ID>
</cac:OrderReference>
En fonction de la donnée renseignée, les balises suivantes sont ajoutées. Si aucune de ces 3 valeurs alphanumériques n'est renseignée, aucune balise n'est affichée.
| Balise | Règles |
|---|---|
ContractDocumentReference
|
Numéro de contrat. |
ContractDocumentReference > ID
|
Donnée personnalisée sur les pièces de gestion vente (Séquence 9, Alphanum01). |
ContractDocumentReference > DocumentTypeCode
|
Valeur "Contrat". |
ContractDocumentReference > IssueDate
|
Donnée personnalisée sur les pièces de gestion vente (Séquence 9, Date01). Balise affichée uniquement si la date est renseignée. |
ContractDocumentReference
|
Numéro de marché. |
ContractDocumentReference > ID
|
Donnée personnalisée sur les pièces de gestion vente (Séquence 9, Alphanum02). |
ContractDocumentReference > DocumentTypeCode
|
Valeur "Marché". |
ContractDocumentReference > IssueDate
|
Donnée personnalisée sur les pièces de gestion vente (Séquence 9, Date01). Balise affichée uniquement si la date est renseignée. |
OrderReference
|
Numéro d’engagement. |
OrderReference > ID
|
Donnée personnalisée sur les pièces de gestion vente (Séquence 9, Alphanum03). |
OrderReference > IssueDate
|
Donnée personnalisée sur les pièces de gestion vente (Séquence 9, Date01). Balise affichée uniquement si la date est renseignée. |
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeName="1">00000000000347</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>REC005FOURNISSEUR</cbc:Name>
</cac:PartyName>
<cac:PartyLegalEntity>
<cbc:RegistrationName>REC005FOURNISSEUR</cbc:RegistrationName>
<cac:RegistrationAddress>
<cbc:StreetName>rue Fictive</cbc:StreetName>
<cbc:CityName>La Poste</cbc:CityName>
<cbc:PostalZone>87016</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>FR</cbc:IdentificationCode>
</cac:Country>
</cac:RegistrationAddress>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
| Balise | Règles |
|---|---|
PartyIdentification > ID schemeName="1"
|
Numéro SIRET de la société de la facture. |
PartyName > Name
|
Nom complet de la société. |
PartyLegalEntity > RegistrationName
|
Nom complet de la société. |
PartyLegalEntity > RegistrationAddress > StreetName
|
Adresse de la société. L’adresse de la société est obligatoire. |
PartyLegalEntity > RegistrationAddress > PostalZone
|
Code postal de la société. |
PartyLegalEntity > RegistrationAddress > CityName
|
Ville de la société. |
PartyLegalEntity > RegistrationAddress > Country > IdentificationCode
|
Pays de la société. |
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeName="1">12345678200051</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>CLI001CLIENT</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>1 rue Test</cbc:StreetName>
<cbc:CityName>Test</cbc:CityName>
<cbc:PostalZone>75000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>FR</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
</cac:Party>
<cac:AccountingContact>
<cbc:ID>SERVICE_DEST_EJ_OBL</cbc:ID>
<cbc:Name>nom du Service</cbc:Name>
</cac:AccountingContact>
</cac:AccountingCustomerParty>
| Balise | Règles |
|---|---|
PartyIdentification > ID schemeName="1"
|
Numéro SIRET du site de facturation. |
PartyName > Name
|
Nom complet du site de facturation. |
PostalAddress > StreetName
|
Adresse 1 du site de facturation. |
PostalAddress > CityName
|
Ville du site de facturation. |
PostalAddress > PostalZone
|
Code postal du site de facturation. |
PostalAddress > Country > IdentificationCode
|
Pays du site de facturation. |
AccountingContact
|
Code service. Bloc affiché uniquement si le code service est renseigné. |
AccountingContact > ID
|
Donnée personnalisée sur les sites (Séquence 9, Alphanum01). |
AccountingContact > Name
|
Donnée personnalisée sur les sites (Séquence 9, Alphanum02). Balise affichée uniquement si le nom est renseigné. |
<cac:PaymentMeans>
<cbc:PaymentMeansCode listID="UN/ECE 4461 Subset"
listAgencyID="NES" listAgencyName="Northern European Subset"
listName="Payment Means">30</cbc:PaymentMeansCode>
<cbc:PaymentDueDate>2016-04-26</cbc:PaymentDueDate>
<cbc:PaymentChannelCode>FR7630001007941234567890185</cbc:PaymentChannelCode>
</cac:PaymentMeans>
| Balise | Règles |
|---|---|
PaymentMeansCode
|
Valeur déterminée en fonction de la valeur du mode de règlement :
|
PaymentDueDate
|
Première date de règlement prévue parmi les lignes d'échéance (lignes non réglées). Balise affichée uniquement si la date est renseignée. |
PaymentChannelCode
|
Numéro IBAN. Ce numéro est obligatoire. |
PayeeFinancialAccount > ID
|
Code du journal de trésorerie renseigné dans la donnée personnalisée du site de facturation (Séquence 9, Alphanum03) qui permet de déterminer le numéro IBAN. La valeur de la balise est la concaténation des 3 champs : PAY_CODE, BPR_CLE_IBAN, BPR_NUMCPTE_IBAN. |
PayeeFinancialAccount > FinancialInstitutionBranch > ID
|
Code du journal de trésorerie renseigné dans la donnée personnalisée du site de facturation (Séquence 9, Alphanum03) qui permet de déterminer le code BIC. |
<cac:LegalMonetaryTotal>
<cbc:TaxExclusiveAmount currencyID="USD">83.4000</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="USD">100.0800</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="USD">100.0800</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
La balise CategoryCode (voir Début du fichier - Généralités) peut avoir deux valeurs :
En fonction de cette valeur, la balise PayableAmount doit toujours être inférieure ou égale à TaxInclusiveAmount.
| Balise | Règles |
|---|---|
TaxExclusiveAmount currencyID="???"
|
Devise (en dur dans la balise) et valeur du montant hors taxe. Le signe du montant est inversé s'il s'agit d'un avoir (dans Akuiteo, un avoir est négatif alors qu'il est positif dans Chorus). |
TaxInclusiveAmount currencyID="???"
|
Devise (en dur dans la balise) et valeur du montant avec taxe. Le signe du montant est inversé s'il s'agit d'un avoir (dans Akuiteo, un avoir est négatif alors qu'il est positif dans Chorus). |
PayableAmount currencyID="???"
|
Devise (en dur dans la balise) et valeur du montant des échéances non réglées. Le signe du montant est inversé s'il s'agit d'un avoir (dans Akuiteo, un avoir est négatif alors qu'il est positif dans Chorus). |
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="USD">
83.4000</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Description>Descriptif de la ligne de facture</cbc:Description>
<cbc:Name>Prestation intellectuelle</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:Percent>20</cbc:Percent>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="USD">83.4000</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
| Balise | Règles |
|---|---|
ID
|
Numéro de ligne. Les lignes sont numérotées par ordre croissant. |
InvoicedQuantity
|
Quantité de la ligne, toujours fixée à "1". |
LineExtensionAmount currencyID="???"
|
Devise (en dur dans la balise) et valeur du montant de la ligne. Le signe du montant est inversé s'il s'agit d'un avoir (dans Akuiteo, un avoir est négatif alors qu'il est positif dans Chorus). |
Item > Description
|
Suite du libellé de la ligne, tronquée à 1000 caractères. |
Item > Name
|
Libellé de la ligne, tronqué à 40 caractères. |
Item > ClassifiedTaxCategory > Percent
|
Taux de taxe. |
Price > PriceAmount currencyID="???"
|
Devise (en dur dans la balise) et valeur du montant de la ligne (prix unitaire). Le signe du montant est inversé s'il s'agit d'un avoir (dans Akuiteo, un avoir est négatif alors qu'il est positif dans Chorus). |
Price > BaseQuantity
|
Quantité associée au prix unitaire, toujours fixée à "1". |