Merge pull request #703 from langfr/bugfix/TaxExemptionReason
Fill TaxExemptionReason during InvoiceImport.
This commit is contained in:
@@ -172,6 +172,9 @@ public class Item implements IZUGFeRDExportableItem {
|
|||||||
icnm.getAsNodeMap("ApplicableTradeTax")
|
icnm.getAsNodeMap("ApplicableTradeTax")
|
||||||
.flatMap(cnm -> cnm.getAsBigDecimal("RateApplicablePercent", "ApplicablePercent"))
|
.flatMap(cnm -> cnm.getAsBigDecimal("RateApplicablePercent", "ApplicablePercent"))
|
||||||
.ifPresent(product::setVATPercent);
|
.ifPresent(product::setVATPercent);
|
||||||
|
icnm.getAsNodeMap("ApplicableTradeTax")
|
||||||
|
.flatMap(cnm -> cnm.getAsString("ExemptionReason"))
|
||||||
|
.ifPresent(product::setTaxExemptionReason);
|
||||||
icnm.getAsNodeMap("SpecifiedTradeAllowanceCharge").ifPresent(stac -> {
|
icnm.getAsNodeMap("SpecifiedTradeAllowanceCharge").ifPresent(stac -> {
|
||||||
stac.getAsNodeMap("ChargeIndicator").ifPresent(ci -> {
|
stac.getAsNodeMap("ChargeIndicator").ifPresent(ci -> {
|
||||||
String isChargeString=ci.getAsString("Indicator").get();
|
String isChargeString=ci.getAsString("Indicator").get();
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ public class XRTest extends TestCase {
|
|||||||
.addCashDiscount(new CashDiscount(new BigDecimal(3), 14))
|
.addCashDiscount(new CashDiscount(new BigDecimal(3), 14))
|
||||||
.setReferenceNumber("991-01484-64")//leitweg-id
|
.setReferenceNumber("991-01484-64")//leitweg-id
|
||||||
// not using any VAT, this is also a test of zero-rated goods:
|
// not using any VAT, this is also a test of zero-rated goods:
|
||||||
.setNumber(number).addItem(new Item(new Product("Testprodukt", "", "C62", BigDecimal.ZERO), amount, new BigDecimal(1.0)))
|
.setNumber(number).addItem(new Item(new Product("Testprodukt", "", "C62", BigDecimal.ZERO).setTaxExemptionReason("Kleinunternehmer"), amount, new BigDecimal(1.0)))
|
||||||
.setPayee( new TradeParty().setName("VR Factoring GmbH").setID("DE813838785").setLegalOrganisation(new LegalOrganisation("391200LDDFJDMIPPMZ54", "0199")))
|
.setPayee( new TradeParty().setName("VR Factoring GmbH").setID("DE813838785").setLegalOrganisation(new LegalOrganisation("391200LDDFJDMIPPMZ54", "0199")))
|
||||||
.embedFileInXML(fe1);
|
.embedFileInXML(fe1);
|
||||||
|
|
||||||
|
|||||||
@@ -332,6 +332,9 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase {
|
|||||||
LineCalculator lc = new LineCalculator(invoice.getZFItems()[0]);
|
LineCalculator lc = new LineCalculator(invoice.getZFItems()[0]);
|
||||||
assertTrue(new BigDecimal("1").compareTo(lc.getItemTotalNetAmount()) == 0);
|
assertTrue(new BigDecimal("1").compareTo(lc.getItemTotalNetAmount()) == 0);
|
||||||
|
|
||||||
|
assertEquals("Z", invoice.getZFItems()[0].getProduct().getTaxCategoryCode());
|
||||||
|
assertEquals("Kleinunternehmer", invoice.getZFItems()[0].getProduct().getTaxExemptionReason());
|
||||||
|
|
||||||
assertTrue(invoice.getTradeSettlement().length == 1);
|
assertTrue(invoice.getTradeSettlement().length == 1);
|
||||||
assertTrue(invoice.getTradeSettlement()[0] instanceof IZUGFeRDTradeSettlementPayment);
|
assertTrue(invoice.getTradeSettlement()[0] instanceof IZUGFeRDTradeSettlementPayment);
|
||||||
IZUGFeRDTradeSettlementPayment paym = (IZUGFeRDTradeSettlementPayment) invoice.getTradeSettlement()[0];
|
IZUGFeRDTradeSettlementPayment paym = (IZUGFeRDTradeSettlementPayment) invoice.getTradeSettlement()[0];
|
||||||
|
|||||||
Reference in New Issue
Block a user