Skip to content

Commit c482722

Browse files
Merge pull request #706 from tipa/master
Fixed invoice validation for ZUGFeRDVersion.Version23
2 parents ca3a447 + c406936 commit c482722

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

ZUGFeRD/InvoiceValidator.cs

+12-16
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ public static void ValidateAndPrint(InvoiceDescriptor descriptor, ZUGFeRDVersion
4848
}
4949
} // !ValidateAndPrint()
5050

51-
5251
public static ValidationResult Validate(InvoiceDescriptor descriptor, ZUGFeRDVersion version)
5352
{
5453
ValidationResult retval = new ValidationResult()
@@ -241,7 +240,7 @@ public static ValidationResult Validate(InvoiceDescriptor descriptor, ZUGFeRDVer
241240
}
242241

243242
if (Math.Abs(chargesTotalSummedPerTradeAllowanceCharge - chargeTotal) < 0.01m)
244-
{
243+
{
245244
retval.Messages.Add(String.Format("trade.settlement.monetarySummation.chargeTotal Message: Berechneter Wert ist wie vorhanden:[{0:0.0000}]", chargesTotalSummedPerTradeAllowanceCharge));
246245
}
247246
else
@@ -251,30 +250,27 @@ public static ValidationResult Validate(InvoiceDescriptor descriptor, ZUGFeRDVer
251250
}
252251

253252
// version-specific validation
254-
ValidationResult versionSpecificResults = new ValidationResult();
253+
ValidationResult versionSpecificResults;
255254
switch (version)
256255
{
257256
case ZUGFeRDVersion.Version1:
258-
{
259-
versionSpecificResults = _ValidateAccordingToVersion1(descriptor);
260-
break;
261-
}
257+
{
258+
versionSpecificResults = _ValidateAccordingToVersion1(descriptor);
259+
break;
260+
}
262261
default:
263-
{
264-
break;
265-
}
262+
{
263+
versionSpecificResults = new ValidationResult { IsValid = true };
264+
break;
265+
}
266266
}
267267

268-
if (versionSpecificResults.IsValid == false)
269-
{
270-
retval.IsValid = false;
271-
}
268+
retval.IsValid = retval.IsValid && versionSpecificResults.IsValid;
272269
retval.Messages.AddRange(versionSpecificResults.Messages);
273270

274271
return retval;
275272
} // !Validate()
276273

277-
278274
private static ValidationResult _ValidateAccordingToVersion1(InvoiceDescriptor descriptor)
279275
{
280276
ValidationResult retval = new ValidationResult()
@@ -305,7 +301,7 @@ private static ValidationResult _ValidateAccordingToVersion1(InvoiceDescriptor d
305301
retval.IsValid = false;
306302
retval.Messages.Add($"Global identifier scheme {descriptor.Buyer?.GlobalID?.SchemeID} is not supported for recipients (ShipTo) in ZUGFeRD 1.0");
307303
}
308-
304+
309305
return retval;
310306
} // !_ValidateAccordingToVersion1()
311307
}

0 commit comments

Comments
 (0)