As documented in SuiteAnswers 31844 || Expense Report Sublist Fields, “The availability of the Tax Amount and Tax Code fields varies depending on the nexus that the Employee is associated with. For example, for an employee associated with a US nexus, these fields are not available. For an employee associated with a UK account, these fields are available.”
Unlike US, Tax Code field is mandatory when creating Expense Reports for employees associated with Canada and UK nexuses as these are required under their laws. The ability to hide or remove the Tax Code column on Expense Reports is currently not supported under Legacy Tax. To address this, Enhancement 114770 was filed. However, this enhancement has already been closed due to the release of the SuiteTax feature.

To override this behavior, a workaround was documented on the above enhancement record–and that is to create a Script Record to make the “Tax Code” column as not mandatory:
1) Copy the below script in a notepad and save it as a JavaScript file by renaming it with a .js extension (For example: Script.js)
function taxCodeField_beforeLoad_UE(type){
var taxCodeFieldonForm = nlapiGetLineItemField(‘expense’, ‘taxcode’, 1);
//if Tax Code field is on the Form
if (taxCodeFieldonForm){
taxCodeFieldonForm.setMandatory(false);
}
}

2) Navigate to Customization > Scripting > Scripts > New
3) Click the + icon beside the Script File drop-down selection
4) Click on Choose File button and select the JavaScript created from step #1
5) Click Save button

6) Click Create Script Record button

7) Select Type = User Event

8) On the Script Record, set the Name field
9) On the Scripts sub-tab, set Before Load Function = taxCodeField_beforeLoad_UE

10) On the Deployments sub-tab set the following fields:
- Applies To = Expense Report
- Deployed = Yes
- Status = Released

11) Click Save button
Result: After doing the above steps, it can be observed that the Tax Code column is not mandatory anymore even though a Canadian Employee is selected on the Expense Report:

DISCLAIMER: The sample code described herein is provided on an “as is” basis, without warranty of any kind, to the fullest extent permitted by law. Oracle + NetSuite Inc. does not warrant or guarantee the individual success developers may have in implementing the sample code on their development platforms or in using their own Web server configurations.