corrected document level charges
This commit is contained in:
@@ -15,7 +15,7 @@ public class Charge implements IZUGFeRDAllowanceCharge {
|
||||
protected String categoryCode;
|
||||
|
||||
public Charge() {
|
||||
|
||||
taxPercent=new BigDecimal(0);
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
@@ -56,6 +56,7 @@ public class VATAmount {
|
||||
|
||||
public void setBasis(BigDecimal basis) {
|
||||
this.basis = basis;
|
||||
|
||||
}
|
||||
|
||||
public BigDecimal getCalculated() {
|
||||
|
||||
@@ -107,7 +107,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
|
||||
private BigDecimal getTotalGross() {
|
||||
|
||||
BigDecimal res = getTotal();
|
||||
BigDecimal res = getTaxBasis();
|
||||
HashMap<BigDecimal, VATAmount> VATPercentAmountMap = getVATPercentAmountMap();
|
||||
for (BigDecimal currentTaxPercent : VATPercentAmountMap.keySet()) {
|
||||
VATAmount amount = VATPercentAmountMap.get(currentTaxPercent);
|
||||
@@ -121,11 +121,9 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
IZUGFeRDAllowanceCharge[] charges= trans.getZFCharges();
|
||||
if ((charges!=null) && (charges.length>0)) {
|
||||
for (IZUGFeRDAllowanceCharge currentCharge:charges) {
|
||||
|
||||
res=res.add(currentCharge.getTotalAmount(trans));
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
private BigDecimal getAllowances() {
|
||||
@@ -136,8 +134,6 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
res=res.add(currentAllowance.getTotalAmount(trans));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
private BigDecimal getTotal() {
|
||||
@@ -185,7 +181,10 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
if (theAmount==null) {
|
||||
theAmount=new VATAmount(new BigDecimal(0),new BigDecimal(0),"S");
|
||||
}
|
||||
theAmount.setCalculated(theAmount.getCalculated().add(currentCharge.getTotalAmount(trans)));
|
||||
theAmount.setBasis(theAmount.getBasis().add(currentCharge.getTotalAmount(trans)));
|
||||
BigDecimal factor=currentCharge.getTaxPercent().divide(new BigDecimal(100));
|
||||
theAmount.setCalculated(theAmount.getBasis().multiply(factor));
|
||||
hm.put(currentCharge.getTaxPercent(), theAmount);
|
||||
}
|
||||
}
|
||||
IZUGFeRDAllowanceCharge[] allowances= trans.getZFAllowances();
|
||||
@@ -195,7 +194,11 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
if (theAmount==null) {
|
||||
theAmount=new VATAmount(new BigDecimal(0),new BigDecimal(0),"S");
|
||||
}
|
||||
theAmount.setCalculated(theAmount.getCalculated().subtract(currentAllowance.getTotalAmount(trans)));
|
||||
theAmount.setBasis(theAmount.getBasis().subtract(currentAllowance.getTotalAmount(trans)));
|
||||
BigDecimal factor=currentAllowance.getTaxPercent().divide(new BigDecimal(100));
|
||||
theAmount.setCalculated(theAmount.getBasis().multiply(factor));
|
||||
|
||||
hm.put(currentAllowance.getTaxPercent(), theAmount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -586,7 +589,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
// //
|
||||
// currencyID=\"EUR\"
|
||||
+ " <ram:TaxTotalAmount currencyID=\"" + trans.getCurrency() + "\">"
|
||||
+ currencyFormat(getTotalGross().subtract(getTotal())) + "</ram:TaxTotalAmount>\n"
|
||||
+ currencyFormat(getTotalGross().subtract(getTaxBasis())) + "</ram:TaxTotalAmount>\n"
|
||||
+ " <ram:GrandTotalAmount>" + currencyFormat(getTotalGross()) + "</ram:GrandTotalAmount>\n" //$NON-NLS-2$
|
||||
// //
|
||||
// currencyID=\"EUR\"
|
||||
|
||||
@@ -56,8 +56,8 @@ public class ZF2PushTest extends TestCase {
|
||||
|
||||
ze.setTransaction(new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setContractReferencedDocument("0815").setSender(new TradeParty(orgname,"teststr", "55232","teststadt","DE").addBankDetails(new BankDetails("777666555","DE4321"))).setOwnTaxID("4711").setOwnVATID("DE19990815").setRecipient(new TradeParty("Franz Müller","teststr.12", "55232", "Entenhausen", "DE").setContact(new Contact("nameRep", "phoneRep", "emailRep@test.com"))).setNumber(number).addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), amount, new BigDecimal(1.0))));
|
||||
String theXML = new String(ze.getProvider().getXML());
|
||||
// assertTrue(theXML.contains("777666555")); //the iban
|
||||
// assertTrue(theXML.contains("<rsm:CrossIndustryInvoice"));
|
||||
assertTrue(theXML.contains("777666555")); //the iban
|
||||
assertTrue(theXML.contains("<rsm:CrossIndustryInvoice"));
|
||||
ze.export(TARGET_PDF);
|
||||
} catch (IOException e) {
|
||||
fail("IOException should not be raised in testEdgeExport");
|
||||
@@ -191,8 +191,8 @@ public class ZF2PushTest extends TestCase {
|
||||
.addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), amount, new BigDecimal(1.0)))
|
||||
.addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), amount, new BigDecimal(1.0)))
|
||||
.addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), amount, new BigDecimal(1.0)))
|
||||
.addCharge(new Charge(new BigDecimal(0.5)))
|
||||
.addAllowance(new Allowance(new BigDecimal(0.2)))
|
||||
.addCharge(new Charge(new BigDecimal(0.5)).setTaxPercent(new BigDecimal(19)))
|
||||
.addAllowance(new Allowance(new BigDecimal(0.2)).setTaxPercent(new BigDecimal(19)))
|
||||
|
||||
);
|
||||
String theXML = new String(ze.getProvider().getXML());
|
||||
|
||||
Reference in New Issue
Block a user