Afficher la Table des Matières

# Description du fichier XML généré

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 structuré 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 :

- Des données structurées en XML qui représentent l'intégralité d’une facture ;
- Des pièces jointes constituées par des documents complémentaires, le cas échéant.

Les types de factures qui peuvent être gérées par Akuiteo correspondent uniquement aux modes de facturation suivants :

- A1 (dépôt d'une facture par un fournisseur)
- A2 (dépôt d'une facture déjà payée par un fournisseur)

Note

Les autres modes (A4, A7, A8, A9, A10, A12, A13, A14, A22) ne sont pas gérés dans Akuiteo.

## : : Généralités de format de fichier

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.

## : : Début du fichier - Généralités

<?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) : Valeur "A1" si le montant à régler est différent de zéro Valeur "A2" si le montant à régler est égal à zéro
`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é : Valeur "380" s'il s'agit d'une facture Valeur "381" s'il s'agit d'un avoir
`DocumentCurrencyCode` | Devise de la facture
`InvoicePeriod` | `StartDate` : Date de début de la période. Cette date de début est déterminée en prenant la date la plus ancienne parmi toutes celles renseignées dans le champ Période du des lignes de la facture. `EndDate` : Date de fin de la période. Cette date de fin est déterminée en prenant la date la plus récente parmi toutes celles renseignées dans le champ Au des lignes de la facture. La balise `InvoicePeriod` n'est pas présente s'il n'y a aucune période renseignée sur la facture.

## : : Engagement

<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.

## : : Fournisseur

<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é.

## : : Débiteur (client)

<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é.

## : : Paiement

<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 : "01" si non renseigné ou si AU (Autres) "10" si ES (Espèce) "20" si CH ou LC (Chèque) "30" si VI ou VD (Virement) "48" si CB (Prélèvement) "49" si PR, CB ou TR (Prélèvement) "97" si le montant à régler est égal à zéro (Report) dans le cas d'une facture ou d'un avoir déjà soldé(e)
`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.

## : : Montants

<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 :

- Valeur "A1" si le montant à régler est différent de zéro
- Valeur "A2" si le montant à régler est égal à zéro

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).

## : : Lignes

<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".

Suivez-nous ! Produit Akuiteo version 4.2 Copyright © 2019 Akuiteo S.A.S. Documentation confidentielle | Support clients.akuiteo.fr Coordonnées Akuiteo S.A.S. 27 rue Auguste Comte 69002 LYON - FRANCE www.akuiteo.com

Afficher la Table des Matières