package io.konik.csv; import com.neovisionaries.i18n.CountryCode; import com.neovisionaries.i18n.CurrencyCode; import io.konik.csv.model.Row; import io.konik.zugferd.unece.codes.Reference; import io.konik.zugferd.unece.codes.UnitOfMeasurement; import java.math.BigDecimal; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class Rows { public static Row row1; public static Row row2; static { Row.TradeParty recipient = new Row.TradeParty() .setName("Lorem Ipsum LTD") .setContactName("Joe Doe") .setAddressLine1("Baker Street 21") .setCity("London") .setPostcode("8231233") .setEmail("joedoe@loremipsumltd.com") .setCountryCode(CountryCode.DE) .addTax(new Row.Tax("UK2123432123", Reference.FC)) .addTax(new Row.Tax("UK1231232322", Reference.VA)); row1 = new Row(); row1.setHeader(new Row.Header() .setInvoiceNumber("INVOICE/2015/11/22") .setType("Rechnung") .setDueDate(parse("2015-12-31")) .setIssued(parse("2015-12-14")) .setNote("This is simple note in two separate lines") .setCurrency(CurrencyCode.EUR) .setReference("lorem@ipsum.com") .setCustomerNumber("123123123123") ); row1.setRecipient(recipient); row1.setIssuer(new Row.TradeParty() .setName("Microsoft") .setContactName("Bill Gates") .setAddressLine1("Silicon Valley 21") .setCity("Los Angeles, California") .setPostcode("8323443") .setEmail("contact@billgatesmicrosoft.com") .setCountryCode(CountryCode.US) .addTax(new Row.Tax("US123123345345", Reference.FC)) .setBankInfo(new Row.BankInformation() .setBankName("Test Bank Account") .setBic("TESTBNK") .setIban("PL123123123123132") ) ); row1.setItems(Arrays.asList( new Row.Item().setName("Computer mouse") .setQuantity(BigDecimal.ONE) .setTaxPercent(BigDecimal.valueOf(19)) .setUnit(UnitOfMeasurement.UNIT) .setUnitPrice(BigDecimal.valueOf(79)), new Row.Item().setName("Transport service") .setQuantity(BigDecimal.ONE) .setTaxPercent(BigDecimal.valueOf(19)) .setUnit(UnitOfMeasurement.UNIT) .setUnitPrice(BigDecimal.valueOf(9.99)) )); row2 = new Row(); row2.setHeader(new Row.Header() .setInvoiceNumber("INVOICE/2015/11/23") .setType("Rechnung") .setDueDate(parse("2015-12-29")) .setIssued(parse("2015-12-15")) .setNote("email: qweqwe@test.com") .setCurrency(CurrencyCode.EUR) .setReference("lorem@ipsum.com") .setCustomerNumber("123123123123") ); row2.setRecipient(recipient); row2.setIssuer(new Row.TradeParty() .setName("Test Company LTD") .setAddressLine1("Test Street 2") .setCity("Berlin") .setPostcode("34234") .setCountryCode(CountryCode.DE) .addTax(new Row.Tax("DE123123123", Reference.FC)) .setBankInfo(new Row.BankInformation() .setBankName("Test Bank Account") .setBic("TESTBNK") .setIban("PL123123123123132") ) ); row2.setItems(Arrays.asList( new Row.Item().setName("Beer") .setQuantity(BigDecimal.valueOf(8)) .setTaxPercent(BigDecimal.valueOf(8)) .setUnit(UnitOfMeasurement.LITRE) .setUnitPrice(BigDecimal.valueOf(17)) )); } static Date parse(String str) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { return dateFormat.parse(str); } catch (ParseException e) {} return null; } }