//native
type SageIntacct = {
token: string
}
/**
* Update a checking account
* Updates an existing checking account by setting field values. Any fields not provided remain unchanged.
*/
export async function main(
auth: SageIntacct,
key: string,
body: {
key?: string
id?: string
bankAccountDetails?: {
accountNumber?: string
bankName?: string
accountHolderName?: string
routingNumber?: string
branchId?: string
phoneNumber?: string
currency?: string
bankAddress?: {
city?: string
state?: string
postCode?: string
country?: string
addressLine1?: string
addressLine2?: string
addressLine3?: string
}
}
accounting?: {
glAccount?: { key?: string; id?: string; name?: string; href?: string }
apJournal?: { key?: string; id?: string; href?: string }
arJournal?: { key?: string; id?: string; href?: string }
disableInterEntityTransfer?: false | true
serviceChargeGLAccount?: { key?: string; id?: string; href?: string }
serviceChargeAccountLabel?: { key?: string; id?: string; href?: string }
interestGLAccount?: { key?: string; id?: string; href?: string }
interestAccountLabel?: { key?: string; id?: string; href?: string }
bankingTimeZone?:
| 'GMT (Greenwich Mean Time) Dublin, Edinburgh, London'
| 'GMT+00:00 Western Europe Time'
| 'GMT+01:00 Western Europe Summer Time'
| 'GMT+01:00 British Summer Time'
| 'GMT+01:00 Irish Summer Time'
| 'GMT+01:00 Central Europe Time'
| 'GMT+01:00 Berlin, Stockholm, Rome, Bern, Brussels'
| 'GMT+01:00 Lisbon, Warsaw'
| 'GMT+01:00 Paris, Madrid'
| 'GMT+01:00 Prague'
| 'GMT+02:00 Central Europe Summer Time'
| 'GMT+02:00 Eastern Europe Time'
| 'GMT+02:00 Athens, Helsinki, Istanbul'
| 'GMT+02:00 Cairo'
| 'GMT+02:00 Harare, Pretoria'
| 'GMT+02:00 Israel'
| 'GMT+03:00 Eastern Europe Summer Time'
| 'GMT+03:00 Baghdad, Kuwait, Nairobi, Riyadh'
| 'GMT+03:00 Moscow, St. Petersburg, Volgograd'
| 'GMT+03:30 Tehran'
| 'GMT+04:00 Moscow Summer Time'
| 'GMT+04:00 Abu Dhabi, Muscat, Tbilisi, Kazan'
| 'GMT+04:30 Kabul'
| 'GMT+05:00 Islamabad, Karachi, Sverdlovsk, Tashkent'
| 'GMT+05:30 Bombay, Calcutta, Madras, New Delhi'
| 'GMT+06:00 Almaty, Dhaka'
| 'GMT+07:00 Bangkok, Jakarta, Hanoi'
| 'GMT+08:00 Beijing, Chongqing, Urumqi'
| 'GMT+08:00 Hong Kong SAR, Perth, Singapore, Taipei'
| 'GMT+08:00 (Australian) Western Standard Time'
| 'GMT+09:00 Tokyo, Osaka, Sapporo, Seoul, Yakutsk'
| 'GMT+09:30 (Australian) Central Standard Time'
| 'GMT+10:30 (Australian) Central Daylight Time'
| 'GMT+09:30 Adelaide'
| 'GMT+09:30 Darwin'
| 'GMT+10:00 Brisbane, Melbourne, Sydney'
| 'GMT+10:00 Guam, Port Moresby'
| 'GMT+10:00 Vladivostok'
| 'GMT+10:00 (Australian) Eastern Standard Time'
| 'GMT+11:00 (Australian) Eastern Daylight Time'
| 'GMT+12:00 Fiji Islands, Marshall Islands'
| 'GMT+12:00 Kamchatka'
| 'GMT+12:00 Magadan, Solomon Islands, New Caledonia'
| 'GMT+12:00 Wellington, Auckland'
| 'GMT+13:00 Nuku`alofa'
| 'GMT+13:00 Samoa'
| 'GMT-01:00 Azores, Cape Verde Island'
| 'GMT-03:00 Brasilia'
| 'GMT-03:00 Buenos Aires, Georgetown'
| 'GMT-03:30 Newfoundland Standard Time'
| 'GMT-02:30 Newfoundland Daylight Time'
| 'GMT-04:00 Atlantic Standard Time'
| 'GMT-03:00 Atlantic Daylight Time'
| 'GMT-04:00 Caracas, La Paz'
| 'GMT-05:00 Bogota, Lima'
| 'GMT-05:00 Eastern Standard Time'
| 'GMT-04:00 Eastern Daylight Saving Time'
| 'GMT-05:00 Indiana (East)'
| 'GMT-06:00 Central Standard Time'
| 'GMT-05:00 Central Daylight Saving Time'
| 'GMT-06:00 Mexico City, Tegucigalpa'
| 'GMT-06:00 Saskatchewan'
| 'GMT-07:00 Arizona'
| 'GMT-07:00 Mountain Standard Time'
| 'GMT-06:00 Mountain Daylight Saving Time'
| 'GMT-08:00 Pacific Standard Time'
| 'GMT-07:00 Pacific Daylight Saving Time'
| 'GMT-09:00 Alaska Standard Time'
| 'GMT-08:00 Alaska Standard Daylight Saving Time'
| 'GMT-10:00 Hawaii'
| 'GMT-11:00 Midway Island, Samoa'
| 'GMT-12:00 Eniwetok, Kwajalein'
}
reconciliation?: {
lastReconciledBalance?: string
lastReconciledDate?: string
cutOffDate?: string
inProgressBalance?: string
inProgressDate?: string
matchSequence?: { key?: string; id?: string; href?: string }
useMatchSequenceForAutoMatch?: false | true
useMatchSequenceForManualMatch?: false | true
}
checkPrinting?: {
disablePrinting?: false | true
addressSettings?: {
printAddress?: false | true
addressToPrint?: 'company' | 'custom'
name?: string
address?: {
addressLine1?: string
addressLine2?: string
addressLine3?: string
city?: string
state?: string
postCode?: string
country?: string
countryCode?: string
phone?: string
}
printLogo?: false | true
}
signatures?: {
firstSignature?: string
limitForFirstSignatureAmount?: string
useSecondSignature?: false | true
secondSignature?: string
limitForSecondSignatureAmount?: string
thresholdForSecondSignatureAmount?: string
}
printSettings?: {
printOn?: 'prePrintedCheckStock' | 'blankCheckStock'
nextCheckNumber?: string
printingFormat?:
| 'standard'
| 'business'
| 'highSecurity'
| 'cadCheck'
| 'jpmorganChaseBusiness'
| 'jpmorganChaseStandard'
paperFormat?: 'top' | 'middle' | 'bottom'
printLineItems?: false | true
printLocation?: 'id' | 'name' | 'both'
additionalText?: string
numberOfChecksInPreview?: 'one' | 'three'
}
micrSettings?: {
accountNumberAlignment?: 'left' | 'right'
accountNumberPositioning?: number
minCheckNumberLength?: string
regionalSettings?: {
printCode45?: false | true
printUSFundsUnderCheckAmount?: false | true
printOnUsSymbol?: false | true
positionOfOnUsSymbol?: 'position31' | 'position32'
}
}
}
department?: { key?: string; id?: string; href?: string }
location?: { key?: string; id?: string; href?: string }
status?: 'active' | 'inactive'
ach?: {
enableACH?: false | true
bankId?: string
companyName?: string
companyIdentification?: string
originatingFinancialInstitution?: string
companyEntryDescription?: string
companyDiscretionaryData?: string
useRecommendedSetup?: false | true
recordTypeCode?: string
serviceClassCode?: '220' | '200'
originatorStatusCode?: string
batchId?: string
traceNumberSequence?: string
paymentNumberSequence?: string
useTraceNumber?: 'useAsPayment' | 'useNumberingSequence'
}
bankFile?: {
enableBankFile?: false | true
bankFileFormat?: string
bankCode?: string
apcaNumber?: string
bsbNumber?: string
sunNumber?: string
sortCode?: string
seedValue?: string
userReference?: string
clientCode?: string
serviceType?: string
originatorId?: string
businessIdCode?: string
processingDataCenterCode?: string
debtorBankNumber?: string
branchTransitNumber?: string
returnAccountNumber?: string
messageIdPrefix?: string
}
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
bankingCloudConnection?: {
name?: string
bankName?: string
status?:
| 'notConnected'
| 'connectionRequested'
| 'inProgress'
| 'pending'
| 'pendingConfirmation'
| 'connected'
| 'authRequired'
| 'verifyingAuth'
| 'inactiveFeed'
| 'inactiveClient'
| 'canceled'
| 'invalid'
| 'canceling'
| 'disconnecting'
lastBankTxnDateTime?: string
lastRefreshedDateTime?: string
refreshStatus?: 'queued' | 'refreshing' | 'success' | 'partialSuccess' | 'failure'
supportMultiAccountLinking?: false | true
}
financialInstitution?: { id?: string; key?: string; href?: string }
entity?: { key?: string; id?: string; name?: string; href?: string }
ruleSet?: { key?: string; id?: string; name?: string; href?: string }
restrictions?: {
restrictionType?: 'unrestricted' | 'rootOnly' | 'restricted'
locations?: string[]
}
paymentProviderBankAccounts?: {
key?: string
id?: string
state?:
| 'inProgress'
| 'canceled'
| 'requestInitiated'
| 'requestReceived'
| 'requestFailed'
| 'awaitingAuthorization'
| 'subscribed'
| 'suspended'
providerReferenceNumber?: string
authenticationURL?: string
checkStartNumber?: string
isRebateAccount?: false | true
remittanceEmail?: string
bankAccount?: {
key?: string
id?: string
currency?: string
href?: string
}
paymentProvider?: { key?: string; id?: string; href?: string }
href?: string
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
status?: 'active' | 'inactive'
}[]
} & { id?: {} }
) {
const url = new URL(
`https://api.intacct.com/ia/api/v1/objects/cash-management/checking-account/${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