@hitc/netsuite-types 2026.1.7 → 2026.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,124 @@
1
+ import type {EntryPoints} from './N/types'
2
+ import type {Form} from './N/ui/serverWidget'
3
+
4
+ /** Taken from https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_0724075122.html */
5
+ interface EPForm {
6
+ /** Adds a column on the sublist of the Invoice Payment Processing page to display field values from the records searched */
7
+ AddColumn(
8
+ /**
9
+ * The field type of the column
10
+ */
11
+ type: ColumnType,
12
+ /**
13
+ * The name of the column displayed on the sublist of the Invoice Payment Processing page.
14
+ */
15
+ name: string,
16
+ /**
17
+ * The internal ID name of the column you want to add on the sublist.
18
+ * The reference argument can be a standard or custom entity field.
19
+ * The reference argument can also be a standard or custom transaction field.
20
+ */
21
+ reference: string,
22
+ /**
23
+ * If value is true, the column displays the text or readable value of the field.
24
+ * If the value is false, the column displays the id of the field value.
25
+ */
26
+ isText?: boolean,
27
+ /**
28
+ * The display type of the column added to the sublist on the Invoice Payment Processing page.
29
+ */
30
+ displayType?: ColumnDisplayType,
31
+ /**
32
+ * The default value of the column that is displayed on the sublist automatically when the Invoice Payment Processing page loads.
33
+ */
34
+ defaultValue?: string,
35
+ /**
36
+ * The join id for the search return column.
37
+ */
38
+ join?: string
39
+ ): void;
40
+ /** Adds a filter on the Bill Payment Processing page. The filter refines the search of bills to be processed */
41
+ AddFilter(
42
+ /**
43
+ * If value is true, the filter is added to the existing Search Filters group on the Bill Payment Processing page.
44
+ * If value is false, a new group of filters, named Custom Transaction Filters, is added to the Bill Payment Processing page.
45
+ */
46
+ isDefaultFilter: boolean,
47
+ /**
48
+ * The internal ID name of the field you want to add as a filter.
49
+ * Note that you can only add fields from the transaction record.
50
+ * If you want to source a newly created transaction body field or transaction column field, the reference argument must be the id of the newly created field.
51
+ */
52
+ reference: string,
53
+ /**
54
+ * The field type of the filter
55
+ */
56
+ type: FilterType,
57
+ /**
58
+ * The label of the filter displayed on the Bill Payment Processing page.
59
+ */
60
+ label: string,
61
+ /**
62
+ * The display type of the filter on the Bill Payment Processing page.
63
+ */
64
+ displayType?: FilterDisplayType,
65
+ /**
66
+ * The default value of the filter that is displayed automatically when the Bill Payment Processing page loads
67
+ */
68
+ defaultValue?: string,
69
+ /**
70
+ * The text displayed when the filter label is clicked.
71
+ * The helpText value describes the data searched for when the filter is used
72
+ */
73
+ helpText?: string,
74
+ /**
75
+ * Specifies the source where the filter gets its autopopulated values.
76
+ * An example value is the internal id of a list or record.
77
+ * Note that source must have a value if the type argument is select or multiselect, for the values of the filter to be displayed.
78
+ */
79
+ source?: string,
80
+ /**
81
+ * A whole number that defines the allowed length of the value entered on the filter.
82
+ */
83
+ maxLength?: number
84
+ ): void;
85
+ /** Builds the customized Invoice Payment Processing page. This method must be called after all changes are made. */
86
+ BuildUI(context: EntryPoints.Suitelet.onRequestContext): void;
87
+ /** Get the form and generate it. */
88
+ GetForm(): Form;
89
+ /**
90
+ * Removes an existing (default) field from the Payment Information group of the Invoice Payment Processing page.
91
+ * Some fields cannot be removed, see https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_4024135775.html for details.
92
+ */
93
+ RemoveField(
94
+ /** The field ID of the existing field that you want to remove */
95
+ fieldId: string
96
+ ): void;
97
+ /**
98
+ * Removes an existing (default) filter from the “Search Filter” group of the Invoice Payment Processing page.
99
+ * Some filters cannot be removed, see https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_0724030613.html for details.
100
+ */
101
+ RemoveFilter(
102
+ /** The field ID from the “Search Filter” group of the Invoice Payment Processing page that you want to remove */
103
+ fieldId: string
104
+ ): void;
105
+ /** Use the setPaymentType method to setup the payment type */
106
+ setPaymentType(type: PaymentType): void;
107
+ /** Use setGlobalPayment to setup the global payments Suitelet */
108
+ setGlobalPayment(isGlobal: boolean): void;
109
+ }
110
+
111
+ type ColumnType = 'text' | 'integer' | 'date' | 'currency';
112
+
113
+ type ColumnDisplayType = 'normal' | 'hidden';
114
+
115
+ type FilterType = 'text' | 'date' | 'checkbox' | 'select' | 'multiselect' | 'integer' | 'currency' | 'longtext';
116
+
117
+ type FilterDisplayType = 'inline' | 'normal' | 'hidden' | 'disabled';
118
+
119
+ type PaymentType = 'DD' | 'EFT' | 'CR' | 'PP';
120
+
121
+ export interface EPPlugin extends Record<string, (...s: unknown[]) => unknown> {
122
+ /** Returns an epForm object to customize the Invoice Payment Processing page */
123
+ getEPForm: () => EPForm;
124
+ }
@@ -0,0 +1,32 @@
1
+ interface IAddress {
2
+ getEmail(): string;
3
+ getName(): string;
4
+ }
5
+
6
+ interface IAttachment {
7
+ /**
8
+ * Object that represents an attachment in an email message sent to an Email Capture plug-in implementation.
9
+ * Each Attachment object contains properties for the attachment file name, attachment type, and the value of the attachment file.
10
+ */
11
+ getName(): string;
12
+ /** Returns the file type of an attachment in an email message as a string. For example, this method returns PLAINTEXT, PDF, and MISCBINARY for text, PDF, and Microsoft Word files, respectively. */
13
+ getType(): string;
14
+ /**
15
+ * Returns a text string for a text file attachment or base-64 encoded string for binary attachment types of an email message.
16
+ * You can use getType() to define the behavior of the plug-in implementation depending on the file type of the attachment.
17
+ */
18
+ getValue(): string;
19
+ }
20
+
21
+ /** Object that represents an email message sent to the Email Capture plug-in implementation. */
22
+ interface IEmail {
23
+ getAttachments(): IAttachment[];
24
+ getCc(): IAddress[];
25
+ getFrom(): IAddress; // Documentation incorrectly shows this as an array, but an email only comes from one address.
26
+ getHtmlBody(): string;
27
+ getReplyTo(): IAddress;
28
+ getSentDate(): Date;
29
+ getSubject(): string;
30
+ getTextBody(): string;
31
+ getTo(): IAddress[]; // Documentation incorrectly shows this as a single address, but testing confirms that it's an array.
32
+ }
package/N/record.d.ts CHANGED
@@ -478,7 +478,7 @@ export type FieldValue = Date | number | number[] | string | string[] | boolean
478
478
  export interface ClientCurrentRecord {
479
479
  /** Cancels the currently selected line on a sublist. */
480
480
  cancelLine(options: CancelCommitLineOptions): Record;
481
- cancelLine(sublistId: string): Record;
481
+ // cancelLine(sublistId: string): Record; // Deprecated in 2026.1.8
482
482
  /** Commits the currently selected line on a sublist. */
483
483
  commitLine(options: CommitLineOptions): Record;
484
484
  copy: RecordCopyFunction;
@@ -490,14 +490,13 @@ export interface ClientCurrentRecord {
490
490
  findSublistLineWithValue(options: FindSublistLineWithValueOptions): number;
491
491
  /** Gets the value for the currently selected line in the matrix. */
492
492
  getCurrentMatrixSublistValue(options: GetCurrentMatrixSublistValueOptions): number | Date | string | string[] | boolean;
493
- /** Returns the line number of the currently selected line. */
494
-
495
493
  /**
496
494
  * return field object from record's sublist current line. Only available in dynamic record
497
495
  * @throws {SuiteScriptError} SSS_MISSING_REQD_ARGUMENT if sublistId or fieldId is missing
498
496
  * @restriction only available in dynamic record
499
497
  */
500
498
  getCurrentSublistField(options: GetCurrentSublistFieldOptions): Field;
499
+ /** Returns the line number of the currently selected line. */
501
500
  getCurrentSublistIndex(options: RecordGetLineCountOptions): number;
502
501
  /** Gets the subrecord for the associated sublist field on the current line. */
503
502
  getCurrentSublistSubrecord(options: GetCurrentSublistValueOptions): Record;
@@ -505,9 +504,7 @@ export interface ClientCurrentRecord {
505
504
  getCurrentSublistText(options: GetCurrentSublistValueOptions): string;
506
505
  /** Returns the value of a sublist field on the currently selected sublist line. */
507
506
  getCurrentSublistValue(options: GetCurrentSublistValueOptions): FieldValue;
508
- getCurrentSublistValue(sublistId: string, fieldId: string): FieldValue;
509
-
510
-
507
+ // getCurrentSublistValue(sublistId: string, fieldId: string): FieldValue; // Deprecated in 2026.1.8
511
508
  /**
512
509
  * Returns a field object from a record.
513
510
  *
@@ -516,7 +513,7 @@ export interface ClientCurrentRecord {
516
513
  getField(options: GetFieldOptions): Field | null;
517
514
  /** Returns the number of lines in a sublist. */
518
515
  getLineCount(options: RecordGetLineCountOptions): number;
519
- getLineCount(sublistId: string): number;
516
+ // getLineCount(sublistId: string): number; // Deprecated in 2026.1.8
520
517
  /** Provides a macro to be executed. */
521
518
  getMacro(options: { id: string }): Function; // TODO: Test this!
522
519
  /** Provides a plain JavaScript object of available macro objects defined for a record type, indexed by the Macro ID. */
@@ -545,7 +542,7 @@ export interface ClientCurrentRecord {
545
542
  getSublistText(options: GetSublistValueOptions): string;
546
543
  /** Returns the value of a sublist field. */
547
544
  getSublistValue(options: GetSublistValueOptions): FieldValue;
548
- getSublistValue(sublistId: string, fieldId: string, line: number): FieldValue;
545
+ // getSublistValue(sublistId: string, fieldId: string, line: number): FieldValue; // Deprecated in 2026.1.8
549
546
  /** Gets the subrecord for the associated field. */
550
547
  getSubrecord(options: GetFieldOptions): Omit<Record, "save">;
551
548
  /** Returns the text representation of a field value. */
@@ -607,7 +604,7 @@ export interface ClientCurrentRecord {
607
604
  removeSubrecord(options: GetFieldOptions): this;
608
605
  /** Selects an existing line in a sublist. */
609
606
  selectLine(options: SelectLineOptions): this;
610
- selectLine(sublistId: string, line: number): this;
607
+ // selectLine(sublistId: string, line: number): this; // Deprecated in 2026.1.8
611
608
  /** Selects a new line at the end of a sublist. */
612
609
  selectNewLine(options: RecordGetLineCountOptions): this;
613
610
  /** Sets the value for the line currently selected in the matrix. */
@@ -616,7 +613,7 @@ export interface ClientCurrentRecord {
616
613
  setCurrentSublistText(options: SetCurrentSublistTextOptions): this;
617
614
  /** Sets the value for the field in the currently selected line. */
618
615
  setCurrentSublistValue(options: SetCurrentSublistValueOptions): this;
619
- setCurrentSublistValue(sublistId: string, fieldId: string, value: FieldValue): this;
616
+ // setCurrentSublistValue(sublistId: string, fieldId: string, value: FieldValue): this; // Deprecated in 2026.1.8
620
617
  /** Sets the value for the associated header in the matrix. */
621
618
  setMatrixHeaderValue(options: SetCurrentMatrixSublistValueOptions): Record;
622
619
  /** Sets the value for the associated field in the matrix. */
package/SuiteGL.d.ts ADDED
@@ -0,0 +1,190 @@
1
+ /**
2
+ * NOTE: This file is for SSV1 as of Sept 2024 SSV2 is now supported and has been added to the SSV2. To use
3
+ * the SSV2 version (recommended) the types can be found in EntryPoints namespace in N/types
4
+ *
5
+ * EntryPoints.Plugins.GlPlugin.customizeGlImpact
6
+ *
7
+ *
8
+ */
9
+
10
+ /**
11
+ * Represents the accounting book passed to a Custom GL Lines plug-in implementation when you save a transaction.
12
+ * Use the methods available to the book object to determine if the book is a primary or secondary book or get
13
+ * the internal NetSuite ID of the accounting book. If you use the Multi-Book Accounting feature, the
14
+ * AccountingBook object represents a different accounting book each time the plug-in implementation executes.
15
+ */
16
+ interface AccountingBook {
17
+ /** Returns the internal NetSuite ID for the accounting book to be passed to a Custom GL Lines plug-in implementation. */
18
+ getId(): number;
19
+ /** Returns true if the book object is the primary accounting book for the NetSuite account or returns false if the accounting book is a secondary accounting book. */
20
+ isPrimary(): boolean;
21
+ }
22
+
23
+ /** These methods exist for both Custom lines and Standard lines. */
24
+ interface GLLine {
25
+ /** Get Account ID for a line. */
26
+ getAccountId(): number;
27
+ /** Returns the internal NetSuite ID for the class on a StandardLine or CustomLine object. */
28
+ getClassId(): number;
29
+ /** Returns the credit amount for a StandardLine or CustomLine object. */
30
+ getCreditAmount(): string;
31
+ /** Returns the debit amount for a StandardLine or CustomLine object. */
32
+ getDebitAmount(): string;
33
+ /** Returns the internal NetSuite ID for the department on a StandardLine or CustomLine object. */
34
+ getDepartmentId(): number;
35
+ /** Returns the internal NetSuite ID of the entity for a standard line. */
36
+ getEntityId(): number;
37
+ /** Returns the internal NetSuite ID for the location on a StandardLine or CustomLine object. */
38
+ getLocationId(): number;
39
+ /** Returns the Memo field on a StandardLine or CustomLine object. */
40
+ getMemo(): string;
41
+ /**
42
+ * Returns the internal NetSuite ID for the custom segment value set on the line on a StandardLine or CustomLine object.
43
+ * @param {string} segmentId
44
+ */
45
+ getSegmentValueId(segmentId: string): number;
46
+ }
47
+
48
+ /**
49
+ * Contains all properties for a single custom line for the GL impact on a transaction.
50
+ * Use the methods available to the CustomLine object to set the values for the custom
51
+ * line and define plug-in implementation functionality based on the values. The CustomLines
52
+ * object contains a reference to each custom GL impact line.
53
+ */
54
+ interface CustomLine extends GLLine {
55
+ /**
56
+ * Sets the account ID property for a CustomLine object in a primary or secondary book.
57
+ * @param {number} accountId Internal NetSuite ID for an account.
58
+ */
59
+ setAccountId (accountId: number): void;
60
+ /**
61
+ * Sets the class ID property for a CustomLine object in a primary or secondary book.
62
+ * @param {number} classId Internal NetSuite ID for a class
63
+ */
64
+ setClassId (classId: number): void;
65
+ /**
66
+ * Sets the credit amount of a CustomLine object in a primary or secondary book.
67
+ * @param {string|number} credit String value of a credit on a general ledger account. Requires a positive value.
68
+ */
69
+ setCreditAmount (credit: string|number): void;
70
+ /**
71
+ * Sets the credit amount of a CustomLine object in a primary or secondary book.
72
+ * @param {string|number} debit String value of a debit on a general ledger account. Requires a positive value.
73
+ */
74
+ setDebitAmount (debit: string|number): void;
75
+ /**
76
+ * Sets the department ID of a CustomLine object in a primary or secondary book.
77
+ * @param {number} departmentId
78
+ */
79
+ setDepartmentId (departmentId: number): void;
80
+ /**
81
+ * Sets the entity ID property for a CustomLine object in a primary or secondary book to the internal NetSuite ID.
82
+ * @param {number} entityId
83
+ */
84
+ setEntityId (entityId: number): void;
85
+ /**
86
+ * Sets the Location ID of a CustomLine object in a primary or secondary book.
87
+ * @param {number} locationId
88
+ */
89
+ setLocationId (locationId: number): void;
90
+ /**
91
+ * Sets the Memo field on a CustomLine object. See also getMemo().
92
+ * @param {string} memo
93
+ */
94
+ setMemo (memo: string): void;
95
+ /**
96
+ * Sets custom segment values on a CustomLine object. See also getSegmentValueId().
97
+ * @param {string} segmentId
98
+ * @param {string} segmentValueId
99
+ */
100
+ setSegmentValueId (segmentId: string, segmentValueId: number): void;
101
+ /**
102
+ * Sets a custom GL impact line to affect only the primary book in a Custom GL plug-in implementation.
103
+ * If you use this method and set the value to false,
104
+ * the plug-in implementation copies the custom line to secondary books and the custom line is also subject to the any mapping set up for the Multi-Book Accounting feature.
105
+ *
106
+ * If you do not use this method or set the value to true, the custom GL impact line only applies to the primary accounting book and is not copied to secondary accounting books.
107
+ * @param {boolean} bookSpecific
108
+ */
109
+ setBookSpecific(bookSpecific: boolean): void;
110
+ /**
111
+ * Returns true if the custom line is specific to the primary book and should not be copied to the secondary accounting books.
112
+ * Returns false if the custom line is not specific to the primary accounting book.
113
+ */
114
+ isBookSpecific(): boolean;
115
+ }
116
+
117
+ /**
118
+ * Contains an array of all custom lines with GL impact in a transaction as CustomLine objects.
119
+ * Use this object to add and modify custom lines with GL impact on a transaction.
120
+ * Create a new CustomLine object with addNewLine().
121
+ */
122
+ interface CustomLines {
123
+ /**
124
+ * Adds a CustomLine object to the parent CustomLines object in a Custom GL Lines plug-in
125
+ * implementation and returns the new object. Use this method to add a custom line with
126
+ * GL impact to a transaction. After you create the custom line, use the methods available
127
+ * to the CustomLine object to set the properties of the custom line, including the general
128
+ * ledger account ID and the amount of the custom line.
129
+ */
130
+ addNewLine(): CustomLine;
131
+ /**
132
+ * Returns the number of custom lines with GL impact for a specific accounting book in a transaction.
133
+ * Use this method in conjunction with getLine(index) to read individual custom lines.
134
+ */
135
+ getCount(): number;
136
+ /**
137
+ * Returns a CustomLine object that represents a custom line with GL impact.
138
+ * CustomLine objects are stored in the CustomLines object starting at index 0.
139
+ * @param {number} index
140
+ */
141
+ getLine (index: number): CustomLine;
142
+ }
143
+
144
+ /**
145
+ * Contains all properties for a single standard line on the GL impact on a transaction.
146
+ * Use the methods available to the StandardLine object to get the values for the standard
147
+ * line and define plug-in implementation functionality based on the values. The
148
+ * StandardLines object has a StandardLine object for each standard GL impact line.
149
+ */
150
+ interface StandardLine extends GLLine {
151
+ /**
152
+ * Returns the internal NetSuite database ID for a standard GL impact line.
153
+ * The summary line for the GL impact on a transaction occurs for most transaction types at ID of 0.
154
+ * Some transactions, like journals, do not have a summary line.
155
+ */
156
+ getId(): number;
157
+ /** Returns the internal NetSuite ID of the subsidiary for the entity associated with a standard GL impact line. */
158
+ getSubsidiaryId(): number;
159
+ /** Returns a string that represents the amount of a standard GL line that was subject to tax. */
160
+ getTaxableAmount(): string;
161
+ /** Returns a string that represents the amount of tax charged on a standard GL line. */
162
+ getTaxAmount(): string;
163
+ /** Returns the internal NetSuite ID of the tax code for a standard GL line. */
164
+ getTaxItemId(): number;
165
+ /** Returns the tax type for a standard GL line that was subject to tax. */
166
+ getTaxType(): string;
167
+ /** Returns true if the transaction is a posting transaction and the associated standard GL impact line posts to the general ledger. */
168
+ isPosting(): boolean;
169
+ /** Returns true if a standard GL impact line is a credit to a tax account. */
170
+ isTaxable(): boolean;
171
+ }
172
+
173
+ /**
174
+ * Contains an array of all standard lines with GL impact in a transaction as StandardLine objects.
175
+ * Standard lines are the general ledger impacts that appear on the GL Impact report for a transaction.
176
+ * Use this object to access individual standard lines for an accounting book in a transaction.
177
+ */
178
+ interface StandardLines {
179
+ /**
180
+ * Returns the number of standard lines with GL impact for a specific accounting book in a transaction.
181
+ * Use this method in conjunction with getLine(index) to read individual standard lines.
182
+ */
183
+ getCount(): number;
184
+ /**
185
+ * Returns a StandardLine object that represents a standard line with GL impact.
186
+ * StandardLine objects are stored in the StandardLines object starting at index 0.
187
+ * @param {number} index
188
+ */
189
+ getLine (index: number): StandardLine;
190
+ }