diff --git a/README.md b/README.md
index 86acc126..e8ce9094 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Add this dependency and repository to your POM.xml
com.xero
xero-java-sdk
- 1.0.0
+ 1.0.1
diff --git a/pom.xml b/pom.xml
index dfbd0974..a5a0b691 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.xero
xero-java-sdk
jar
- 1.0.0
+ 1.0.1
Xero-Java SDK
http://maven.apache.org
diff --git a/src/main/java/com/xero/api/JsonConfig.java b/src/main/java/com/xero/api/JsonConfig.java
index 5ea77a70..816c0ea2 100644
--- a/src/main/java/com/xero/api/JsonConfig.java
+++ b/src/main/java/com/xero/api/JsonConfig.java
@@ -114,7 +114,7 @@ public String getAccessTokenUrl() {
@Override
public String getUserAgent() {
- return USER_AGENT + " [Xero-Java-1.0.0]";
+ return USER_AGENT + " " + CONSUMER_KEY + " [Xero-Java-1.0.1]";
}
@Override
diff --git a/src/main/java/com/xero/api/XeroClient.java b/src/main/java/com/xero/api/XeroClient.java
index 77f3e2dd..4f6c9aba 100644
--- a/src/main/java/com/xero/api/XeroClient.java
+++ b/src/main/java/com/xero/api/XeroClient.java
@@ -684,6 +684,16 @@ public List createCreditNotes(List objects) throws IOExc
array.getCreditNote().addAll(objects);
return put("CreditNote", objFactory.createCreditNotes(array)).getCreditNotes().getCreditNote();
}
+
+
+ public List createCreditNotes(List objects, String unitdp) throws IOException {
+ Map params = new HashMap<>();
+ addToMapIfNotNull(params, "unitdp", unitdp);
+
+ ArrayOfCreditNote array = new ArrayOfCreditNote();
+ array.getCreditNote().addAll(objects);
+ return put("CreditNote", objFactory.createCreditNotes(array),params).getCreditNotes().getCreditNote();
+ }
public List updateCreditNote(List objects) throws IOException {
ArrayOfCreditNote array = new ArrayOfCreditNote();
@@ -1410,7 +1420,16 @@ public List createReceipts(List objects) throws IOException {
array.getReceipt().addAll(objects);
return put("Receipts", objFactory.createReceipts(array)).getReceipts().getReceipt();
}
+
+ public List createReceipts(List objects, String unitdp) throws IOException {
+ Map params = new HashMap<>();
+ addToMapIfNotNull(params, "unitdp", unitdp);
+ ArrayOfReceipt array = new ArrayOfReceipt();
+ array.getReceipt().addAll(objects);
+ return put("Receipts", objFactory.createReceipts(array),params).getReceipts().getReceipt();
+ }
+
public List updateReceipt(List objects) throws IOException {
ArrayOfReceipt array = new ArrayOfReceipt();
array.getReceipt().addAll(objects);
diff --git a/src/main/java/com/xero/example/RequestResourceServlet.java b/src/main/java/com/xero/example/RequestResourceServlet.java
index 2afbdc24..8db96ad0 100755
--- a/src/main/java/com/xero/example/RequestResourceServlet.java
+++ b/src/main/java/com/xero/example/RequestResourceServlet.java
@@ -2,7 +2,6 @@
import java.io.ByteArrayInputStream;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -389,6 +388,36 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
/* CREDIT NOTE */
try {
+
+ List newCreditNote = client.createCreditNotes(SampleData.loadCreditNote().getCreditNote());
+ messages.add("Create a new CreditNote ID : " + newCreditNote.get(0).getCreditNoteID() );
+
+ List newCreditNote4dp = client.createCreditNotes(SampleData.loadCreditNote4dp().getCreditNote(),"4");
+ messages.add("Create a new CreditNote ID 4dp: " + newCreditNote4dp.get(0).getCreditNoteID() );
+
+
+ List CreditNoteWhere = client.getCreditNotes(null,"Status==\"DRAFT\"",null);
+ if(CreditNoteWhere.size() > 0) {
+ messages.add("Get a CreditNote with WHERE clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
+ }
+
+ List CreditNotePage = client.getCreditNotes(null,"Status==\"DRAFT\"",null,"1");
+ if(CreditNotePage.size() > 0) {
+ messages.add("Get a CreditNote with PAGE=1 clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
+ }
+
+ List CreditNoteList = client.getCreditNotes();
+ int num = SampleData.findRandomNum(CreditNoteList.size());
+ messages.add("Get a random CreditNote - ID : " + CreditNoteList.get(num).getCreditNoteID());
+
+ CreditNote CreditNoteOne = client.getCreditNote(CreditNoteList.get(num).getCreditNoteID());
+ messages.add("Get a single CreditNote - ID : " + CreditNoteOne.getCreditNoteID());
+
+ newCreditNote.get(0).setReference("My updated Credit Note");
+ List updateCreditNote = client.updateCreditNote(newCreditNote);
+ messages.add("Update CreditNote - ID: " + updateCreditNote.get(0).getCreditNoteID() + " - Reference: " + updateCreditNote.get(0).getReference());
+
+
List CreditNoteListForPdf = client.getCreditNotes();
// GET PDF of CREDIT NOTE
@@ -417,29 +446,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
String saveFilePath = dirPath + File.separator + fileName;
messages.add("Get a PDF copy of CreditNote - save it here: " + saveFilePath);
- List newCreditNote = client.createCreditNotes(SampleData.loadCreditNote().getCreditNote());
- messages.add("Create a new CreditNote ID : " + newCreditNote.get(0).getCreditNoteID() );
-
- List CreditNoteWhere = client.getCreditNotes(null,"Status==\"DRAFT\"",null);
- if(CreditNoteWhere.size() > 0) {
- messages.add("Get a CreditNote with WHERE clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
- }
- List CreditNotePage = client.getCreditNotes(null,"Status==\"DRAFT\"",null,"1");
- if(CreditNotePage.size() > 0) {
- messages.add("Get a CreditNote with PAGE=1 clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
- }
-
- List CreditNoteList = client.getCreditNotes();
- int num = SampleData.findRandomNum(CreditNoteList.size());
- messages.add("Get a random CreditNote - ID : " + CreditNoteList.get(num).getCreditNoteID());
-
- CreditNote CreditNoteOne = client.getCreditNote(CreditNoteList.get(num).getCreditNoteID());
- messages.add("Get a single CreditNote - ID : " + CreditNoteOne.getCreditNoteID());
-
- newCreditNote.get(0).setReference("My updated Credit Note");
- List updateCreditNote = client.updateCreditNote(newCreditNote);
- messages.add("Update CreditNote - ID: " + updateCreditNote.get(0).getCreditNoteID() + " - Reference: " + updateCreditNote.get(0).getReference());
} catch (XeroApiException e) {
System.out.println(e.getResponseCode());
diff --git a/src/main/java/com/xero/example/SampleData.java b/src/main/java/com/xero/example/SampleData.java
index ea69698b..1a8102fa 100755
--- a/src/main/java/com/xero/example/SampleData.java
+++ b/src/main/java/com/xero/example/SampleData.java
@@ -132,6 +132,22 @@ public static ArrayOfCreditNote loadCreditNote() throws IOException {
array.getCreditNote().add(cn);
return array;
}
+
+ public static ArrayOfCreditNote loadCreditNote4dp() throws IOException {
+ ArrayOfCreditNote array = new ArrayOfCreditNote();
+
+ CreditNote cn = new CreditNote();
+ cn.setType(CreditNoteType.ACCPAYCREDIT);
+ cn.setDate(loadDate());
+ cn.setLineAmountTypes(LineAmountType.INCLUSIVE);
+ cn.setLineItems(loadLineItem4dp());
+ cn.setContact(loadSingleContact());
+ array.getCreditNote().add(cn);
+ return array;
+ }
+
+
+
// EMPLOYEE
public static ArrayOfEmployee loadEmployee() {
@@ -623,6 +639,39 @@ private static ArrayOfLineItem loadLineItem() throws IOException{
return array;
}
+ private static ArrayOfLineItem loadLineItem4dp() throws IOException{
+ List accountDirectCosts = client.getAccounts(null,"Type==\"DIRECTCOSTS\"",null);
+
+ ArrayOfLineItem array = new ArrayOfLineItem();
+ LineItem line = new LineItem();
+ line.setDescription("Yearly Bank Account Fee");
+ line.setQuantity(new BigDecimal("1.00"));
+ line.setUnitAmount(new BigDecimal("20.0344"));
+ line.setLineAmount(new BigDecimal("20.0344"));
+ line.setAccountCode(accountDirectCosts.get(0).getCode());
+
+
+ List TrackingCategoryList = client.getTrackingCategories();
+ if (TrackingCategoryList.size() > 0) {
+ int num10 = SampleData.findRandomNum(TrackingCategoryList.size());
+
+ ArrayOfTrackingCategory trackingCategories = new ArrayOfTrackingCategory();
+ TrackingCategory trackingCategory = new TrackingCategory();
+
+ trackingCategory.setTrackingCategoryID(TrackingCategoryList.get(num10).getTrackingCategoryID());
+ trackingCategory.setName(TrackingCategoryList.get(num10).getName());
+ trackingCategory.setOption(TrackingCategoryList.get(num10).getOptions().getOption().get(0).getName());
+
+ trackingCategories.getTrackingCategory().add(trackingCategory);
+
+ line.setTracking(trackingCategories);
+
+ }
+
+ array.getLineItem().add(line);
+ return array;
+ }
+
private static ArrayOfLineItem loadLineItemForOverpayment() throws IOException{
List accountDebtors = client.getAccounts(null,"SystemAccount==\"DEBTORS\"",null);