Discussions
Stay up-to-date with the latest news from NetSuite. You’ll be in the know about how to connect with peers and take your business to new heights at our virtual, in-person, on demand events, and much more.
Now is the time to ask your NetSuite-savvy friends and colleagues to join the NetSuite Support Community! Refer now! Click here to watch and learn more!
Stay in the Know
Be sure you're subscribed to NetSuite communication to stay in the know about monthly happenings, updates and announcements. Subscribe
Be sure you're subscribed to NetSuite communication to stay in the know about monthly happenings, updates and announcements. Subscribe
Please note that on Friday, March 20, 2026, at 8:00 PM Pacific time, our Case Management System will undergo a scheduled maintenance for approximately 4 hours. During this time, case creation via SuiteAnswers will be unavailable and inbound calls will be routed to Customer Service.
Create Purchase Order from Sales Order
I am trying to create a purchase order from the custom fields in sales order by just one click. and a new window showing the purchase order information is shown afterward.
I have created a User Event script for creating the button and a Client Script to create the record.
The User Event script:
function onClick(type,form) { form.addButton('custpage_Add','Create PO',"createPO();"); form.setScript('customscriptcscreatepo'); }The Client Script
function createPO() { var recId = request.getParameter('id'); var recSO = nlapiLoadRecord('salesorder',recId); //create PO var recPO = nlapiCreateRecord('purchaseorder'); var recPOId = recPO.getId(); var vendor = recSO.getFieldValue('custbodyfactoryname'); recPO.setFieldValue('entity',vendor); var itemname = recSO.getFieldValue('custbodyitem'); var unitprice = recSO.getFieldValue('custbodyunitcost'); var POTotal = recSO.getFieldValue('custbodytotalfactorycost'); recPO.selectNewLineItem('item'); recPO.setCurrentLineItemValue('item', 'item', itemname); recPO.setCurrentLineItemValue('item', 'rate', unitprice); recPO.setCurrentLineItemValue('item', 'amount', POtotal); recPO.commitLineItem('item'); var reqPOId = nlapiSubmitRecord(recPO, false, true); var POURL = nlapiResolveURL('RECORD', 'purchaseorder', recPOId, true); window.open(POURL, '_blank'); } 0