0

Create an Order Entry document

by
Published Oct 17, 2025

Creates a new Order Entry document.

Script sage_intacct Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type SageIntacct = {
3
	token: string
4
}
5
/**
6
 * Create an Order Entry document
7
 * Creates a new Order Entry document.
8
 */
9
export async function main(
10
	auth: SageIntacct,
11
	documentName: string,
12
	body: {
13
		key?: string
14
		id?: string
15
		href?: string
16
		documentNumber?: string
17
		documentType?: string
18
		state?:
19
			| 'submitted'
20
			| 'approved'
21
			| 'partiallyApproved'
22
			| 'declined'
23
			| 'draft'
24
			| 'pending'
25
			| 'closed'
26
			| 'inProgress'
27
			| 'converted'
28
			| 'partiallyConverted'
29
			| 'convertedByLine'
30
			| 'partiallyConvertedByLine'
31
			| 'exception'
32
		isPrinted?: false | true
33
		isBackordered?: false | true
34
		subtotal?: string
35
		subtotalInTxnCurrency?: string
36
		total?: string
37
		totalInTxnCurrency?: string
38
		baseCurrency?: string
39
		txnCurrency?: string
40
		exchangeRate?: {
41
			date?: string
42
			rate?: string
43
			typeId?: string
44
			typeName?: string
45
		}
46
		txnDate?: string
47
		dueDate?: string
48
		isSystemGeneratedDocument?: false | true
49
		postingDate?: string
50
		referenceNumber?: string
51
		notes?: string
52
		memo?: string
53
		contractID?: string
54
		contractDescription?: string
55
		paymentStatus?: 'paid' | 'partiallyPaid' | 'open'
56
		invoiceDate?: string
57
		customerPONumber?: string
58
		trackingNumber?: string
59
		shipByDate?: string
60
		shippedDate?: string
61
		serviceDeliveryDate?: string
62
		cancelAfterDate?: string
63
		doNotShipBeforeDate?: string
64
		doNotShipAfterDate?: string
65
		requestedShippingDate?: string
66
		retainagePercent?: number
67
		scope?: string
68
		inclusions?: string
69
		exclusions?: string
70
		terms?: string
71
		schedule?: {
72
			scheduledStartDate?: string
73
			scheduledCompletionDate?: string
74
			actualStartDate?: string
75
			actualCompletionDate?: string
76
			revisedCompletionDate?: string
77
			substantialCompletionDate?: string
78
			noticeToProceedDate?: string
79
			responseDueDate?: string
80
			executedOnDate?: string
81
			scheduleImpactNotes?: string
82
		}
83
		internalReference?: {
84
			referenceNumber?: string
85
			initiatedBy?: { key?: string; id?: string; name?: string; href?: string }
86
			verbalApprovalBy?: {
87
				key?: string
88
				id?: string
89
				name?: string
90
				href?: string
91
			}
92
			issuedBy?: { key?: string; id?: string; name?: string; href?: string }
93
			issuedOnDate?: string
94
			approvedBy?: { key?: string; id?: string; name?: string; href?: string }
95
			approvedOnDate?: string
96
			signedBy?: { key?: string; id?: string; name?: string; href?: string }
97
			signedOnDate?: string
98
			source?: string
99
			sourceReferenceNumber?: string
100
		}
101
		externalReference?: {
102
			referenceNumber?: string
103
			verbalApprovalBy?: { key?: string; id?: string; href?: string }
104
			approvedBy?: { key?: string; id?: string; href?: string }
105
			approvedOnDate?: string
106
			signedBy?: { key?: string; id?: string; href?: string }
107
			signedOnDate?: string
108
		}
109
		performanceBond?: {
110
			isRequired?: false | true
111
			isReceived?: false | true
112
			amount?: string
113
			vendor?: { key?: string; id?: string; name?: string; href?: string }
114
		}
115
		paymentBond?: {
116
			isRequired?: false | true
117
			isReceived?: false | true
118
			amount?: string
119
			vendor?: { key?: string; id?: string; name?: string; href?: string }
120
		}
121
		revision?: {
122
			isDocumentChanged?: false | true
123
			revisedTotal?: string
124
			revisedSubTotal?: string
125
			revisedTotalInTxnCurrency?: string
126
			revisedSubTotalInTxnCurrency?: string
127
			changeLogNumber?: number
128
		}
129
		relatedDocumentNumber?: string
130
		postedChangesTotal?: string
131
		projectContractBilling?: {
132
			externalReferenceNumber?: string
133
			description?: string
134
			contractDate?: string
135
			billingThroughDate?: string
136
			billingApplicationNumber?: string
137
		}
138
		billingSummary?: {
139
			originalContractAmount?: string
140
			netChangesAmount?: string
141
			revisedContractAmount?: string
142
			balanceToFinishAmount?: string
143
			lessPriorApplicationAmount?: string
144
			currentDueAmount?: string
145
			retainage?: {
146
				previousBalanceAmount?: string
147
				balanceAmount?: string
148
				billedAmount?: string
149
				heldAmount?: string
150
				completedAmount?: string
151
				storedMaterialsAmount?: string
152
			}
153
			billingTotals?: {
154
				completedToDateAmount?: string
155
				storedMaterialsAmount?: string
156
				heldAmount?: string
157
				heldToDateAmount?: string
158
				retainageOnThisInvoiceAmount?: string
159
				earnedLessRetainageAmount?: string
160
				lessRetainageHeldAmount?: string
161
				netChangesAmount?: string
162
				netChangesAdditionAmount?: string
163
				netChangesDeductionAmount?: string
164
			}
165
			totalChangesApprovedPriorMonth?: {
166
				additionsAmount?: string
167
				deductionsAmount?: string
168
			}
169
			totalChangesApprovedThisMonth?: {
170
				additionsAmount?: string
171
				deductionsAmount?: string
172
			}
173
		}
174
		architect?: { key?: string; id?: string; href?: string }
175
		projectContract?: {
176
			key?: string
177
			id?: string
178
			name?: string
179
			href?: string
180
		}
181
		contacts?: {
182
			primary?: { key?: string; id?: string }
183
			shipTo?: { key?: string; id?: string }
184
			billTo?: { key?: string; id?: string }
185
		}
186
		shippingMethod?: { key?: string; id?: string; href?: string }
187
		printedByUser?: { key?: string; id?: string; href?: string }
188
		txnDefinition?: { key?: string; id?: string; href?: string }
189
		sourceDocument?: {
190
			key?: string
191
			id?: string
192
			documentType?: string
193
			href?: string
194
		}
195
		customer?: { key?: string; id?: string; name?: string; href?: string }
196
		contract?: { key?: string; id?: string; href?: string }
197
		paymentTerm?: { href?: string; key?: string; id?: string }
198
		audit?: {
199
			createdDateTime?: string
200
			modifiedDateTime?: string
201
			createdBy?: string
202
			modifiedBy?: string
203
		} & { createdDateTime?: string }
204
		entity?: { key?: string; id?: string; name?: string; href?: string }
205
		status?: 'active' | 'inactive'
206
		taxSolution?: {
207
			key?: string
208
			id?: string
209
			href?: string
210
			taxCalculationMethod?: 'noTax' | 'simpleTax' | 'advancedTax' | 'avaTax' | 'VAT'
211
			showMultilineTax?: false | true
212
		}
213
		lines?: {
214
			key?: string
215
			id?: string
216
			href?: string
217
			documentType?: string
218
			lineNumber?: number
219
			item?: { key?: string; id?: string; href?: string }
220
			itemAlias?: { key?: string; id?: string; href?: string }
221
			memo?: string
222
			priceCalculationMemo?: string
223
			unit?: string
224
			quantity?: string
225
			unitQuantity?: string
226
			unitPrice?: string
227
			price?: string
228
			quantityConverted?: string
229
			retailPrice?: string
230
			audit?: {
231
				createdDateTime?: string
232
				modifiedDateTime?: string
233
				createdBy?: string
234
				modifiedBy?: string
235
			}
236
			status?: 'active' | 'inactive'
237
			costMethod?: 'standard' | 'average' | 'FIFO' | 'LIFO'
238
			discountPercent?: string
239
			multiplier?: number
240
			sourceDocument?: {
241
				key?: string
242
				id?: string
243
				documentType?: string
244
				href?: string
245
			}
246
			sourceDocumentLine?: {
247
				key?: string
248
				id?: string
249
				documentType?: string
250
				href?: string
251
			}
252
			isPriceProrated?: false | true
253
			discountMemo?: string
254
			baseCurrency?: string
255
			txnCurrency?: string
256
			priceInTxnCurrency?: string
257
			isBillable?: false | true
258
			isBilled?: false | true
259
			taxRate?: string
260
			taxInBaseCurrency?: string
261
			taxInTxnCurrency?: string
262
			discount?: string
263
			enableTax?: false | true
264
			quantityRemaining?: string
265
			conversionType?: 'quantity' | 'price'
266
			dimensions?: {
267
				location?: { key?: string; id?: string; name?: string; href?: string }
268
				department?: {
269
					key?: string
270
					id?: string
271
					name?: string
272
					href?: string
273
				}
274
				employee?: { key?: string; id?: string; name?: string; href?: string }
275
				project?: { key?: string; id?: string; name?: string; href?: string }
276
				customer?: { key?: string; id?: string; name?: string; href?: string }
277
				vendor?: { key?: string; id?: string; name?: string; href?: string }
278
				item?: { key?: string; id?: string; name?: string; href?: string }
279
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
280
				class?: { key?: string; id?: string; name?: string; href?: string }
281
				task?: { id?: string; key?: string; name?: string; href?: string }
282
				costType?: { id?: string; key?: string; name?: string; href?: string }
283
				asset?: { id?: string; key?: string; name?: string; href?: string }
284
				contract?: { id?: string; key?: string; name?: string; href?: string }
285
				affiliateEntity?: {
286
					key?: string
287
					id?: string
288
					href?: string
289
					name?: string
290
				}
291
			} & {
292
				location?: { key?: string; id?: string; href?: string }
293
				department?: { key?: string; id?: string; href?: string }
294
				warehouse?: { key?: string; id?: string; href?: string }
295
				project?: { key?: string; id?: string; href?: string }
296
				task?: { id?: string; key?: string; href?: string }
297
			}
298
			itemRenewalTemplate?: { key?: string; id?: string; href?: string }
299
			revenueRecognitionStartDate?: string
300
			revenueRecognitionEndDate?: string
301
			requestedShippingDate?: string
302
			shipByDate?: string
303
			pickTicketPrintedDate?: string
304
			cancelAfterDate?: string
305
			doNotShipBeforeDate?: string
306
			doNotShipAfterDate?: string
307
			shippedDate?: string
308
			allowDropship?: false | true
309
			allowBuyToOrder?: false | true
310
			revision?: {
311
				unitQuantity?: string
312
				quantity?: string
313
				unitValue?: string
314
				value?: string
315
				valueInTxnCurrency?: string
316
				price?: string
317
				unitPrice?: string
318
				priceInTxnCurrency?: string
319
			}
320
			draft?: {
321
				unitQuantity?: string
322
				quantity?: string
323
				price?: string
324
				basePrice?: string
325
			}
326
			posted?: { quantity?: string; price?: string; basePrice?: string }
327
			addedByChangeDocument?: false | true
328
			servicePeriodStartDate?: string
329
			servicePeriodEndDate?: string
330
			projectContractBilling?: {
331
				externalReferenceNumber?: string
332
				description?: string
333
				billingType?: 'progressBill' | 'timeAndMaterial'
334
				contractLineValue?: string
335
				priorApplicationAmount?: string
336
				completedThisPeriodAmount?: string
337
				storedMaterialsAmount?: string
338
				completedToDateAmount?: string
339
				completedToDatePercent?: string
340
				balanceRemaining?: string
341
				totalConvertedAmount?: string
342
				totalRemainingAmount?: string
343
				isSummarized?: false | true
344
			}
345
			retainage?: {
346
				percentage?: string
347
				baseAmountRetained?: string
348
				txnAmountRetained?: string
349
				isReleaseLine?: false | true
350
				previousBalanceAmount?: string
351
				billAmount?: string
352
				balanceAmount?: string
353
				extendedPriceNetAmount?: string
354
				extendedBasePriceNetAmount?: string
355
			}
356
			isReverseConversion?: false | true
357
			reverseConversion?: {
358
				price?: string
359
				quantity?: string
360
				standardPrice?: string
361
				standardQuantity?: string
362
			}
363
			relatedDocument?: { key?: string; id?: string; href?: string }
364
			relatedDocumentLine?: { key?: string; id?: string; href?: string }
365
			projectContract?: {
366
				key?: string
367
				id?: string
368
				name?: string
369
				href?: string
370
			}
371
			projectContractLine?: {
372
				key?: string
373
				id?: string
374
				name?: string
375
				href?: string
376
			}
377
			taxSchedule?: { key?: string; id?: string; href?: string }
378
			buyToOrderContact?: { key?: string; id?: string }
379
			trackingDetail?: {
380
				key?: string
381
				id?: string
382
				href?: string
383
				quantity?: string
384
				serialNumber?: string
385
				lotNumber?: string
386
				expirationDate?: string
387
				aisle?: { href?: string; key?: string; id?: string }
388
				bin?: { href?: string; key?: string; id?: string }
389
				row?: { href?: string; key?: string; id?: string }
390
				item?: { key?: string; id?: string; href?: string }
391
				audit?: {
392
					createdDateTime?: string
393
					modifiedDateTime?: string
394
					createdBy?: string
395
					modifiedBy?: string
396
				}
397
				orderEntryDocumentLine?: {
398
					key?: string
399
					id?: string
400
					documentType?: string
401
					href?: string
402
				}
403
			}[]
404
			documentHeader?: {
405
				key?: string
406
				id?: string
407
				documentType?: string
408
				href?: string
409
			}
410
			lineSubtotals?: {
411
				key?: string
412
				id?: string
413
				href?: string
414
				description?: string
415
				absoluteValue?: string
416
				percentValue?: string
417
				total?: string
418
				txnAbsoluteValue?: string
419
				txnTotal?: string
420
				enableOverrideTax?: false | true
421
				taxDetail?: { key?: string; id?: string; href?: string }
422
				systemTaxDetail?: { key?: string; id?: string; href?: string }
423
				dimensions?: {
424
					location?: {
425
						key?: string
426
						id?: string
427
						name?: string
428
						href?: string
429
					}
430
					department?: {
431
						key?: string
432
						id?: string
433
						name?: string
434
						href?: string
435
					}
436
					employee?: {
437
						key?: string
438
						id?: string
439
						name?: string
440
						href?: string
441
					}
442
					project?: { key?: string; id?: string; name?: string; href?: string }
443
					customer?: {
444
						key?: string
445
						id?: string
446
						name?: string
447
						href?: string
448
					}
449
					vendor?: { key?: string; id?: string; name?: string; href?: string }
450
					item?: { key?: string; id?: string; name?: string; href?: string }
451
					warehouse?: {
452
						key?: string
453
						id?: string
454
						name?: string
455
						href?: string
456
					}
457
					class?: { key?: string; id?: string; name?: string; href?: string }
458
					task?: { id?: string; key?: string; name?: string; href?: string }
459
					costType?: {
460
						id?: string
461
						key?: string
462
						name?: string
463
						href?: string
464
					}
465
					asset?: { id?: string; key?: string; name?: string; href?: string }
466
					contract?: {
467
						id?: string
468
						key?: string
469
						name?: string
470
						href?: string
471
					}
472
					affiliateEntity?: {
473
						key?: string
474
						id?: string
475
						href?: string
476
						name?: string
477
					}
478
				} & {
479
					location?: {
480
						key?: string
481
						id?: string
482
						name?: string
483
						href?: string
484
					}
485
					department?: {
486
						key?: string
487
						id?: string
488
						name?: string
489
						href?: string
490
					}
491
				}
492
				documentLine?: {
493
					key?: string
494
					id?: string
495
					documentType?: string
496
					href?: string
497
				}
498
				document?: {
499
					key?: string
500
					id?: string
501
					documentType?: string
502
					href?: string
503
				}
504
				status?: 'active' | 'inactive'
505
			}[]
506
		}[]
507
		subtotals?: {
508
			key?: string
509
			id?: string
510
			href?: string
511
			description?: string
512
			percentValue?: string
513
			absoluteValue?: string
514
			txnAbsoluteValue?: string
515
			total?: string
516
			txnTotal?: string
517
			documentLine?: {
518
				key?: string
519
				documentType?: string
520
				id?: string
521
				href?: string
522
			}
523
			audit?: {
524
				createdDateTime?: string
525
				modifiedDateTime?: string
526
				createdBy?: string
527
				modifiedBy?: string
528
			}
529
			dimensions?: {
530
				location?: { key?: string; id?: string; name?: string; href?: string }
531
				department?: {
532
					key?: string
533
					id?: string
534
					name?: string
535
					href?: string
536
				}
537
				employee?: { key?: string; id?: string; name?: string; href?: string }
538
				project?: { key?: string; id?: string; name?: string; href?: string }
539
				customer?: { key?: string; id?: string; name?: string; href?: string }
540
				vendor?: { key?: string; id?: string; name?: string; href?: string }
541
				item?: { key?: string; id?: string; name?: string; href?: string }
542
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
543
				class?: { key?: string; id?: string; name?: string; href?: string }
544
				task?: { id?: string; key?: string; name?: string; href?: string }
545
				costType?: { id?: string; key?: string; name?: string; href?: string }
546
				asset?: { id?: string; key?: string; name?: string; href?: string }
547
				contract?: { id?: string; key?: string; name?: string; href?: string }
548
				affiliateEntity?: {
549
					key?: string
550
					id?: string
551
					href?: string
552
					name?: string
553
				}
554
			} & {
555
				location?: { key?: string; id?: string; href?: string }
556
				department?: { key?: string; id?: string; href?: string }
557
			}
558
			documentHeader?: {
559
				key?: string
560
				id?: string
561
				documentType?: string
562
				href?: string
563
			}
564
		}[]
565
		history?: {
566
			key?: string
567
			id?: string
568
			href?: string
569
			convertedFrom?: {
570
				key?: string
571
				id?: string
572
				documentType?: string
573
				href?: string
574
			}
575
			convertedTo?: {
576
				key?: string
577
				id?: string
578
				documentType?: string
579
				href?: string
580
			}
581
			orderEntryDocument?: {
582
				key?: string
583
				id?: string
584
				documentType?: string
585
				href?: string
586
			}
587
		}[]
588
	} & { customer?: {}; lines?: { dimensions?: {} }[] }
589
) {
590
	const url = new URL(
591
		`https://api.intacct.com/ia/api/v1/objects/order-entry/document::${documentName}`
592
	)
593

594
	const response = await fetch(url, {
595
		method: 'POST',
596
		headers: {
597
			'Content-Type': 'application/json',
598
			Authorization: 'Bearer ' + auth.token
599
		},
600
		body: JSON.stringify(body)
601
	})
602
	if (!response.ok) {
603
		const text = await response.text()
604
		throw new Error(`${response.status} ${text}`)
605
	}
606
	return await response.json()
607
}
608