Edits history of script submission #19895 for ' Update an electronic receipt (sage_intacct)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type SageIntacct = {
    	token: string
    }
    /**
     * Update an electronic receipt
     * Updates an existing electronic receipt by setting field values. Any fields not provided remain unchanged.
    
    
    Permissions and other requirements
    
    SubscriptionTime and Expense
    User typeBusiness, Employee
    PermissionsList, View, Edit, Delete, Upload, Manage staff electronic receipts
    
    
    
    
     */
    export async function main(
    	auth: SageIntacct,
    	key: string,
    	body: {
    		key?: string
    		id?: string
    		href?: string
    		createdDate?: string
    		employee?: { key?: string; id?: string; href?: string }
    		employeeContact?: {
    			key?: string
    			id?: string
    			firstName?: string
    			lastName?: string
    			href?: string
    		}
    		state?: 'draft' | 'used' | 'review' | 'analyzing'
    		receiptNumber?: string
    		description?: string
    		currency?: string
    		totalAmount?: string
    		baseCurrency?: string
    		baseTotal?: string
    		attachment?: { key?: string; id?: string; href?: string }
    		audit?: {
    			createdDateTime?: string
    			modifiedDateTime?: string
    			createdBy?: string
    			modifiedBy?: string
    		} & { createdDateTime?: string }
    		lines?: {
    			key?: string
    			id?: string
    			href?: string
    			entryDate?: string
    			currency?: string
    			txnAmount?: string
    			baseCurrency?: string
    			baseAmount?: string
    			quantity?: string
    			unitRate?: string
    			paidTo?: string
    			paidFor?: string
    			glAccount?: { key?: string; id?: string; name?: string; href?: string }
    			expenseType?: { key?: string; id?: string; href?: string }
    			lineNumber?: number
    			state?: 'draft' | 'used' | 'review' | 'analyzing'
    			audit?: {
    				createdDateTime?: string
    				modifiedDateTime?: string
    				createdBy?: string
    				modifiedBy?: string
    			}
    			dimensions?: {
    				location?: { key?: string; id?: string; name?: string; href?: string }
    				department?: {
    					key?: string
    					id?: string
    					name?: string
    					href?: string
    				}
    				employee?: { key?: string; id?: string; name?: string; href?: string }
    				project?: { key?: string; id?: string; name?: string; href?: string }
    				customer?: { key?: string; id?: string; name?: string; href?: string }
    				vendor?: { key?: string; id?: string; name?: string; href?: string }
    				item?: { key?: string; id?: string; name?: string; href?: string }
    				warehouse?: { key?: string; id?: string; name?: string; href?: string }
    				class?: { key?: string; id?: string; name?: string; href?: string }
    				task?: { id?: string; key?: string; name?: string; href?: string }
    				costType?: { id?: string; key?: string; name?: string; href?: string }
    				asset?: { id?: string; key?: string; name?: string; href?: string }
    				contract?: { id?: string; key?: string; name?: string; href?: string }
    				affiliateEntity?: {
    					key?: string
    					id?: string
    					href?: string
    					name?: string
    				}
    			} & {
    				location?: { key?: string; id?: string; name?: string; href?: string }
    				department?: {
    					key?: string
    					id?: string
    					name?: string
    					href?: string
    				}
    			}
    			electronicReceipt?: { id?: string; key?: string; href?: string }
    		}[]
    	} & { createdDate?: {}; currency?: {}; employee?: {} }
    ) {
    	const url = new URL(
    		`https://api.intacct.com/ia/api/v1/objects/expenses/electronic-receipt/${key}`
    	)
    
    	const response = await fetch(url, {
    		method: 'PATCH',
    		headers: {
    			'Content-Type': 'application/json',
    			Authorization: 'Bearer ' + auth.token
    		},
    		body: JSON.stringify(body)
    	})
    	if (!response.ok) {
    		const text = await response.text()
    		throw new Error(`${response.status} ${text}`)
    	}
    	return await response.json()
    }
    

    Submitted by hugo697 235 days ago