I'm trying to create a sweep for a subsidiary clea...
# suitescript
l
I'm trying to create a sweep for a subsidiary clearing account to the parent company's bank account. I keep getting the error: "USER_ERROR","message":"The Due To/From Subsidiary for the From Subsidiary lines must be one of the other subsidiaries used in the transaction." What am I missing for this Advanced Intercompany Journal?                                                 search.load({'id': searchid}).run().each(function(result){                 var amountAccrued = result.getValue({'name': 'amount', 'summary' : 'SUM'});                 var fileDate = result.getValue({'name': 'trandate', 'summary' : 'GROUP'});                 var entryDate = new Date(fileDate);                 var memo1 = 'A/R Sweep ';                 var memo = memo1.concat(entryDate);                 var TAHCo = 13;                 var subId = result.getValue({'name': 'internalid', 'join' : 'subsidiary', 'summary' : 'GROUP'});               journalentry.setValue({'fieldId': 'subsidiary', 'value' : 13});               journalentry.setValue({'fieldId': 'tosubsidiary', 'value' : 17});               journalentry.setValue({'fieldId': 'trandate', 'value' : entryDate});               journalentry.setValue({'fieldId': 'memo', 'value' : memo});                              journalentry.selectNewLine({'sublistId' : sublistId});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 13});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2346});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'debit', 'value' : amountAccrued});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'class', 'value' : 1007});                journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'department', 'value' : 10});                journalentry.commitLine({'sublistId' : sublistId});                      journalentry.selectNewLine({'sublistId' : sublistId});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 13});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2841});                journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'credit', 'value' : amountAccrued});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'eliminate', 'value' : true});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'tosubsidiary', 'value' : 17})               journalentry.commitLine({'sublistId' : sublistId});                  journalentry.selectNewLine({'sublistId' : sublistId});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 17});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2840});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'debit', 'value' : amountAccrued});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'tosubsidiary', 'value' : 13});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'eliminate', 'value' : true});               journalentry.commitLine({'sublistId' : sublistId});               journalentry.selectNewLine({'sublistId' : sublistId});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 17});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2391});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'credit', 'value' : amountAccrued});               journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'class', 'value' : 1007});                journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'department', 'value' : 10});               journalentry.commitLine({'sublistId' : sublistId});                             return true;                          });             journalentry = journalentry.save({'ignoreMandatoryFields' : true});                                          log.debug({'title':'Accrual Created', 'details' : journalentry});                                       }         return {             'execute': execute         };                  });
b
are you using advanced intercompany journals, or the eventually to be replaced intercompany journals
l
Advanced Journals
b
i asked since that code looks more like the regular ones
for the advanced ones, you only set the subsidiary and linesubsidiary
l
I tried that and still got this error: {"type":"error.SuiteScriptError","name":"USER_ERROR","message":"The Due To/From Subsidiary for the From Subsidiary lines must be one of the other subsidiaries used in the transaction.","stack":["anonymous(N/serverRecordService)"
journalentry.setValue({'fieldId': 'subsidiary', 'value' : 13});
              
journalentry.setValue({'fieldId': 'trandate', 'value' : entryDate});
              
journalentry.setValue({'fieldId': 'memo', 'value' : memo});
              
journalentry.selectNewLine({'sublistId' : sublistId});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 13});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2346});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'debit', 'value' : amountAccrued});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'class', 'value' : 1007});
                
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'department', 'value' : 10});
                
journalentry.commitLine({'sublistId' : sublistId});
                  
journalentry.selectNewLine({'sublistId' : sublistId});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 13});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2841});
                
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'credit', 'value' : amountAccrued});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'eliminate', 'value' : true});
              
journalentry.commitLine({'sublistId' : sublistId});
                
journalentry.selectNewLine({'sublistId' : sublistId});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 17});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2840});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'debit', 'value' : amountAccrued});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'eliminate', 'value' : true});
              
journalentry.commitLine({'sublistId' : sublistId});
              
journalentry.selectNewLine({'sublistId' : sublistId});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'linesubsidiary', 'value' : 17});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'account', 'value' : 2391});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'credit', 'value' : amountAccrued});
              
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'class', 'value' : 1007});
                
journalentry.setCurrentSublistValue({'sublistId' : sublistId, 'fieldId' : 'department', 'value' : 10});
              
journalentry.commitLine({'sublistId' : sublistId});
b
Copy code
require(["N/record"], function (record) {
  var journalentry = record.create({
    type: "advintercompanyjournalentry",
    isDynamic: true,
  });
  journalentry.setValue({ fieldId: "subsidiary", value: 2 });
  journalentry.setValue({ fieldId: "trandate", value: new Date() });
  journalentry.setValue({ fieldId: "memo", value: "memo" });

  journalentry.selectNewLine({ sublistId: "line" });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "linesubsidiary",
    value: 2,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "account",
    value: 7,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "debit",
    value: 1,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "class",
    value: 1,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "department",
    value: 1,
  });
  journalentry.commitLine({ sublistId: "line" });

  journalentry.selectNewLine({ sublistId: "line" });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "linesubsidiary",
    value: 2,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "account",
    value: 12,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "credit",
    value: 1,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "eliminate",
    value: true,
  });
  journalentry.commitLine({ sublistId: "line" });

  journalentry.selectNewLine({ sublistId: "line" });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "linesubsidiary",
    value: 7,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "account",
    value: 148,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "debit",
    value: 1,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "eliminate",
    value: true,
  });
  journalentry.commitLine({ sublistId: "line" });

  journalentry.selectNewLine({ sublistId: "line" });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "linesubsidiary",
    value: 7,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "account",
    value: 15,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "credit",
    value: 1,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "class",
    value: 1,
  });
  journalentry.setCurrentSublistValue({
    sublistId: "line",
    fieldId: "department",
    value: 1,
  });
  journalentry.commitLine({ sublistId: "line" });

  journalentry.save();
});
works for me
though i don't have elimination as a column so i doubt the eliminate column did anything
you might want to try recreating this in the ui to make sure you got all your ids correct
l
I believe I've determined the issue - the elimination is mandatory in my environment. Once checked, a "Due To/From Subsidiary" field opens up and auto populates with an incorrect entity. I cannot determine what the internal id of that field name is. One would assume "tosubsidiary" or "linesubsidiary" but it's not.
Finally got it - the Due/To From Subsidiary populates based off the Name/Entity field. Once populated with the corresponding entity, it went in perfectly.