@@ -828,47 +828,44 @@ public override void Save(InvoiceDescriptor descriptor, Stream stream)
828
828
829
829
// 13. SpecifiedTradeAllowanceCharge (optional)
830
830
IList < TradeAllowanceCharge > _allowanceCharges = this . Descriptor . GetTradeAllowanceCharges ( ) ;
831
- if ( _allowanceCharges ? . Count > 0 )
831
+ foreach ( TradeAllowanceCharge tradeAllowanceCharge in _allowanceCharges )
832
832
{
833
- foreach ( TradeAllowanceCharge tradeAllowanceCharge in _allowanceCharges )
834
- {
835
- Writer . WriteStartElement ( "ram:SpecifiedTradeAllowanceCharge" ) ;
836
- Writer . WriteStartElement ( "ram:ChargeIndicator" ) ;
837
- Writer . WriteElementString ( "udt:Indicator" , tradeAllowanceCharge . ChargeIndicator ? "true" : "false" ) ;
838
- Writer . WriteEndElement ( ) ; // !ram:ChargeIndicator
833
+ Writer . WriteStartElement ( "ram:SpecifiedTradeAllowanceCharge" ) ;
834
+ Writer . WriteStartElement ( "ram:ChargeIndicator" ) ;
835
+ Writer . WriteElementString ( "udt:Indicator" , tradeAllowanceCharge . ChargeIndicator ? "true" : "false" ) ;
836
+ Writer . WriteEndElement ( ) ; // !ram:ChargeIndicator
839
837
840
- if ( tradeAllowanceCharge . ChargePercentage . HasValue )
841
- {
842
- Writer . WriteStartElement ( "ram:CalculationPercent" , profile : Profile . Extended | Profile . XRechnung1 | Profile . XRechnung ) ;
843
- Writer . WriteValue ( _formatDecimal ( tradeAllowanceCharge . ChargePercentage . Value ) ) ;
844
- Writer . WriteEndElement ( ) ;
845
- }
846
-
847
- if ( tradeAllowanceCharge . BasisAmount . HasValue )
848
- {
849
- Writer . WriteStartElement ( "ram:BasisAmount" , profile : Profile . Comfort | Profile . Extended | Profile . XRechnung1 | Profile . XRechnung ) ;
850
- Writer . WriteValue ( _formatDecimal ( tradeAllowanceCharge . BasisAmount . Value ) ) ;
851
- Writer . WriteEndElement ( ) ;
852
- }
838
+ if ( tradeAllowanceCharge . ChargePercentage . HasValue )
839
+ {
840
+ Writer . WriteStartElement ( "ram:CalculationPercent" , profile : Profile . Extended | Profile . XRechnung1 | Profile . XRechnung ) ;
841
+ Writer . WriteValue ( _formatDecimal ( tradeAllowanceCharge . ChargePercentage . Value ) ) ;
842
+ Writer . WriteEndElement ( ) ;
843
+ }
853
844
854
- Writer . WriteStartElement ( "ram:ActualAmount" ) ;
855
- Writer . WriteValue ( _formatDecimal ( tradeAllowanceCharge . ActualAmount , 2 ) ) ;
845
+ if ( tradeAllowanceCharge . BasisAmount . HasValue )
846
+ {
847
+ Writer . WriteStartElement ( "ram:BasisAmount" , profile : Profile . Comfort | Profile . Extended | Profile . XRechnung1 | Profile . XRechnung ) ;
848
+ Writer . WriteValue ( _formatDecimal ( tradeAllowanceCharge . BasisAmount . Value ) ) ;
856
849
Writer . WriteEndElement ( ) ;
850
+ }
857
851
852
+ Writer . WriteStartElement ( "ram:ActualAmount" ) ;
853
+ Writer . WriteValue ( _formatDecimal ( tradeAllowanceCharge . ActualAmount , 2 ) ) ;
854
+ Writer . WriteEndElement ( ) ;
858
855
859
- Writer . WriteOptionalElementString ( "ram:Reason" , tradeAllowanceCharge . Reason ) ;
860
856
861
- if ( tradeAllowanceCharge . Tax != null )
862
- {
863
- Writer . WriteStartElement ( "ram:CategoryTradeTax" ) ;
864
- Writer . WriteElementString ( "ram:TypeCode" , tradeAllowanceCharge . Tax . TypeCode . EnumToString ( ) ) ;
865
- if ( tradeAllowanceCharge . Tax . CategoryCode . HasValue )
866
- Writer . WriteElementString ( "ram:CategoryCode " , tradeAllowanceCharge . Tax . CategoryCode ? . EnumToString ( ) ) ;
867
- Writer . WriteElementString ( "ram:RateApplicablePercent" , _formatDecimal ( tradeAllowanceCharge . Tax . Percent ) ) ;
868
- Writer . WriteEndElement ( ) ;
869
- }
857
+ Writer . WriteOptionalElementString ( "ram:Reason" , tradeAllowanceCharge . Reason ) ;
858
+
859
+ if ( tradeAllowanceCharge . Tax != null )
860
+ {
861
+ Writer . WriteStartElement ( "ram:CategoryTradeTax" ) ;
862
+ Writer . WriteElementString ( "ram:TypeCode " , tradeAllowanceCharge . Tax . TypeCode . EnumToString ( ) ) ;
863
+ if ( tradeAllowanceCharge . Tax . CategoryCode . HasValue )
864
+ Writer . WriteElementString ( "ram:CategoryCode" , tradeAllowanceCharge . Tax . CategoryCode ? . EnumToString ( ) ) ;
865
+ Writer . WriteElementString ( "ram:RateApplicablePercent" , _formatDecimal ( tradeAllowanceCharge . Tax . Percent ) ) ;
870
866
Writer . WriteEndElement ( ) ;
871
867
}
868
+ Writer . WriteEndElement ( ) ;
872
869
}
873
870
874
871
// 14. SpecifiedLogisticsServiceCharge (optional)
0 commit comments