Update
1min
The following is an example of update Sales Receipt. The QuickBooks Invoice Id (id) is required to update the Invoice (See Sales Receipt for the available fields).
Request
Response
|
// Create a Map to store all the data of a Sales REeceipt List<Object> salesReceiptList = new List<Object>(); Map<String, Object> salesReceiptMap = new Map<String, Object>(); salesReceiptMap.put('Id', '159'); salesReceiptMap.put('SyncToken','0'); salesReceiptMap.put('CustomerRef',new Map<String, Object>{'value' => '9'}); // Initializing the Sales Receipt Line Items List<Object> lineItemList = new List<Object>(); Map<String, Object> lineItemMap = new Map<String, Object>(); lineItemMap.put('LineNum',1); lineItemMap.put('Amount',100); lineItemMap.put('Description','Description Updated'); lineItemMap.put('DetailType', 'SalesItemLineDetail'); Map<String, Object> salesLineItemDetailMap = new Map<String, Object>(); salesLineItemDetailMap.put('Qty',2); salesLineItemDetailMap.put('UnitPrice',50); salesLineItemDetailMap.put('TaxCodeRef' , new Map<String, Object>{'value' => 'TAX'}); lineItemMap.put('SalesItemLineDetail', salesLineItemDetailMap); lineItemList.add(lineItemMap); // Adding the Line Items to Sales Receipt salesReceiptMap.put('Line',lineItemList); salesReceiptList.add(salesReceiptMap); // Initializing the RequestJSON Data to be passed. Map<String, Object> reqJSONMap = new Map<String, Object>(); reqJSONMap.put('salesReceipts' , salesReceiptList); String reqJSON = JSON.serialize(reqJSONMap); Map<String, Object> finalReqMap = new Map<String, Object>(); Map<String, Object> reqOptions = new Map<String, Object>(); finalReqMap.put('options' , reqOptions); finalReqMap.put('version' , '1.0'); finalReqMap.put('action' , 'updateSalesReceipt'); finalReqMap.put('RequestJSON' , reqJSON); finalReqMap.put('skipDML' , false); //Required, if QuickBooks Multi-Org is enabled in Breadwinner. finalReqMap.put('qbOrgId', '!aa00TM'); System.debug('Request ::: ' + finalReqMap); // Placing a request to Breadwinner Global API Map<String, Object> respMap = breadwinner_qbo.BreadwinnerQBAPI.call(finalReqMap); System.debug('Response ::: ' + respMap);