@@ -1926,5 +1926,29 @@ public void TestWriteAndReadDespatchAdviceDocumentReferenceXRechnung()
1926
1926
Assert . AreEqual ( despatchAdviceNo , loadedInvoice . DespatchAdviceReferencedDocument . ID ) ;
1927
1927
Assert . AreEqual ( despatchAdviceDate , loadedInvoice . DespatchAdviceReferencedDocument . IssueDateTime ) ;
1928
1928
} //!TestWriteAndReadDespatchAdviceDocumentReference
1929
+
1930
+ [ TestMethod ]
1931
+ public void TestSpecifiedTradeAllowanceCharge ( )
1932
+ {
1933
+ InvoiceDescriptor invoice = InvoiceProvider . CreateInvoice ( ) ;
1934
+
1935
+ invoice . TradeLineItems [ 0 ] . AddSpecifiedTradeAllowanceCharge ( true , CurrencyCodes . EUR , 198m , 19.8m , 10m , "Discount 10%" ) ;
1936
+
1937
+ MemoryStream ms = new MemoryStream ( ) ;
1938
+ invoice . Save ( ms , ZUGFeRDVersion . Version22 , Profile . Extended ) ;
1939
+ ms . Position = 0 ;
1940
+
1941
+ InvoiceDescriptor loadedInvoice = InvoiceDescriptor . Load ( ms ) ;
1942
+ TradeAllowanceCharge allowanceCharge = loadedInvoice . TradeLineItems [ 0 ] . GetSpecifiedTradeAllowanceCharges ( ) . First ( ) ;
1943
+
1944
+ Assert . AreEqual ( allowanceCharge . ChargeIndicator , false ) ; //false = discount
1945
+ //CurrencyCodes are not written bei InvoiceDescriptor22Writer
1946
+ //Assert.AreEqual(allowanceCharge.Currency, CurrencyCodes.EUR);
1947
+ Assert . AreEqual ( allowanceCharge . BasisAmount , 198m ) ;
1948
+ Assert . AreEqual ( allowanceCharge . ActualAmount , 19.8m ) ;
1949
+ Assert . AreEqual ( allowanceCharge . ChargePercentage , 10m ) ;
1950
+ Assert . AreEqual ( allowanceCharge . Reason , "Discount 10%" ) ;
1951
+ } // !SpecifiedTradeAllowanceCharge()
1952
+
1929
1953
}
1930
1954
}
0 commit comments