NetSuite Development Tip: XML Representation of Entity and Transaction Records

Published on May 29, 2019.

I'm not sure where I picked up this NetSuite tip, but I'm glad I did.

If you've done any development with NetSuite - and especially with SuiteScript - then you know that it can sometimes be difficult to determine the name of a field, and in some cases even the record type, that you're trying to work with. This tip helps with that, at least to some degree.

Here's how it works...

Navigate to any page in NetSuite where either a transaction or entity is being displayed. It doesn't matter what it is - an employee, customer, sales order - anything. Then, in your browser, add this to the end of the URL:

&xml=t

Click enter, and when the page loads, an XML-formatted version of the record that you were viewing will be displayed. This includes the record type, its fields, and sublists that were being displayed and their fields, and more.

For example, here's the XML representation of an item receipt.

<?xml version="1.0" encoding="UTF-8"?>
<nsResponse>
   <record recordType="itemreceipt" id="20" perm="4" fields="_eml_nkey_,_multibtnstate_,selectedtab,nsapiPI,nsapiSR,nsapiVF,nsapiFC,nsapiPS,nsapiVI,nsapiVD,nsapiPD,nsapiVL,nsapiRC,nsapiLI,nsapiLC,nsapiCT,nsbrowserenv,wfPI,wfSR,wfVF,wfFC,wfPS,type,id,externalid,whence,customwhence,entryformquerystring,_csrf,wfinstances,dbstrantype,bulk,createddate,lastmodifieddate,periodclosed,allownonglchanges,taxperiod,version,voided,cleared,cleareddate,linked,linkedrevrecje,linkedclosedperioddiscounts,entityname,trantypepermcheck,ntype,nluser,nlrole,nldept,nlloc,nlsub,baserecordtype,nlapiCC,entityfieldname,currencysymbol,exchangerate,isbasecurrency,currencyprecision,prevdate,ppsetbyuser,ppsetbyuservalue,pp_s,pp_e,tranid,entity,employee,createdfrom,trandate,postingperiod,partner,memo,currency,subsidiary,department,class,location,transactionnumber,orderid,ordertype,processtype,companyid,isadvbill,istransforming">
      <_csrf>0c4uZVF0Md332EM5w-GucJREAmA8RnRpLhI9lXq2iyV3ZoEsipo2f3nP2ieQQCMClRL0gbnHdTRK-diSRwKm690GHmbhheH_JbqkU8qwigM0hWrfEbv6sBekZmzhdirDoBqnhWJf_wfHytg8=</_csrf>
      <_eml_nkey_>92833536</_eml_nkey_>
      <baserecordtype>itemreceipt</baserecordtype>
      <cleared>F</cleared>
      <companyid>24</companyid>
      <createddate>5/28/2019 12:29 pm</createddate>
      <createdfrom>19</createdfrom>
      <currency>1</currency>
      <currencyprecision>2</currencyprecision>
      <currencysymbol>USD</currencysymbol>
      <dbstrantype>ItemRcpt</dbstrantype>
      <entity>24</entity>
      <entityfieldname>entity</entityfieldname>
      <entityname>3 TestCo</entityname>
      <entryformquerystring>id=20&whence=&xml=t</entryformquerystring>
      <exchangerate>1</exchangerate>
      <id>20</id>
      <isadvbill>F</isadvbill>
      <isbasecurrency>T</isbasecurrency>
      <istransforming>F</istransforming>
      <lastmodifieddate>5/28/2019 12:29 pm</lastmodifieddate>
      <linked>F</linked>
      <linkedclosedperioddiscounts>F</linkedclosedperioddiscounts>
      <linkedrevrecje>F</linkedrevrecje>
      <location>1</location>
      <nlapiCC>F</nlapiCC>
      <nldept>0</nldept>
      <nlloc>0</nlloc>
      <nlrole>3</nlrole>
      <nlsub>1</nlsub>
      <nluser>-5</nluser>
      <nsapiCT>1559144656310</nsapiCT>
      <ntype>16</ntype>
      <orderid>19</orderid>
      <ordertype>RtnAuth</ordertype>
      <postingperiod>37</postingperiod>
      <pp_e>1/31/2014</pp_e>
      <pp_s>1/1/2014</pp_s>
      <ppsetbyuser>F</ppsetbyuser>
      <prevdate>5/28/2019</prevdate>
      <processtype>CustCred</processtype>
      <subsidiary>1</subsidiary>
      <trandate>5/28/2019</trandate>
      <tranid>1</tranid>
      <transactionnumber>1</transactionnumber>
      <type>itemrcpt</type>
      <version>1</version>
      <voided>F</voided>
      <machine name="item" type="list" fields="line,orderdoc,orderline,itemreceive,generateaccruals,item,itemname,description,onhand,location,quantity,unitsdisplay,serialnumbers,options,restock,isdropshipment,unitcostoverride,itemupc,department,class,itemweight,itemtype,itemsubtype,isnoninventory,itemkey,sitemname,itemdescription,itemunitprice,itemquantity,itemfxamount,producer,manufacturername,multmanufactureaddr,manufactureraddr1,manufacturercity,manufacturerstate,manufacturerzip,countryofmanufacture,manufacturertaxid,manufacturertariff,preferencecriterion,schedulebnumber,schedulebquantity,schedulebcode,ishazmatitem,hazmatid,hazmatshippingname,hazmathazardclass,hazmatpackinggroup,hazmatitemunits,hazmatitemunitsqty,locweightuom,locdimuom,originalquantity,units,unitconversion,isserialitem,islotitem,isserialorlotitem,serialnumbersvalid,invttype,itemname_selector">
         <line>
            <description>Printer Cables 6'</description>
            <generateaccruals>F</generateaccruals>
            <invttype>T</invttype>
            <isdropshipment>F</isdropshipment>
            <ishazmatitem>F</ishazmatitem>
            <islotitem>F</islotitem>
            <isnoninventory>F</isnoninventory>
            <isserialitem>F</isserialitem>
            <isserialorlotitem>F</isserialorlotitem>
            <item>35</item>
            <itemdescription>Printer Cables 6'</itemdescription>
            <itemfxamount>25</itemfxamount>
            <itemkey>35</itemkey>
            <itemname>Printer Cables</itemname>
            <itemname_selector>Printer Cables</itemname_selector>
            <itemquantity>1</itemquantity>
            <itemreceive>T</itemreceive>
            <itemtype>InvtPart</itemtype>
            <itemunitprice>25</itemunitprice>
            <itemweight>8</itemweight>
            <line>1</line>
            <location>1</location>
            <locdimuom>in</locdimuom>
            <locweightuom>lbs</locweightuom>
            <multmanufactureaddr>F</multmanufactureaddr>
            <onhand>0</onhand>
            <orderdoc>19</orderdoc>
            <orderline>1</orderline>
            <originalquantity>1</originalquantity>
            <quantity>1</quantity>
            <restock>F</restock>
            <serialnumbersvalid>T</serialnumbersvalid>
            <sitemname>Printer Cables</sitemname>
            <unitconversion>1</unitconversion>
         </line>
      </machine>
      <machine name="expense" type="list" fields="acct_key,orderdoc,orderline,markreceived,account,memo,amount" />
   </record>
</nsResponse>

This isn't a replacement for the SuiteScript Records Browser. However, it can come in handy - and give you some important clues - in those situations where the field you are looking for isn't clear.

About Me

Hello, I’m Tim Dietrich. I design and build custom software for businesses running on NetSuite — from mobile apps and Web portals to Web APIs and integrations.

I’ve created several widely used open-source solutions for the NetSuite community, including the SuiteQL Query Tool and SuiteAPI, which help developers and businesses get more out of their systems.

I’m also the founder of SuiteStep, a NetSuite development studio focused on pushing the boundaries of what’s possible on the platform. Through SuiteStep, I deliver custom software and AI-driven solutions that make NetSuite more powerful, accessible, and future-ready.

Copyright © 2025 Tim Dietrich.