0

Create a tax return

by
Published Oct 17, 2025

Creates a new tax return.

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

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