Intercompany Journal Entry

Intercompany journal entries are a specialized type of journal available specifically for OneWorld. An intercompany journal entry records debits and credits to be posted to ledger accounts for transactions between two subsidiaries. These records adjust the value of any set of accounts without the need for transactions such as invoices and bills.

In the UI, you can access this record at Transactions > Financial > Make Intercompany Journal Entries.

If your account has the Multi-Book Accounting feature enabled, you can also work with book specific intercompany journal entry records, which in the UI are available at Transactions > Financial > Make Book Specific Intercompany Journal Entries. Although they have different entry forms, both book specific and regular intercompany journal entries are the same record type. Within SuiteScript, they are differentiated by the accountingbook field. In other words, a record that has a value set for accountingbook is book specific. Otherwise, the record is a regular intercompany journal entry.

For help working with this record in the UI, see Making Intercompany Journal Entries and Book-Specific Intercompany Journal Entries.

The internal ID for this record is intercompanyjournalentry.

See the SuiteScript Records Browser for all internal IDs associated with this record.

Note:

For information about using the SuiteScript Records Browser, see Working with the SuiteScript Records Browser in the NetSuite Help Center.

For information about scripting with this record in SuiteScript, see the following help topics:

Supported Script Types

The intercompany journal entry record is scriptable in both client and server SuiteScript.

All three user events are supported: beforeLoad, beforeSubmit, and afterSubmit.

Supported Functions

The intercompany journal entry record is fully scriptable — it can be created, updated, copied, deleted, and searched using SuiteScript.

Warning:

If you update any type of journal entry that has been applied as a payment to an invoice or vendor bill, the relationship between the journal entry and payment is removed and the payment is no longer applied.

Code Samples

The following sample shows how to create a book specific intercompany journal entry. The record is book specific because a value has been set for the accountingbook field.

          var journalEntry = record.create({
    type: record.Type.INTER_COMPANY_JOURNAL_ENTRY,
    isDynamic: true
});
journalEntry.setValue({
    fieldId: 'accountingbook',
    value: 2                      // Setting a value for this field makes the record book-specific.
});
journalEntry.setValue({
    fieldId: 'subsidiary',
    value: 1
});
journalEntry.setValue({
    fieldId: 'tosubsidiary',
    value: 3
});

journalEntry.selectNewLine({
    sublistId: 'line'
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'linesubsidiary',
    value:1
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'account',
    value: 1
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'credit',
    value: '2.00'
});
journalEntry.commitLine({
    sublistId: 'line'
});

journalEntry.selectNewLine({
    sublistId: 'line'
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'linesubsidiary',
    value: 1
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'account',
    value: 2
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'debit',
    value: '2.00'
});
journalEntry.commitLine({
    sublistId: 'line'
});
journalEntry.selectNewLine({
    sublistId: 'line'
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'linesubsidiary',
    value: 3
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'account',
    value: 6
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'credit',
    value: '2.00'
});
journalEntry.commitLine({
    sublistId: 'line'
});

journalEntry.selectNewLine({
    sublistId: 'line'
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'linesubsidiary',
    value: 3
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'account',
    value: 149
});
journalEntry.setCurrentSublistValue({
    sublistId: 'line',
    fieldId: 'debit',
    value: '2.00'
});
journalEntry.commitLine({
    sublistId: 'line'
});

var recordId = journalEntry.save(); 

        

Related Topics

Making Intercompany Journal Entries
Book-Specific Intercompany Journal Entries
Working with the SuiteScript Records Browser
SuiteCloud Supported Records
Transactions
NetSuite Accounting Overview
Journal Entries
Journal Entries in OneWorld

General Notices