0

Create a rate table

by
Published Oct 17, 2025

Creates a new rate table.

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 a rate table
7
 * Creates a new rate table.
8
 */
9
export async function main(
10
	auth: SageIntacct,
11
	body: {
12
		key?: string
13
		id?: string
14
		name?: string
15
		description?: string
16
		location?: { key?: string; id?: string; name?: string; href?: string }
17
		audit?: {
18
			createdDateTime?: string
19
			modifiedDateTime?: string
20
			createdBy?: string
21
			modifiedBy?: string
22
		}
23
		status?: 'active' | 'inactive'
24
		entity?: { key?: string; id?: string; name?: string; href?: string }
25
		timesheetLines?: {
26
			key?: string
27
			id?: string
28
			rateTable?: { key?: string; id?: string; name?: string; href?: string }
29
			href?: string
30
			lineNumber?: number
31
			description?: string
32
			startDate?: string
33
			markupPercent?: string
34
			laborRate?: string
35
			accumulationType?: { key?: string; id?: string; href?: string }
36
			standardCostType?: {
37
				key?: string
38
				id?: string
39
				name?: string
40
				href?: string
41
			}
42
			standardTask?: {
43
				key?: string
44
				id?: string
45
				name?: string
46
				href?: string
47
			}
48
			employeePosition?: {
49
				key?: string
50
				id?: string
51
				name?: string
52
				href?: string
53
			}
54
			laborClass?: { key?: string; id?: string; name?: string; href?: string }
55
			laborShift?: { key?: string; id?: string; name?: string; href?: string }
56
			laborUnion?: { key?: string; id?: string; name?: string; href?: string }
57
			timeType?: { key?: string; id?: string; name?: string; href?: string }
58
			dimensions?: {
59
				location?: { key?: string; id?: string; name?: string; href?: string }
60
				department?: {
61
					key?: string
62
					id?: string
63
					name?: string
64
					href?: string
65
				}
66
				employee?: { key?: string; id?: string; name?: string; href?: string }
67
				project?: { key?: string; id?: string; name?: string; href?: string }
68
				customer?: { key?: string; id?: string; name?: string; href?: string }
69
				vendor?: { key?: string; id?: string; name?: string; href?: string }
70
				item?: { key?: string; id?: string; name?: string; href?: string }
71
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
72
				class?: { key?: string; id?: string; name?: string; href?: string }
73
				task?: { id?: string; key?: string; name?: string; href?: string }
74
				costType?: { id?: string; key?: string; name?: string; href?: string }
75
				asset?: { id?: string; key?: string; name?: string; href?: string }
76
				contract?: { id?: string; key?: string; name?: string; href?: string }
77
				affiliateEntity?: {
78
					key?: string
79
					id?: string
80
					href?: string
81
					name?: string
82
				}
83
			}
84
			audit?: {
85
				createdDateTime?: string
86
				modifiedDateTime?: string
87
				createdBy?: string
88
				modifiedBy?: string
89
			}
90
		}[]
91
		purchasingLines?: {
92
			key?: string
93
			id?: string
94
			rateTable?: { key?: string; id?: string; name?: string; href?: string }
95
			href?: string
96
			lineNumber?: number
97
			description?: string
98
			startDate?: string
99
			markupPercent?: string
100
			unitPrice?: string
101
			accumulationType?: { key?: string; id?: string; href?: string }
102
			standardCostType?: {
103
				key?: string
104
				id?: string
105
				name?: string
106
				href?: string
107
			}
108
			standardTask?: {
109
				key?: string
110
				id?: string
111
				name?: string
112
				href?: string
113
			}
114
			dimensions?: {
115
				location?: { key?: string; id?: string; name?: string; href?: string }
116
				department?: {
117
					key?: string
118
					id?: string
119
					name?: string
120
					href?: string
121
				}
122
				employee?: { key?: string; id?: string; name?: string; href?: string }
123
				project?: { key?: string; id?: string; name?: string; href?: string }
124
				customer?: { key?: string; id?: string; name?: string; href?: string }
125
				vendor?: { key?: string; id?: string; name?: string; href?: string }
126
				item?: { key?: string; id?: string; name?: string; href?: string }
127
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
128
				class?: { key?: string; id?: string; name?: string; href?: string }
129
				task?: { id?: string; key?: string; name?: string; href?: string }
130
				costType?: { id?: string; key?: string; name?: string; href?: string }
131
				asset?: { id?: string; key?: string; name?: string; href?: string }
132
				contract?: { id?: string; key?: string; name?: string; href?: string }
133
				affiliateEntity?: {
134
					key?: string
135
					id?: string
136
					href?: string
137
					name?: string
138
				}
139
			}
140
			audit?: {
141
				createdDateTime?: string
142
				modifiedDateTime?: string
143
				createdBy?: string
144
				modifiedBy?: string
145
			}
146
		}[]
147
		accountsPayableLines?: {
148
			key?: string
149
			id?: string
150
			rateTable?: { key?: string; id?: string; name?: string; href?: string }
151
			href?: string
152
			lineNumber?: number
153
			description?: string
154
			startDate?: string
155
			markupPercent?: string
156
			accumulationType?: { key?: string; id?: string; href?: string }
157
			standardCostType?: {
158
				key?: string
159
				id?: string
160
				name?: string
161
				href?: string
162
			}
163
			standardTask?: {
164
				key?: string
165
				id?: string
166
				name?: string
167
				href?: string
168
			}
169
			dimensions?: {
170
				location?: { key?: string; id?: string; name?: string; href?: string }
171
				department?: {
172
					key?: string
173
					id?: string
174
					name?: string
175
					href?: string
176
				}
177
				employee?: { key?: string; id?: string; name?: string; href?: string }
178
				project?: { key?: string; id?: string; name?: string; href?: string }
179
				customer?: { key?: string; id?: string; name?: string; href?: string }
180
				vendor?: { key?: string; id?: string; name?: string; href?: string }
181
				item?: { key?: string; id?: string; name?: string; href?: string }
182
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
183
				class?: { key?: string; id?: string; name?: string; href?: string }
184
				task?: { id?: string; key?: string; name?: string; href?: string }
185
				costType?: { id?: string; key?: string; name?: string; href?: string }
186
				asset?: { id?: string; key?: string; name?: string; href?: string }
187
				contract?: { id?: string; key?: string; name?: string; href?: string }
188
				affiliateEntity?: {
189
					key?: string
190
					id?: string
191
					href?: string
192
					name?: string
193
				}
194
			}
195
			audit?: {
196
				createdDateTime?: string
197
				modifiedDateTime?: string
198
				createdBy?: string
199
				modifiedBy?: string
200
			}
201
		}[]
202
		journalLines?: {
203
			key?: string
204
			id?: string
205
			rateTable?: { key?: string; id?: string; name?: string; href?: string }
206
			href?: string
207
			lineNumber?: number
208
			description?: string
209
			startDate?: string
210
			markupPercent?: string
211
			accumulationType?: { key?: string; id?: string; href?: string }
212
			standardCostType?: {
213
				key?: string
214
				id?: string
215
				name?: string
216
				href?: string
217
			}
218
			standardTask?: {
219
				key?: string
220
				id?: string
221
				name?: string
222
				href?: string
223
			}
224
			dimensions?: {
225
				location?: { key?: string; id?: string; name?: string; href?: string }
226
				department?: {
227
					key?: string
228
					id?: string
229
					name?: string
230
					href?: string
231
				}
232
				employee?: { key?: string; id?: string; name?: string; href?: string }
233
				project?: { key?: string; id?: string; name?: string; href?: string }
234
				customer?: { key?: string; id?: string; name?: string; href?: string }
235
				vendor?: { key?: string; id?: string; name?: string; href?: string }
236
				item?: { key?: string; id?: string; name?: string; href?: string }
237
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
238
				class?: { key?: string; id?: string; name?: string; href?: string }
239
				task?: { id?: string; key?: string; name?: string; href?: string }
240
				costType?: { id?: string; key?: string; name?: string; href?: string }
241
				asset?: { id?: string; key?: string; name?: string; href?: string }
242
				contract?: { id?: string; key?: string; name?: string; href?: string }
243
				affiliateEntity?: {
244
					key?: string
245
					id?: string
246
					href?: string
247
					name?: string
248
				}
249
			}
250
			audit?: {
251
				createdDateTime?: string
252
				modifiedDateTime?: string
253
				createdBy?: string
254
				modifiedBy?: string
255
			}
256
		}[]
257
		creditCardLines?: {
258
			key?: string
259
			id?: string
260
			rateTable?: { key?: string; id?: string; name?: string; href?: string }
261
			href?: string
262
			lineNumber?: number
263
			description?: string
264
			startDate?: string
265
			markupPercent?: string
266
			accumulationType?: { key?: string; id?: string; href?: string }
267
			standardCostType?: {
268
				key?: string
269
				id?: string
270
				name?: string
271
				href?: string
272
			}
273
			standardTask?: {
274
				key?: string
275
				id?: string
276
				name?: string
277
				href?: string
278
			}
279
			dimensions?: {
280
				location?: { key?: string; id?: string; name?: string; href?: string }
281
				department?: {
282
					key?: string
283
					id?: string
284
					name?: string
285
					href?: string
286
				}
287
				employee?: { key?: string; id?: string; name?: string; href?: string }
288
				project?: { key?: string; id?: string; name?: string; href?: string }
289
				customer?: { key?: string; id?: string; name?: string; href?: string }
290
				vendor?: { key?: string; id?: string; name?: string; href?: string }
291
				item?: { key?: string; id?: string; name?: string; href?: string }
292
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
293
				class?: { key?: string; id?: string; name?: string; href?: string }
294
				task?: { id?: string; key?: string; name?: string; href?: string }
295
				costType?: { id?: string; key?: string; name?: string; href?: string }
296
				asset?: { id?: string; key?: string; name?: string; href?: string }
297
				contract?: { id?: string; key?: string; name?: string; href?: string }
298
				affiliateEntity?: {
299
					key?: string
300
					id?: string
301
					href?: string
302
					name?: string
303
				}
304
			}
305
			audit?: {
306
				createdDateTime?: string
307
				modifiedDateTime?: string
308
				createdBy?: string
309
				modifiedBy?: string
310
			}
311
		}[]
312
		employeeExpenseLines?: {
313
			key?: string
314
			id?: string
315
			rateTable?: { key?: string; id?: string; name?: string; href?: string }
316
			href?: string
317
			lineNumber?: number
318
			description?: string
319
			startDate?: string
320
			markupPercent?: string
321
			accumulationType?: { key?: string; id?: string; href?: string }
322
			standardCostType?: {
323
				key?: string
324
				id?: string
325
				name?: string
326
				href?: string
327
			}
328
			standardTask?: {
329
				key?: string
330
				id?: string
331
				name?: string
332
				href?: string
333
			}
334
			dimensions?: {
335
				location?: { key?: string; id?: string; name?: string; href?: string }
336
				department?: {
337
					key?: string
338
					id?: string
339
					name?: string
340
					href?: string
341
				}
342
				employee?: { key?: string; id?: string; name?: string; href?: string }
343
				project?: { key?: string; id?: string; name?: string; href?: string }
344
				customer?: { key?: string; id?: string; name?: string; href?: string }
345
				vendor?: { key?: string; id?: string; name?: string; href?: string }
346
				item?: { key?: string; id?: string; name?: string; href?: string }
347
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
348
				class?: { key?: string; id?: string; name?: string; href?: string }
349
				task?: { id?: string; key?: string; name?: string; href?: string }
350
				costType?: { id?: string; key?: string; name?: string; href?: string }
351
				asset?: { id?: string; key?: string; name?: string; href?: string }
352
				contract?: { id?: string; key?: string; name?: string; href?: string }
353
				affiliateEntity?: {
354
					key?: string
355
					id?: string
356
					href?: string
357
					name?: string
358
				}
359
			}
360
			audit?: {
361
				createdDateTime?: string
362
				modifiedDateTime?: string
363
				createdBy?: string
364
				modifiedBy?: string
365
			}
366
		}[]
367
	} & {}
368
) {
369
	const url = new URL(`https://api.intacct.com/ia/api/v1/objects/construction/rate-table`)
370

371
	const response = await fetch(url, {
372
		method: 'POST',
373
		headers: {
374
			'Content-Type': 'application/json',
375
			Authorization: 'Bearer ' + auth.token
376
		},
377
		body: JSON.stringify(body)
378
	})
379
	if (!response.ok) {
380
		const text = await response.text()
381
		throw new Error(`${response.status} ${text}`)
382
	}
383
	return await response.json()
384
}
385