//native
type SageIntacct = {
token: string
}
/**
* Create a credit card transaction
* Creates a new credit card transaction.
Permissions and other requirements
SubscriptionCash Management
User typeBusiness
PermissionsList, View, Add Credit card transactions
*/
export async function main(
auth: SageIntacct,
body: {
key?: string
id?: string
href?: string
txnDate?: string
creditCardAccount?: { key?: string; id?: string; href?: string }
referenceNumber?: string
payee?: string
description?: string
attachment?: { key?: string; id?: string; href?: string }
currency?: {
baseCurrency?: string
txnCurrency?: string
exchangeRate?: { date?: string; rate?: number; typeId?: string }
}
totalEntered?: string
txnTotalEntered?: string
totalPaid?: string
txnTotalPaid?: string
whenPaid?: string
state?: 'reversed' | 'reversal' | 'posted' | 'paid' | 'partiallyPaid' | 'selected'
reconciliationState?: 'cleared' | 'uncleared' | 'matched'
totalDue?: string
txnTotalDue?: string
totalSelected?: string
txnTotalSelected?: string
isInclusiveTax?: false | true
transactionSource?: 'bank'
reversedBy?: {
key?: string
id?: string
reversalDate?: string
href?: string
}
reversalOf?: { key?: string; id?: string; txnDate?: string; href?: string }
taxSolution?: { key?: string; id?: string; href?: string }
lines?: {
id?: string
key?: string
href?: string
amount?: string
totalTxnAmount?: string
txnAmount?: string
currency?: {
baseCurrency?: string
txnCurrency?: string
exchangeRate?: { date?: string; rate?: number }
}
description?: string
lineNumber?: number
totalPaid?: string
txnTotalPaid?: string
isBillable?: false | true
isBilled?: false | true
accountLabel?: { key?: string; id?: string; href?: string }
glAccount?: { key?: string; id?: string; name?: string; href?: string }
taxDetail?: {
key?: string
id?: string
taxRate?: number
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
}
}
baseLocation?: {
key?: string
id?: string
name?: string
href?: string
} & { key?: string }
creditCardTxn?: { key?: string; id?: string; href?: string }
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
taxEntries?: {
key?: string
id?: string
baseTaxAmount?: string
txnTaxAmount?: string
taxRate?: number
} & {
purchasingTaxDetail?: { key?: string; id?: string; href?: string }
creditCardTxnLine?: { id?: string; key?: string; href?: string }
}[]
}[]
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
entity?: { key?: string; id?: string; name?: string; href?: string }
} & { creditCardAccount?: {}; currency?: {}; lines?: {}[] }
) {
const url = new URL(`https://api.intacct.com/ia/api/v1/objects/cash-management/credit-card-txn`)
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