0

Update an adjustment

by
Published Oct 17, 2025

Updates an existing adjustment by setting field values. Any fields not provided remain unchanged. Permissions and other requirements SubscriptionAccounts Receivable User typeBusiness PermissionsList, View, Edit Adjustments

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
 * Update an adjustment
7
 * Updates an existing adjustment by setting field values. Any fields not provided remain unchanged.
8

9

10
Permissions and other requirements
11

12
SubscriptionAccounts Receivable
13
User typeBusiness
14
PermissionsList, View, Edit Adjustments
15

16

17

18

19
 */
20
export async function main(
21
	auth: SageIntacct,
22
	key: string,
23
	body: {
24
		key?: string
25
		id?: string
26
		txnType?: string
27
		adjustmentNumber?: string
28
		href?: string
29
		contacts?: {
30
			billTo?: { key?: string; id?: string; href?: string }
31
			shipTo?: {
32
				key?: string
33
				id?: string
34
				href?: string
35
				tax?: {
36
					taxId?: string
37
					group?: { key?: string; id?: string; href?: string }
38
				}
39
			}
40
		}
41
		state?:
42
			| 'reversed'
43
			| 'reversal'
44
			| 'draft'
45
			| 'noValue'
46
			| 'posted'
47
			| 'paid'
48
			| 'partiallyPaid'
49
			| 'selected'
50
		description?: string
51
		documentNumber?: string
52
		baseCurrency?: {
53
			currency?: string
54
			totalPaid?: string
55
			totalSelected?: string
56
			totalDue?: string
57
			totalAmountEntered?: string
58
			paidDate?: string
59
		}
60
		txnCurrency?: {
61
			currency?: string
62
			totalEntered?: string
63
			totalSelected?: string
64
			totalPaid?: string
65
			totalDue?: string
66
		}
67
		exchangeRate?: { date?: string; rate?: string; typeId?: string }
68
		moduleKey?: string
69
		customer?: {
70
			key?: string
71
			id?: string
72
			name?: string
73
			totalDue?: string
74
			href?: string
75
		}
76
		createdDate?: string
77
		glPostingDate?: string
78
		taxSolution?: { key?: string; id?: string; href?: string }
79
		attachment?: { key?: string; id?: string; href?: string }
80
		adjustmentSummary?: { href?: string; key?: number; id?: string }
81
		lines?: {
82
			id?: string
83
			key?: string
84
			memo?: string
85
			lineNumber?: string
86
			baseCurrency?: { currency?: string; amount?: string }
87
			txnCurrency?: { currency?: string; amount?: string }
88
			exchangeRate?: { date?: string; rate?: string; typeId?: string }
89
			adjustmentType?: string
90
			isTax?: false | true
91
			accountLabel?: { key?: string; id?: string; href?: string }
92
			taxEntries?: {
93
				key?: string
94
				id?: string
95
				baseTaxAmount?: string
96
				txnTaxAmount?: string
97
				taxRate?: number
98
			} & {
99
				orderEntryTaxDetail?: { key?: string; id?: string; href?: string }
100
				adjustmentLine?: { id?: string; key?: string; href?: string }
101
			}[]
102
			arAdjustment?: { key?: string; id?: string; href?: string }
103
			dimensions?: {
104
				location?: { key?: string; id?: string; name?: string; href?: string }
105
				department?: {
106
					key?: string
107
					id?: string
108
					name?: string
109
					href?: string
110
				}
111
				employee?: { key?: string; id?: string; name?: string; href?: string }
112
				project?: { key?: string; id?: string; name?: string; href?: string }
113
				customer?: { key?: string; id?: string; name?: string; href?: string }
114
				vendor?: { key?: string; id?: string; name?: string; href?: string }
115
				item?: { key?: string; id?: string; name?: string; href?: string }
116
				warehouse?: { key?: string; id?: string; name?: string; href?: string }
117
				class?: { key?: string; id?: string; name?: string; href?: string }
118
				task?: { id?: string; key?: string; name?: string; href?: string }
119
				costType?: { id?: string; key?: string; name?: string; href?: string }
120
				asset?: { id?: string; key?: string; name?: string; href?: string }
121
				contract?: { id?: string; key?: string; name?: string; href?: string }
122
				affiliateEntity?: {
123
					key?: string
124
					id?: string
125
					href?: string
126
					name?: string
127
				}
128
			} & {
129
				department?: {
130
					key?: string
131
					id?: string
132
					name?: string
133
					href?: string
134
				}
135
				location?: { key?: string; id?: string; name?: string; href?: string }
136
			}
137
			glAccount?: { key?: string; id?: string; name?: string; href?: string }
138
			audit?: {
139
				createdDateTime?: string
140
				modifiedDateTime?: string
141
				createdBy?: string
142
				modifiedBy?: string
143
			}
144
		}[]
145
		audit?: {
146
			createdDateTime?: string
147
			modifiedDateTime?: string
148
			createdBy?: string
149
			modifiedBy?: string
150
		} & { createdDateTime?: string }
151
		entity?: { key?: string; id?: string; name?: string; href?: string }
152
	} & { id?: {} }
153
) {
154
	const url = new URL(
155
		`https://api.intacct.com/ia/api/v1/objects/accounts-receivable/adjustment/${key}`
156
	)
157

158
	const response = await fetch(url, {
159
		method: 'PATCH',
160
		headers: {
161
			'Content-Type': 'application/json',
162
			Authorization: 'Bearer ' + auth.token
163
		},
164
		body: JSON.stringify(body)
165
	})
166
	if (!response.ok) {
167
		const text = await response.text()
168
		throw new Error(`${response.status} ${text}`)
169
	}
170
	return await response.json()
171
}
172