---
title: Update
slug: netsuite/Kv0Z-update
description: Learn how to update an estimate in NetSuite by changing specific fields in this example document. Find out how to retrieve the internal Id of the estimate and see the complete estimate information in the response. Discover the code snippet that demonstrat
createdAt: 2021-10-26T11:52:35.000Z
---

The following is an example of updating the Estimate where we are changing some of the fields. (See [Estimate](docId\:fgC9EQDMRKFQ6ct2cri5h) for all available fields).  The NetSuite estimate Id (internalId) is required to update the estimate.

:::hint{type="info"}
Note: You can only update one record at a time.
:::

The response returns the complete estimate information, but we have shortened the response in our example for ease of reading.

:::CodeblockTabs
Request

```apex
//  Create a Map to store all the data of an Estimate
Map<String, Object> nsEstimate = new Map<String, Object>();
    nsEstimate.put('internalId', '38310');
    nsEstimate.put('entityStatus', new Map<String, Object>{'internalId'=>'11'});
    nsEstimate.put('expectedCloseDate', DateTime.newInstance(2020, 10, 31).getTime()/1000);

    //  Initializing the Estimate Line Items
    List<Object> lineItemList = new List<Object>();
    Map<String, Object> lineItem = new Map<String, Object>();
        lineItem.put('line', 1); // updates the existing line item with line number as 1.
        lineItem.put('quantity', 2);
        lineItemList.add(lineItem);
        
    //  Adding Another Line Item
        lineItem = new Map<String, Object>();
        lineItem.put('item', new Map<String, Object>{'internalId'=>'444'});
        lineItem.put('quantity', 4);
        lineItem.put('price', new Map<String, Object>{'internalId'=>'2'});
        lineItemList.add(lineItem);

    //  Adding the Line Items to Estimate
    Map<String, Object> estimateLineitemList = new Map<String, Object>();
        estimateLineitemList.put('item', lineItemList);
        estimateLineitemList.put('replaceAll', false); // setting this as false, would create a new, or update, the line items passed in the Request based on the Line Number.

    nsEstimate.put('itemList', estimateLineitemList);

//  Initializing the RequestJSON Data to be passed.
Map<String, Object> requestJSONMap = new Map<String, Object>();
    requestJSONMap.put('estimates', new List<Object>{nsEstimate});
    String reqJSON = JSON.serialize(requestJSONMap);

Map<String, Object> reqObj = new Map<String, Object>();
    reqObj.put('version', '1.0');
    reqObj.put('action', 'updateEstimate');
    reqObj.put('requestJSON', reqJSON);

//  Placing a request to Breadwinner Global API
Map<String, Object> resp = breadwinner_ns.BreadwinnerNetSuiteAPI.call(reqObj);
System.debug(resp);
```

Response

```json
{
	action=updateEstimate,
	timestamp=1599493152274, 
	validRequest=true, 
	version=1.0, 
	responseJSON={
	  "errors": [],
	  "status": "200",
	  "estimates": [
	    {
	      "tranId": "98",
	      "tranDate": 1599417000,
	      "total": 2019,
	      "title": "SF Estimate",
	      "taxTotal": 0,
	      "subTotal": 2034,
	      "subsidiary": {
	        "type": null,
	        "name": "Parent Company",
	        "internalId": "1",
	        "externalId": null
	      },
	      "status": "Open",
	      "shippingCost": null,
	      "salesRep": null,
	      "salesforceID": "a042v00002e7WeKAAU",
	      "probability": 75,
	      "otherRefNum": "4343399",
	      "nullFieldList": null,
	      "memo": "Database order 25",
	      "lastModifiedDate": 1599493149,
	      "itemList": {
	        "item": [
	          {
	            "taxRate1": 0,
	            "taxCode": {
	              "type": null,
	              "name": "VAT_IN:UNDEF-IN",
	              "internalId": "5",
	              "externalId": null
	            },
	            "tax1Amt": 0,
	            "revRecStartDate": null,
	            "revRecSchedule": null,
	            "revRecEndDate": null,
	            "rate": "999.00",
	            "quantity": 2,
	            "price": {
	              "type": null,
	              "name": null,
	              "internalId": "-1",
	              "externalId": null
	            },
	            "location": null,
	            "line": 1,
	            "item": {
	              "type": null,
	              "name": "Bow",
	              "internalId": "239",
	              "externalId": null
	            },
	            "grossAmt": 1998,
	            "description": "A weapon for shooting arrows",
	            "department": null,
	            "customFieldList": {
	              "customField": [
	                {
	                  "valueLookup": null,
	                  "value": "false",
	                  "scriptId": "custcol_checkbox",
	                  "internalId": "443",
	                  "fieldType": null
	                }
	              ]
	            },
	            "classification": null,
	            "amount": 1998
	          },
	          {
	            "taxRate1": 0,
	            "taxCode": {
	              "type": null,
	              "name": "VAT_IN:UNDEF-IN",
	              "internalId": "5",
	              "externalId": null
	            },
	            "tax1Amt": 0,
	            "revRecStartDate": null,
	            "revRecSchedule": null,
	            "revRecEndDate": null,
	            "rate": "9.00",
	            "quantity": 4,
	            "price": {
	              "type": null,
	              "name": "Alternate Price 1",
	              "internalId": "2",
	              "externalId": null
	            },
	            "location": null,
	            "line": 4,
	            "item": {
	              "type": null,
	              "name": "Apple",
	              "internalId": "444",
	              "externalId": null
	            },
	            "grossAmt": 36,
	            "description": null,
	            "department": null,
	            "customFieldList": {
	              "customField": [
	                {
	                  "valueLookup": null,
	                  "value": "false",
	                  "scriptId": "custcol_checkbox",
	                  "internalId": "443",
	                  "fieldType": null
	                }
	              ]
	            },
	            "classification": null,
	            "amount": 36
	          }
	        ]
	      },
	      "internalId": "38310",
	      "handlingCost": null,
	      "externalId": "SFId: a012w00000Oyssh",
	      "expectedCloseDate": 1604082600,
	      "exchangeRate": 1,
	      "entityStatus": {
	        "type": null,
	        "name": "In Negotiation",
	        "internalId": "11",
	        "externalId": null
	      },
	      "entity": {
	        "type": null,
	        "name": "21 Atherton Grocery",
	        "internalId": "362",
	        "externalId": null
	      },
	      "dueDate": 1609353000,
	      "discountTotal": -15,
	      "discountRate": "-15.00",
	      "discountItem": {
	        "type": null,
	        "name": "Partner Discount",
	        "internalId": "-6",
	        "externalId": null
	      },
	      "department": {
	        "type": null,
	        "name": "Sales",
	        "internalId": "2",
	        "externalId": null
	      },
	      "customForm": {
	        "type": null,
	        "name": "Custom Estimate 2",
	        "internalId": "124",
	        "externalId": null
	      },
	      "customFieldList": {
	        "customField": [
	          {
	            "valueLookup": {
	              "type": null,
	              "name": "B",
	              "internalId": "2",
	              "externalId": null
	            },
	            "value": null,
	            "scriptId": "custbody_customlist",
	            "internalId": "458",
	            "fieldType": null
	          },
	          {
	            "valueLookup": null,
	            "value": "false",
	            "scriptId": "custbody_checkbox",
	            "internalId": "272",
	            "fieldType": null
	          }
	        ]
	      },
	      "currencyRecord": null,
	      "currencyName": "US Dollars",
	      "createdDate": 1599492192,
	      "classification": {
	        "type": null,
	        "name": "Corporate Sales",
	        "internalId": "5",
	        "externalId": null
	      }
	    }
	  ]
	}
}
```
:::

&#x20;

