---
title: Create
slug: quickbooks/WZU--create
docTags: 
createdAt: 2024-03-08T07:30:04.713Z
---

The following is an example of creating a Purchase Order where we are setting every possible field (See [Purchase Order](docId\:j53AXK0QEbupb8e_WaV9-) for the available fields). The response will return the exact request data plus the new QuickBooks PurchaseOrder ID (Id).

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

:::CodeblockTabs
Request

```apex
//  Create a Map to store all the data of a Purchase Order
            Map<String, Object> purchaseOrderMap = new Map<String, Object>(); 
            List<Object> lineItemList = new List<Object>();
            List<Object> purchaseOrderList = new List<Object>(); 

//  Assign value of Opportunity to QuickBook PurchaseOrder
		    purchaseOrderMap.put('TxnDate','2024-04-26');
            purchaseOrderMap.put('DueDate','2024-05-26');
            purchaseOrderMap.put('DocNumber', '0001');
		    purchaseOrderMap.put('VendorRef' , new Map<String, Object>{'value' => '67' });
            purchaseOrderMap.put('PrivateNote' , 'create');
		    Map<String, Object> lineItemMap = new Map<String, Object>(); 
		    Map<String, Object> salesLineItemDetailMap = new Map<String, Object>();                 
            lineItemMap.put('DetailType','ItemBasedExpenseLineDetail');
            lineItemMap.put('Amount',1000);
            salesLineItemDetailMap.put('ItemRef' , new Map<String, Object>{'value' => '19' });
            salesLineItemDetailMap.put('Qty','10');
            salesLineItemDetailMap.put('UnitPrice','100');
            if(lineItemMap.get('DetailType') == 'SalesItemLineDetail'){
                 	lineItemMap.put('SalesItemLineDetail',salesLineItemDetailMap); 
                }else if(lineItemMap.get('DetailType') == 'ItemBasedExpenseLineDetail'){
                    lineItemMap.put('ItemBasedExpenseLineDetail',salesLineItemDetailMap); 
                }
            lineItemList.add(lineItemMap);
            
//  Adding the Line Items to QuickBook PurchaseOrder
            purchaseOrderMap.put('Line',lineItemList);
            purchaseOrderList.add(purchaseOrderMap);						   
		    Map<String, Object> reqJSONMap = new Map<String, Object>(); 
            reqJSONMap.put('PurchaseOrder' , purchaseOrderList); 
            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' , 'createPurchaseOrder'); 
            finalReqMap.put('RequestJSON' , reqJSON); 
            //  Required, if QuickBooks Multi-Org is enabled in Breadwinner. 
            finalReqMap.put('qbOrgId' , '4620816365285051610');
            finalReqMap.put('skipDML' , false); 
            System.debug('Request ::: ' + finalReqMap); 
		    Map<String, Object> respMap = breadwinner_qbo.BreadwinnerQBAPI.call(finalReqMap);
            System.debug('Response ::: ' + respMap);
```

Response

```json
{
   action=createPurchaseOrder,
   timestamp=1716959203946,
   validRequest=true,
   version=1.0,
   responseJSON={
      "statusCode":200,
      "purchaseOrder":[
         {
            "VendorRef":{
               "value":"67",
               "name":"3.39"
            },
            "TxnDate":"2024-04-26",
            "TotalAmt":1000.00,
            "SyncToken":"0",
            "sparse":false,
            "SFRecordID":"a01Ig000000PdsKIAS",
            "PrivateNote":"create",
            "POStatus":"Open",
            "MetaData":{
               "LastUpdatedTime":"2024-05-28T22:06:42-07:00",
               "CreateTime":"2024-05-28T22:06:42-07:00"
            },
            "Line":[
               {
                  "LineNum":1,
                  "ItemBasedExpenseLineDetail":{
                     "UnitPrice":100,
                     "TaxCodeRef":{
                        "value":"NON"
                     },
                     "Qty":10,
                     "ItemRef":{
                        "value":"19",
                        "name":"GenWatt Diesel 1000kW"
                     },
                     "BillableStatus":"NotBillable"
                  },
                  "Id":"1",
                  "DetailType":"ItemBasedExpenseLineDetail",
                  "Amount":1000.00
               }
            ],
            "Id":"228",
            "DocNumber":"0001",
            "CustomField":[
               {
                  "Type":"StringType",
                  "Name":"1",
                  "DefinitionId":"1"
               },
               {
                  "Type":"StringType",
                  "Name":"2",
                  "DefinitionId":"2"
               },
               {
                  "Type":"StringType",
                  "Name":"3",
                  "DefinitionId":"3"
               }
            ],
            "CurrencyRef":{
               "value":"USD",
               "name":"United States Dollar"
            },
            "APAccountRef":{
               "value":"33",
               "name":"Accounts Payable (A/P)"
            }
         }
      ]
   }
}
```
:::

