NetSuite: NetSuite CSV Import Administration
Overview: Obtaining CSV files from Traction and HITS follow similar NetSuite solution design. For Traction files, they are stored in an SFTP folder hosted by Teragonia, and HITS files are stored in an SFTP folder hosted by Andreoli. There are Inbound Configuration settings that establish the connection to the hosted sites. To obtain the files, we have a scheduled deployment of a standard NetSuite script that uses the Inbound Configuration settings to pull the files from our partners' SFTP folders, and places them in the appropriate (POS name) To Be Processed folders. Then, a second script is called by deployments that read the CSVs and create journal entries, vendor bills, or vendor credits. This second script was built by RSM, and a copy was made and modified for HITS. So, each POS has its own script and three scheduled deployments, although the scripts are almost the same as are the CSV file layouts with some very minor differences (HITS Department, for example)
Importing CSVs from upstream POS applications
Flow and Setup:
1) The first script pulls CSV files from the POS-hosted server. These files contain daily POS AP/Accounting transactional data. This script puts these files into their respective POS: xxxxxx Files > To Be Processed folders (journal entries, vendor bills, vendor credits)
Both POS (one script shared by both POS; but two inbound configurations and one/shared script deployment):
Script: NS | MR | File Download - Scheduled - customscript_ns_mr_file_download_sched - https://9427313.app.netsuite.com/app/common/scripting/script.nl?id=744
- Traction: Deployment: NS | MR | File Download - Scheduled - customdeploy_ns_mr_file_download_sched - https://9427313.app.netsuite.com/app/common/scripting/scriptrecord.nl?id=873&e=T
- HITS: Deployment: https://9427313.app.netsuite.com/app/common/scripting/scriptrecord.nl?id=1339
(LAM: I think these can be consolidated)
2) Second script with three scheduled script deployments. This script imports the CSV files from their respective POS: xxxxxx Files > To Be Processed folders, and attempts to create NetSuite transactions. Each script deployment has a parameter for a Saved CSV search that is customized for each record type and each POS. The script deployment then moves the file from the To Be Processed folder to a Processed or Errored folder. It is rare for anything to end up in Errored, but that does not mean that the records imported successfully.
HITS:
Script POS: HITS_Sch_ImportSftpRecords - https://9427313.app.netsuite.com/app/common/scripting/script.nl?id=895
Script Deployments:
-- Vendor Bills: https://9427313.app.netsuite.com/app/common/scripting/scriptrecord.nl?id=1338&whence=&e=T
-- Journal Entries: https://9427313.app.netsuite.com/app/common/scripting/scriptrecord.nl?id=1341
Traction:
Script POS: Traction_Sch_ImportSftpRecords - https://9427313.app.netsuite.com/app/common/scripting/script.nl?id=836
Script Deployments:
-- Vendor Bills: RSM_Sch_ImportSftpRecords_ap - https://9427313.app.netsuite.com/app/common/scripting/scriptrecord.nl?id=899 - customdeploy2
-- Vendor Credits: RSM_Sch_ImportSftpRecords_vc - https://9427313.app.netsuite.com/app/common/scripting/scriptrecord.nl?id=898 - customdeploy3
-- Journal Entries: RSM_Sch_ImportSftpRecords_vc - https://9427313.app.netsuite.com/app/common/scripting/scriptrecord.nl?id=898 - customdeploy1
3) Even if the file is in the Processed folder, you won't know if all records imported properly until you review the file messages in the Project (aka Job) Status log: https://9427313.app.netsuite.com/app/setup/upload/csv/csvstatus.nl?whence=
Here is a template you can copy/paste into for easier viewing of the errors. You may have to adjust the formula to read all the record counts if they are longer than 2 digits. I'm sure there is an improvement that could be made to the formula, but it's absolutely better than nothing.
Here are instructions on how to use this template and troubleshoot when you are missing CSV files"