Si le « Sous-type de la ligne de facture » (BT-X-8) a la valeur « Sous-total » (GROUP) et que le « Montant net de la ligne de facture » (BT-131) est spécifié, il doit correspondre à la somme des BT-131 des niveaux immédiatement inférieurs pour lesquels le « Sous-type de la ligne de facture » (BT-X-8) a la valeur « Ligne normale (cas standard) » (DETAIL) ou « Sous-total » (GROUP). En conséquence, tous les niveaux inférieurs doivent contenir une valeur BT-131 lorsque BT-X-8 a la valeur DETAIL ou GROUP.
Si LineStatusReasonCode a la valeur GROUP et que LineTotalAmount est renseigné, ce montant doit être égal à la somme des valeurs LineTotalAmount des lignes directement rattachées ayant le sous-type DETAIL ou GROUP. Le test arrondit la somme à deux décimales.
Le montant net d’un sous-total doit correspondre aux montants nets des lignes de facture subordonnées qui lui sont rattachées. Cela garantit la cohérence arithmétique de la hiérarchie des lignes.
Le montant net d’une ligne de facture marquée GROUP ne correspond pas aux montants de ses lignes directement subordonnées. Ajustez ce montant ou ceux des lignes associées.
- Vérifiez la valeur de
LineTotalAmountsur le sous-total. - Comparez-la aux valeurs
LineTotalAmountdes lignes directement associées marquéesDETAILouGROUP. - Vérifiez que chacune de ces lignes comporte un montant net.
- Générez de nouveau la facture et vérifiez-la une nouvelle fois.
<ram:IncludedSupplyChainTradeLineItem> <ram:AssociatedDocumentLineDocument> <ram:LineID>1</ram:LineID> <ram:LineStatusReasonCode>GROUP</ram:LineStatusReasonCode> </ram:AssociatedDocumentLineDocument> <ram:SpecifiedLineTradeSettlement> <ram:SpecifiedTradeSettlementLineMonetarySummation> <ram:LineTotalAmount>10.00</ram:LineTotalAmount> </ram:SpecifiedTradeSettlementLineMonetarySummation> </ram:SpecifiedLineTradeSettlement> </ram:IncludedSupplyChainTradeLineItem> <ram:IncludedSupplyChainTradeLineItem> <ram:AssociatedDocumentLineDocument> <ram:LineID>2</ram:LineID> <ram:ParentLineID>1</ram:ParentLineID> <ram:LineStatusReasonCode>DETAIL</ram:LineStatusReasonCode> </ram:AssociatedDocumentLineDocument> <ram:SpecifiedLineTradeSettlement> <ram:SpecifiedTradeSettlementLineMonetarySummation> <ram:LineTotalAmount>4.00</ram:LineTotalAmount> </ram:SpecifiedTradeSettlementLineMonetarySummation> </ram:SpecifiedLineTradeSettlement> </ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem> <ram:AssociatedDocumentLineDocument> <ram:LineID>1</ram:LineID> <ram:LineStatusReasonCode>GROUP</ram:LineStatusReasonCode> </ram:AssociatedDocumentLineDocument> <ram:SpecifiedLineTradeSettlement> <ram:SpecifiedTradeSettlementLineMonetarySummation> <ram:LineTotalAmount>4.00</ram:LineTotalAmount> </ram:SpecifiedTradeSettlementLineMonetarySummation> </ram:SpecifiedLineTradeSettlement> </ram:IncludedSupplyChainTradeLineItem> <ram:IncludedSupplyChainTradeLineItem> <ram:AssociatedDocumentLineDocument> <ram:LineID>2</ram:LineID> <ram:ParentLineID>1</ram:ParentLineID> <ram:LineStatusReasonCode>DETAIL</ram:LineStatusReasonCode> </ram:AssociatedDocumentLineDocument> <ram:SpecifiedLineTradeSettlement> <ram:SpecifiedTradeSettlementLineMonetarySummation> <ram:LineTotalAmount>4.00</ram:LineTotalAmount> </ram:SpecifiedTradeSettlementLineMonetarySummation> </ram:SpecifiedLineTradeSettlement> </ram:IncludedSupplyChainTradeLineItem>
AssociatedDocument.LineStatusReasonCode(BT-X-8)LineStatusReasonCodes(BT-X-8)TradeLineItem.LineTotalAmount(BT-131)
Détails techniques
Le test compare le LineTotalAmount d’une ligne à la somme arrondie à deux décimales des lignes dont ParentLineID correspond au LineID de cette ligne et dont LineStatusReasonCode vaut DETAIL ou GROUP.
La règle s’applique aux lignes de facture dans IncludedSupplyChainTradeLineItem. Elle compare le montant d’une ligne marquée GROUP à celui de ses lignes directement subordonnées.
rule/@context)assert/@test)