//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