Bonjour,
Voici les bases documentaires résumées pour ceux qui comme moi débutent
leurs recherches...
La procédure de PCSOFT décrite dans le blog est intéressante mais ne
communique pas sur la génération du xml
https://blogs.pcsoft.fr/fr/facture-generer-fichier-pdf-format-3-chrorus-pro/281474976710776/read.awp J'ai trouvé quelques liens d'informations concernant le format xml
requis pour produire un pdf conforme au standard,.
via le document :
https://communaute.chorus-pro.gouv.fr/wp-content/uploads/2018/06/Specifications_Externes_Annexe_EDI_V4.00.pdf Et un site pour tester la validité du pdf/a3 Facturx
https://services.fnfe-mpe.org/Ou en application sur :
https://verapdf.org/software/Auriez vous un exemple de procédure ou de fichier xml déjà validé ou
opérationnel pour m'aider à poursuivre le développent dans le bon sens ?
Merci par avance pour votre partage d’expérience..
Cordialement
Yannick
J'ai trouvé ce type de format dans un des exemples..
<?xml version='1.0' encoding='UTF-8'?>
<rsm:CrossIndustryInvoice
xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<!-- P21: facture simple avec pièce-jointe au format docx -->
<rsm:ExchangedDocumentContext>
<ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:ID>A1</ram:ID>
<!-- Généralités.Cadre (facture simple, cadre de facture de
travaux...) -->
</ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
<rsm:ExchangedDocument>
<ram:ID>FSO1117A_P21</ram:ID>
<!-- Généralités.Identifiant -->
<ram:TypeCode>380</ram:TypeCode>
<!-- Généralités.Type (380: facture, 381: avoir)-->
<ram:IssueDateTime>
<udt:DateTimeString>20180402</udt:DateTimeString>
<!-- Généralités.Date émission facture -->
</ram:IssueDateTime>
<ram:IncludedNote>
<ram:Content>Note</ram:Content>
<!-- Généralités.Note -->
</ram:IncludedNote>
</rsm:ExchangedDocument>
<rsm:SupplyChainTradeTransaction>
<ram:IncludedSupplyChainTradeLineItem>
<!-- bloc Ligne facture -->
<ram:AssociatedDocumentLineDocument>
<ram:LineID>1</ram:LineID>
<!-- Ligne.Numéro -->
<ram:LineStatusCode>Type</ram:LineStatusCode>
<!-- Ligne.Type -->
<ram:LineStatusReasonCode>Sous
type</ram:LineStatusReasonCode> <!--
Ligne.Sous-type -->
<ram:IncludedNote>
<ram:Content>Complément</ram:Content>
<!-- Ligne.Complément -->
</ram:IncludedNote>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:GlobalID>1234321</ram:GlobalID>
<!-- Ligne.Référence produit -->
<ram:Name>CPP</ram:Name>
<!-- Ligne.Nom article -->
<ram:Description>un
test</ram:Description>
<!-- Ligne.Description -->
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>0</ram:ChargeAmount>
<!-- Ligne-Charge/remise.Montant base (de calcul de charge/remise) -->
<ram:AppliedTradeAllowanceCharge>
<ram:ActualAmount>0</ram:ActualAmount>
<!-- Ligne-Charge/remise.Montant charge/remise -->
</ram:AppliedTradeAllowanceCharge>
</ram:GrossPriceProductTradePrice>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>100</ram:ChargeAmount>
<!-- Ligne.Prix unitaire -->
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity
unitCode="">1</ram:BilledQuantity>
<!-- Ligne.Quantité facturée -->
<ram:ShipToTradeParty>
<ram:GlobalID>Achères</ram:GlobalID>
<!-- Ligne.Identifiant site livraison -->
</ram:ShipToTradeParty>
<ram:ActualDeliverySupplyChainEvent>
<ram:OccurrenceDateTime>
<udt:DateTimeString>20180101</udt:DateTimeString>
<!-- Ligne.Date livraison -->
</ram:OccurrenceDateTime>
</ram:ActualDeliverySupplyChainEvent>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:RateApplicablePercent>20</ram:RateApplicablePercent>
<!-- Ligne.Taux TVA -->
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator>
<udt:IndicatorString>true</udt:IndicatorString>
</ram:ChargeIndicator>
<ram:ReasonCode>code</ram:ReasonCode>
<!-- Ligne-Charge/remise.Code de motif de charge/remise -->
<ram:Reason>Libellé</ram:Reason>
<!-- Ligne-Charge/remise.Code de motif de charge/remise -->
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>100</ram:LineTotalAmount>
<!-- Ligne.Montant HT -->
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:ApplicableHeaderTradeAgreement>
<ram:SellerTradeParty>
<ram:Name>BRICORAMA
FRANCE</ram:Name>
<!-- Fournisseur.Raison sociale -->
<ram:Description>Description</ram:Description>
<!-- Fournisseur.Note -->
<ram:SpecifiedLegalOrganization>
<ram:ID
schemeID="1">40668031401116</ram:ID>
<!-- Fournisseur.Identifiant -->
</ram:SpecifiedLegalOrganization>
<ram:PostalTradeAddress>
<ram:PostcodeCode>78260</ram:PostcodeCode>
<!-- Fournisseur.Code postal légal -->
<ram:LineOne>Ligne adresse
légale</ram:LineOne> <!--
Fournisseur.Ligne adresse légale -->
<ram:CityName>Ville</ram:CityName>
<!-- Fournisseur.Nom commune légal -->
<ram:CountryID>FR</ram:CountryID>
<!-- Fournisseur.Code pays légal -->
</ram:PostalTradeAddress>
</ram:SellerTradeParty> <!-- Bloc Débiteur -->
<ram:BuyerTradeParty> <ram:Name>URSSAF
Midi-Pyrénées</ram:Name> <!--
Débiteur.Raison sociale -->
<ram:Description>Note</ram:Description>
<!-- Débiteur.Note -->
<ram:SpecifiedLegalOrganization>
<ram:ID
schemeID="0002">53514650090018</ram:ID>
<!-- Débiteur.Identifiant -->
</ram:SpecifiedLegalOrganization>
<ram:PostalTradeAddress>
<ram:PostcodeCode>78700</ram:PostcodeCode>
<!-- Débiteur.Code postal légal -->
<ram:LineOne>Ligne adresse
légale</ram:LineOne> <!--
Débiteur.Ligne adresse légale -->
<ram:CityName>Ville</ram:CityName>
<!-- Débiteur.Nom commune légal -->
<ram:CountryID>FR</ram:CountryID>
<!-- Débiteur.Code pays légal -->
</ram:PostalTradeAddress>
</ram:BuyerTradeParty>
</ram:ApplicableHeaderTradeAgreement>
<!-- Bloc SiteLivraison -->
<ram:ApplicableHeaderTradeDelivery>
<ram:ShipToTradeParty>
<ram:ID>SiteLivraison</ram:ID>
<!-- SiteLivraison.Identifiant -->
<ram:Name>Nom</ram:Name>
<!-- SiteLivraison.Nom -->
<ram:PostalTradeAddress>
<ram:PostcodeCode>Code postal
légal</ram:PostcodeCode> <!--
SiteLivraison.Code Postal -->
<ram:LineOne>Ligne adresse
légal</ram:LineOne> <!--
SiteLivraison.Ligne adresse -->
<ram:CityName>Ville</ram:CityName>
<!-- SiteLivraison.Nom commune -->
<ram:CountryID>FR</ram:CountryID>
<!-- SiteLivraison.Code pays -->
</ram:PostalTradeAddress>
</ram:ShipToTradeParty>
</ram:ApplicableHeaderTradeDelivery>
<ram:ApplicableHeaderTradeSettlement>
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
<!-- Devise -->
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>48</ram:TypeCode>
<!-- Paiement.Mode de paiement -->
<ram:Information>Notes</ram:Information>
<!-- Paiement.Note -->
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>FR7610057191370188512730284</ram:IBANID>
<!-- Paiement.Identifiant compte bancaire -->
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
<!-- RécapitulatifTaxes -->
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>20.00</ram:CalculatedAmount>
<!-- RécapitulatifTaxes.Montant Taxes -->
<ram:BasisAmount>80.00</ram:BasisAmount>
<!-- RécapitulatifTaxes.Montant de base (pour le calcul de TVA) -->
<ram:CategoryCode>S</ram:CategoryCode>
<!-- RécapitulatifTaxes.Type taxe - balise spécifique aux formats
CII16B/FacturX -->
<ram:DueDateTypeCode>72</ram:DueDateTypeCode>
<!-- Fournisseur.Régime TVA. Ici, "72" = Encaissement -->
<ram:RateApplicablePercent>20.00</ram:RateApplicablePercent>
<!-- RécapitulatifTaxes.Taux -->
</ram:ApplicableTradeTax>
<ram:BillingSpecifiedPeriod>
<ram:Description>Description de la
période</ram:Description> <!--
Généralités.Description de période -->
<ram:StartDateTime>
<udt:DateTimeString>20170101</udt:DateTimeString>
<!-- Généralités.Début de période -->
</ram:StartDateTime>
<ram:EndDateTime>
<udt:DateTimeString>20171231</udt:DateTimeString>
<!-- Généralités.Fin de période -->
</ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator>
<udt:IndicatorString>true</udt:IndicatorString>
</ram:ChargeIndicator>
<ram:BasisAmount>700.00</ram:BasisAmount>
<!-- Charge/remise.Montant de base -->
<ram:ActualAmount>15.00</ram:ActualAmount>
<!-- Charge/remise.Montant de charge/remise -->
</ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradePaymentTerms>
<ram:DueDateDateTime>
<udt:DateTimeString>20180906</udt:DateTimeString>
<!-- Paiement.Date échéance -->
</ram:DueDateDateTime>
</ram:SpecifiedTradePaymentTerms>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>100</ram:LineTotalAmount>
<ram:ChargeTotalAmount>0</ram:ChargeTotalAmount>
<!-- Généralités.Montant charges -->
<ram:AllowanceTotalAmount>0</ram:AllowanceTotalAmount>
<!-- Généralités.Montant remises -->
<ram:TaxBasisTotalAmount>100</ram:TaxBasisTotalAmount>
<!-- Généralités.Montant HT -->
<ram:TaxTotalAmount>20</ram:TaxTotalAmount>
<!-- Généralités.Montant Taxes -->
<ram:GrandTotalAmount>120</ram:GrandTotalAmount>
<!-- Généralités.Montant TTC -->
<ram:TotalPrepaidAmount>0</ram:TotalPrepaidAmount>
<!-- Généralités.Montant à déduire -->
<ram:DuePayableAmount>120</ram:DuePayableAmount>
<!-- Généralités.Montant net à payer -->
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
</rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>