0

Update a tax return

by
Published Oct 17, 2025

Updates an existing tax return by setting field values. Any fields not provided remain unchanged.

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 a tax return
7
 * Updates an existing tax return by setting field values. Any fields not provided remain unchanged.
8
 */
9
export async function main(
10
	auth: SageIntacct,
11
	key: string,
12
	body: {
13
		key?: string
14
		id?: string
15
		href?: string
16
		name?: string
17
		taxId?: string
18
		recipientEmail?: string
19
		submissionPeriodStartDate?: string
20
		submissionPeriodEndDate?: string
21
		submissionDate?: string
22
		submissionType?: 'manual' | 'electronic'
23
		submittersEmail?: string
24
		legalCountryCode?: 'au' | 'gb' | 'za' | 'ca'
25
		setEmailAddressAsDefault?: false | true
26
		isAdjustingCompleted?: false | true
27
		currentStepStage?:
28
			| 'prepareTaxData'
29
			| 'transmitTaxData'
30
			| 'prepareTaxReturn'
31
			| 'submitToGovernment'
32
			| 'transmitRrFilesToSage'
33
			| 'manualAdjustment'
34
		currentStepStatus?:
35
			| 'completed'
36
			| 'started'
37
			| 'notStarted'
38
			| 'failed'
39
			| 'inTransit'
40
			| 'transitCompleted'
41
			| 'transitFailed'
42
			| 'processingStarted'
43
			| 'processingCompleted'
44
			| 'processingFailed'
45
			| 'notApplicable'
46
		bundleNumber?: string
47
		receiptId?: string
48
		adjustmentNotes?: string
49
		taxProcessingSteps?: {
50
			stage?:
51
				| 'prepareTaxData'
52
				| 'transmitTaxData'
53
				| 'prepareTaxReturn'
54
				| 'submitToGovernment'
55
				| 'transmitRrFilesToSage'
56
				| 'manualAdjustment'
57
			status?:
58
				| 'completed'
59
				| 'started'
60
				| 'notStarted'
61
				| 'failed'
62
				| 'inTransit'
63
				| 'transitCompleted'
64
				| 'transitFailed'
65
				| 'processingStarted'
66
				| 'processingCompleted'
67
				| 'processingFailed'
68
				| 'notApplicable'
69
			description?: string
70
			recentActivityDate?: string
71
		}[]
72
		relatedFiles?: {
73
			fileName?: string
74
			stage?: string
75
			creationDate?: string
76
		}[]
77
		reportingEntity?: { key?: string; id?: string; href?: string }
78
		taxSolution?: { key?: string; id?: string; href?: string }
79
	} & { id?: {} }
80
) {
81
	const url = new URL(`https://api.intacct.com/ia/api/v1/objects/tax/tax-return/${key}`)
82

83
	const response = await fetch(url, {
84
		method: 'PATCH',
85
		headers: {
86
			'Content-Type': 'application/json',
87
			Authorization: 'Bearer ' + auth.token
88
		},
89
		body: JSON.stringify(body)
90
	})
91
	if (!response.ok) {
92
		const text = await response.text()
93
		throw new Error(`${response.status} ${text}`)
94
	}
95
	return await response.json()
96
}
97