The issues:
- when creating payment and applying bills NetSuite has a sub record limitation it only shows 10000 bills.
- On the payment sub record you can only filter and search for one bill but you can’t search multiple bills to apply
- It very hard to keep track how much to apply to each bills when having difficult financial payment terms
Solution:
Use a saved CSV import with multi file upload, the primary file should have the bill credit internalid, the linked file should have a list of bills and the bill credit internalids.
- Setup > Import/Export > Import CSV Records
- Import Type = Transactions, Record Type = Vendor Customer Payment, CSV Files = Multiple files to Upload
3. Primary File-Vendor Customer Payment = yourprimaryfile.CSV
4. Linked File (Optional) — Vendor Customer Payment Bills = yourlinkedfile.csv
5. Import Options = Add
6. File Mapping - Primary = vendorCreditID
, linked file = vendorCreditID
7. Map the primary and the linked CSV fields (P.S. map the primary CSV field vendorCreditID
to Vendor Customer Payment : ExternalId
, make sure to include the column vendorCreditID
is on the linked file even if were not mapping it).
8. Next > Save & Run
Done!
Or you can use a Restlet to Import CSV Records:
var mappingId = 'custimport_apply_credit_to_bills'; //the Saved CSV import idvar fileIdPrimary = 543320; //file internal id in the file cabinetvar fileIdLinkedSublistName = 'apply';var fileIdLinked = 543321;//file internal id in the file cabinet//load primary filevar CSVFilePrimary = file.load({id: fileIdPrimary});//load linked filesvar CSVFileLinked = file.load({id: fileIdLinked});var scriptTask = task.create({taskType: task.TaskType.CSV_IMPORT});scriptTask.mappingId = mappingId;scriptTask.importFile = CSVFilePrimary;scriptTask.linkedFiles = { 'apply': CSVFileLinked };var csvImportTaskId = scriptTask.submit();