How to create a Journal Entry through script

function createJournal(invoiceSum, reduceContext, cutomId) {

      try {

        let rec = record.create({

          type: record.Type.JOURNAL_ENTRY,

          isDynamic: true,

        });

        rec.setValue({

          fieldId: ‘memo’,

          value: ‘Script through created JE to write off the balance’

        });

        let accountObj = {

          “debit”: 374,

          “credit”: 119

        }

        for (let key in accountObj) {

          rec.selectNewLine({

            sublistId: “line”,

          });

          rec.setCurrentSublistValue({

            sublistId: “line”,

            fieldId: “account”,

            value: accountObj[key],

          });

          if (checkForParameter(invoiceSum)) {

            rec.setCurrentSublistValue({

              sublistId: “line”,

              fieldId: key,

              value: invoiceSum,

            });

          }

          if (checkForParameter(cutomId)) {

            rec.setCurrentSublistValue({

              sublistId: “line”,

              fieldId: “entity”,

              value: cutomId,

            });

          }

          rec.commitLine({

            sublistId: “line”,

          });

        }

        let recordId = rec.save({

          enableSourcing: true,

          ignoreMandatoryFields: true

        });

        return recordId;

      }

      catch (e) {

        log.error(“Error in create journal”, e);

        reduceContext.write({

          key: ‘error’,

          value: { cutomId, ‘error’: e.message }

        });

      }

    }

Leave a comment

Your email address will not be published. Required fields are marked *