//native
type SageIntacct = {
token: string
}
/**
* Create an inventory document
* Creates a new Inventory Control document.
*/
export async function main(
auth: SageIntacct,
documentName: string,
body: {
key?: string
id?: string
documentNumber?: string
documentType?: string
isPrinted?: false | true
subTotal?: string
total?: string
subtotalInTxnCurrency?: string
totalInTxnCurrency?: string
state?:
| 'draft'
| 'pending'
| 'closed'
| 'inProgress'
| 'converted'
| 'partiallyConverted'
| 'convertedByLine'
| 'partiallyConvertedByLine'
| 'exception'
referenceNumber?: string
memo?: string
exchangeRate?: {
date?: string
rate?: string
typeId?: string
typeName?: string
}
transactionDate?: string
lastPrintedDate?: string
isAdjustmentDocument?: false | true
baseCurrency?: string
txnCurrency?: string
txnDefinition?: {
href?: string
key?: string
id?: string
documentType?: string
txnDefinitionTemplateClass?: string
updatesInventory?: 'no' | 'quantity' | 'value' | 'quantityAndValue'
increaseOrDecreaseInventory?: 'increase' | 'decrease'
}
sourceDocument?: { key?: string; id?: string; href?: string }
attachment?: { key?: string; id?: string; href?: string }
printedBy?: { href?: string; key?: string; id?: string }
warehouse?: {
key?: string
id?: string
defaultWarehouse?: string
href?: string
}
href?: string
entity?: { key?: string; id?: string; name?: string; href?: string }
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
} & { createdDateTime?: string }
lines?: {
key?: string
id?: string
href?: string
documentType?: string
memo?: string
lineDescription?: string
unitOfMeasure?: { key?: string; id?: string; href?: string }
unitQuantity?: string
quantity?: string
quantityConverted?: string
quantityRemaining?: string
cost?: string
unitCost?: string
extendedCost?: string
totalCost?: string
lineNumber?: number
costMethod?: 'average' | 'standard' | 'FIFO' | 'LIFO'
txnCurrency?: string
baseCurrency?: string
conversionType?: 'quantity' | 'price'
convertedPrice?: 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 }
componentItem?: { key?: string; id?: string; href?: string }
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
inventoryDocumentLine?: {
key?: string
id?: string
documentType?: string
href?: string
}
}[]
documentHeader?: {
href?: string
key?: string
id?: string
documentNumber?: string
documentType?: 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; 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 }
}
sourceDocument?: {
href?: string
id?: string
documentType?: string
key?: string
}
sourceDocumentLine?: {
href?: string
id?: string
key?: string
documentType?: string
}
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
} & { createdDateTime?: string }
status?: 'active' | 'inactive'
}[]
history?: {
key?: string
id?: string
href?: string
convertedFrom?: {
key?: string
id?: string
documentType?: string
href?: string
}
convertedTo?: {
key?: string
id?: string
documentType?: string
href?: string
}
inventoryDocument?: {
key?: string
id?: string
documentType?: string
href?: string
}
}[]
subtotals?: {
key?: string
id?: string
href?: string
description?: string
percentValue?: string
absoluteValue?: string
txnAbsoluteValue?: string
isValueEditable?: false | true
isPercentEditable?: false | true
total?: string
txnTotal?: string
documentLine?: {
href?: string
key?: string
id?: string
documentType?: 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; href?: string }
department?: { key?: string; id?: string; href?: string }
}
documentHeader?: {
href?: string
key?: string
documentType?: string
id?: string
}
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
}[]
postingSummary?: { key?: string; id?: string; href?: string }
journalEntry?: { key?: string; id?: string; href?: string }
status?: 'active' | 'inactive'
} & { lines?: { dimensions?: {} }[] }
) {
const url = new URL(
`https://api.intacct.com/ia/api/v1/objects/inventory-control/document::${documentName}`
)
const response = await fetch(url, {
method: 'POST',
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