The following sample reads an invoice record. You must get the unique key value for the invoice record to update.
//for this sample, it is assumed that the unique key of the target Invoice record to read is a String, "INVC_0011"
protected InvoiceRepository invoiceRepository;
Invoice invoice = invoiceRepository.readInvoice("INVC_0011", getPropertiesToRead());
private List<String> getPropertiesToRead() {
List<String> properties = new List<String>();
properties.add("version");
properties.add("createdBy");
properties.add("createdOn");
properties.add("modifiedBy");
properties.add("modifiedOn");
properties.add("numberString");
properties.add("invoiceDate");
properties.add("receivedDate");
properties.add("periodStartDate");
properties.add("periodEndDate");
properties.add("submittedElectronically");
properties.add("postingStatus");
properties.add("vendor");
properties.add("submittedTotal");
properties.add("currency");
properties.add("comment");
properties.add("warnings");
properties.add("taxRate");
properties.add("adjustments");
properties.add("lineItems");
properties.add("originalExpenseTotal");
properties.add("originalFeeTotal");
properties.add("originalInvoiceTotal");
properties.add("expenseDiscountTotal");
properties.add("feeDiscountTotal");
properties.add("invoiceDiscountTotal");
properties.add("expenseAdjustmentTotal");
properties.add("feeAdjustmentTotal");
properties.add("invoiceAdjustmentTotal");
properties.add("expenseTaxTotal");
properties.add("feeTaxTotal");
properties.add("invoiceTaxTotal");
properties.add("netExpenseTotal");
properties.add("netFeeTotal");
properties.add("netInvoiceTotal");
properties.add("categories");
properties.add("note");
return properties;
}