//native
type SageIntacct = {
token: string
}
/**
* Update a document line
* Updates an existing purchasing document line by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionPurchasing
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsList, View, Edit Purchasing documents
*/
export async function main(
auth: SageIntacct,
documentName: string,
key: string,
body: {
key?: string
id?: string
href?: string
documentType?: string
lineNumber?: number
item?: { key?: string; id?: string; href?: string }
memo?: string
unit?: string
quantity?: string
unitQuantity?: string
unitPrice?: string
price?: string
quantityConverted?: string
retailPrice?: string
priceConverted?: string
quantityToleranceVariance?: string
priceToleranceVariance?: string
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
status?: 'active' | 'inactive'
costMethod?: 'standard' | 'average' | 'FIFO' | 'LIFO'
sourceDocument?: {
key?: string
id?: string
documentType?: string
href?: string
}
sourceDocumentLine?: {
key?: string
id?: string
documentType?: string
href?: string
}
baseCurrency?: string
txnCurrency?: string
priceInTxnCurrency?: string
isBillable?: false | true
isBilled?: false | true
taxRate?: string
taxInBaseCurrency?: string
taxInTxnCurrency?: string
discount?: string
enableTax?: false | true
quantityRemaining?: string
conversionType?: 'quantity' | 'price'
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; href?: string }
department?: { key?: string; id?: string; href?: string }
warehouse?: { key?: string; id?: string; href?: string }
project?: { key?: string; id?: string; href?: string }
task?: { id?: string; key?: string; href?: string }
}
requestedShippingDate?: string
shipByDate?: string
cancelAfterDate?: string
doNotShipBeforeDate?: string
doNotShipAfterDate?: string
deliveryDueDate?: string
orderConfirmationDate?: string
allocation?: { key?: string; id?: string; href?: string }
trackingDetail?: {
key?: string
id?: string
href?: string
quantity?: string
serialNumber?: string
lotNumber?: string
expirationDate?: string
aisle?: { href?: string; key?: string; id?: string }
bin?: { href?: string; key?: string; id?: string }
row?: { href?: string; key?: string; id?: string }
item?: { key?: string; id?: string; href?: string }
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
purchasingDocumentLine?: {
key?: string
id?: string
documentType?: string
href?: string
}
}[]
documentHeader?: {
key?: string
id?: string
documentType?: string
href?: string
}
lineSubtotals?: {
key?: string
id?: string
href?: string
description?: string
absoluteValue?: string
percentValue?: string
total?: string
txnAbsoluteValue?: string
txnTotal?: string
enableOverrideTax?: false | true
taxDetail?: { key?: string; id?: string; href?: string }
systemTaxDetail?: { key?: string; id?: string; href?: 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
}
}
documentLine?: {
key?: string
id?: string
documentType?: string
href?: string
}
document?: {
key?: string
id?: string
documentType?: string
href?: string
}
status?: 'active' | 'inactive'
}[]
} & { id?: {} }
) {
const url = new URL(
`https://api.intacct.com/ia/api/v1/objects/purchasing/document-line::${documentName}/${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