4.1 Overview

A buyer represents the organization who has to pay to multiple vendors at a defined cadence. There can be multiple buyers on-boarded under an institution. Each institution on boards its own buyer. Currently, there is no buyer that is associated with more than 1 institution in CPX production.

Buyers who are considered high-risk are typically set up as Pre Fund, which means they must first fund their account before payment can be made. Dual Approval is activated for these buyers and the payment instruction file (PIF) is processed only if there are sufficient funds available. CPX can perform a consolidated debit for all instructions in a batch that is grouped in the PIF file.
In contrast, other buyers are usually set up as Good Funds. In this case, CPX obtains funds from the buyer's shared billing account. The buyer can be configured to obtain funds from different billing accounts for each payment method, either before the PIF file is processed for certain buyers or after the payment is made for others. The funds are deposited into an account maintained by Priority at one of the banks, Synovous.
CPX also provides support for Credit Buyers. For this type of buyer, CPX funds the payments from its own account and then collects interest from the buyers as a return.
ACH only processes Good Funds and cannot be used by Pre Fund buyers. Pre Fund buyers cannot use ACH because ACH requires money to be directly pulled from the buyer's account, while Pre Fund buyers send the money to CPX on their own instead of having CPX pull it.

4.2 Attributes

FieldSub FieldTypeDescription 
idstringInternal Id of the Buyer
aclarrayaccess control list for the buyer
namestringName of the Buyer
address
  • street1
  • city
  • state
  • country
  • postalCode
  • string
  • string
  • string
  • string
  • string
  • string
street1 is the street address of the Buyer
street2 is the street address of the Buyer
city of the Buyer
state of the Buyer
country of the Buyer
creditLimitintegerCredit Limit of the Buyer
yearlyEstimatedSpentStringEstimated amount spent/ paid by the buyer in an year
status stringInternal status of the Buyer
externalStatusstringExternal Status of the Buyer
contacts
  • id
  • primary
  • name
  • title
  • email
  • phone
boolean string string string string stringprimary determines the default contact in case there are multiple contacts of a buyer
name of the buyer
title determines the position of the contact in the respective organisation
email of the contact
phone of the contact
associatedInstitutionNamestringName of the Institution to which Buyer is associated
associatedInstitutionIdstringInternal Id of the Institution to which Buyer is associated
bidstringAn unique id between a respected buyer and an institution
mriObjectOnly used for MRI Network 
clientIdStringClient ID for MRI Network
databaseStringDatabase name for MRI Network
usernameStringUsername for Database for MRI Network
passwordStringPassword for Database for MRI Network
virtualCardRequestedbooleanto allow vcn payment
virtualCardEnabledbooleanUnderwriting node (internal)
virtualCardObjectVirtual card configuration for the buyer
bankAccountIdstringbank account used to process VCN payments
billingstring
    items : 
    • Pre Fund
    • Daily bill daily pay
    • Good Funds
    • 7/3
    • 7/10
    • 14/3
    • 30 days
    • other
debitMethodstring
  • Manual
  • Processor (DBDP- Braves)
  • Debit by batch
  • Debit for each transaction
  • Debit by Day
debitProcessorEnumThe debit process for Virtual Card. This will be NA by default when VC is requested.
Valid Values:
For Good Funds
  • CPX
  • PASSPORT
For DBDP
  • CPX for Falcons
  • NA for Braves
For Prefund and credit billing
  • NA
delayDaysnumberPayment is debited from buyer on payment date but is paid to supplier after number of days specified Min - 0 Max 7
exposureTracking
  • enabled
  • days
  • limit
  • lastUpdatedDate
  • currentExposureAmount
object
boolean integer number string number
Track spending of buyer. If limit is breached, payments require approval for processing. Minimum 1, max 150
achRequestedbooleanto allow ach payment
achEnabledbooleanUnderwriting node
achobjectACH configuration for Buyer
bankAccountIdstringbank account used to process ACH payments
billingstring
    Billing method for the buyer for ACH : 
    • GOOD_FUNDS
    • PRE_FUND
    • OTHER
delayDaysnumberNumber of days the credit should be delayed by after payment creation date.
debitProcessorEnumThe debit process for ACH. This will be NA by default when ACH is requested.
Valid Values:
For Good Funds
  • CPX
  • PASSPORT
For Prefund
  • NA
debitMethodstring
  • Manual
  • Debit by batch
  • Debit for each transaction
exposureTracking
  • enabled
  • days
  • limit
  • lastUpdatedDate
  • currentExposureAmount
object
boolean integer number String number
To track exposure and spending for the payment method
checkEnabledbooleanTo Enable Check for Buyer
checkIssuingObjectCheck Issuing Configuration 
 bankAccountIdstringId of Bank account  to be used for Check Issuing
debitMethodenumDebit method set for check issuing
debitProcessorenumDebit Processor set for Check Issuing. This is NA by default but can be PASSPORT as well.
delayDaysnumberNumber of days the credit should be delayed by after payment creation date. Only valid for PASSPORT as debit processor.
billingenumBilling method for buyer. Blank by default. It can be GOOD_FUNDS for PASSPORT debit processor.
exposureTracking
  • enabled
  • days
  • Limit
  • lastUpdatedDate
  • currentExposureAmount
object
  • boolean
  • integer
  • number
  • string
  • number
Track spending of buyer. If limit is breached, payments require approval for processing. Minimum 1, max 150
managedCheckObjectManaged Check Configuration 
 bankAccountIdstringId of Bank account  to be used for Managed Check
debitMethodenumDebit method set for managed check
debitProcessorenumDebit Processor set for Managed Check. This is PASSPORT by default.
delayDaysnumberNumber of days the credit should be delayed by after payment creation date.
billingenumBilling method for buyer. GOOD_FUNDS by default
exposureTracking
  • enabled
  • days
  • Limit
  • lastUpdatedDate
  • currentExposureAmount
objectTrack spending of buyer. If limit is breached, payments require approval for processing.Minimum 1, max 150
managedCheckRequestedbooleanIf Managed Check is requested to be enabled.
managedCheckEnabledbooleanIf Managed Check is enabled.
checkIssuingRequestedbooleanIf Check issuing is requested to be enabled.
checkIssuingEnabledbooleanIf Check Issuing is enabled.
isEnhancedManagedCheckbooleanIf Enhanced Check Issuing is enabled
customRemittanceEnabledbooleanIf  Custom Check Remittances are enabled. Applicable only for Check Issuing
checkInsertsEnabledbooleanIf Check Inserts are enabled
invoiceUploadEnabledbooleanIf Invoice PDF uploads are enabled
wireRequestedbooleanto allow wire payment
wireEnabledbooleanUnderwriting node for Wire
wireobjectWire configuration for Buyer
walletIdstringWallet ID used to process wire payments
billingstringBilling method for the buyer for Wire :
  • GOOD_FUNDS
debitMethodstringDebit method for the Payment
  • Debit for each transaction
debitProcessorenumDebit Processor set for Wire. This is PASSPORT by default.
exposureTracking
  • enabled
  • days
  • limit
  • lastUpdatedDate
  • currentExposureAmount
object
boolean integer number String number
To track exposure and spending for the payment method
pifApprovalBooleanTo enable or disable pifApproval. Enable this feature to offer buyers the option to review and approve payment files prior to processing.
pifApprovalConfigarrayEnable approval process for PIFs at buyer level
levelStringLevel of Approval config
  • payment
  • pif
DEFAULT/ACH/  CARD/ CHECK
  • Approvers
    • firstLevel
      • Id
      • firstName
      • lastName
      • Email
      • Username
      • role
        • Id
        • Name
    • secondLevel
      • Id
      • firstName
      • lastName
      • Email
      • Username
      • role
        • Id
        • Name
    • Threshold
      • firstLevel
      • secondLevel
      requireAllLevelApproval
Array
  • Array
    • Array
      • String
      • String
      • String
      • String
      • String
      • Array
        • String
        • String
    • Array
      • Array
      • String
      • String
      • String
      • String
      • String
      • Array
        • String
        • String
  • Array
    • String
    • String
  • Boolean
  • PIF/Payment level approval set. For PIF level approval and Payment level approval with same threshold for different payment modes, node would be default else the payment method for which threshold is being set.
  • Approvers - List of approvers set for each threshold.
    • firstLevel - Approver set at the first level.
    • secondLevel - Approver set at the second level.
    • Id of the approver
    • Firstname of the approver
    • Last name of the approver
    • Email of the approver
    • Username of the approver
    • Role of the approver
      • Id of the role of the approver
      • Name of the role of the approver
  • Threshold - threshold limits for approval
  • requireAllLevelApproval- if both level approvals are required for the approval
paymentMethodLevelApprovalBooleanWhether different thresholds for different payment method are enabled
paymentFileTypestringDefines the payment file type which will used to process payments uploaded in a file
achPaymentRoutestringroute through which ach payments will be happening
schedulePaymentsForFuturebooleanEnable payments to be scheduled upto 90 days in future
dualPifApprovalenabledbooleanto hold the payment file before processing it. Used in case of high risk buyers. Internal team manually approves the payment files of the buyer for which this toggle is ON
failOverPaymentenabled booleanto determine whether to process a payment through different route if the default payment has failed
VCNSwitch VCN to ACH or CHK
bankAccountsaccountNumberStringbank account number of the Buyer
routingNumberStringrouting number of the Buyer’s bank account
    defaults
    • VCN
    • ACH
    • CHK
    • MCK
arrayTo determine the default bank account for a particular payment MCK not available right now
accountTypestringtype of the bank account i.e. checking and savings
idId of bank account
bankNameName of bank account
passportBankAccountStatusstringWhether Bank account is enabled for transaction on Passport.
nachaIdStringNacha ID to be used for ACH payments. By default, CPX’s Nacha ID is used.
achMerchantIdStringThe merchant id of the buyer for the ACH transaction.
achConfigObjectCustom ACH configuration to be passed with ACH payments
metadata
  • description
    • field
    • Text
  • addenda
    • Mapping
      • Field
      • order
    • text
Object
  • Object
    • String
    • String
  • Object
    • Object
      • String
      • String
    • String
Data to be passed with ACH payment
  • Information for description
    • Payment field to be passed in description
    • Static Text if field is set as other
  • Information to be passed in addenda
    • Mapping for addenda
      • Payment field to be passed in addend
      • Order of the field set
    • Static Text if field is set as other
buyerWalletEnabledBooleanTo enable buyer virtual wallet functionality
vcnHoststringcard processor for the Buyer
vcnHostConfigObjectConfiguration for VCN host.  Necessary if vcnrequested if true
falcons
  • paymentReferenceNumber
  • location
  • products
    • VCN
      • id
      • name
      • value
    • VWA
    •  LDG
      • id
      • name
      • value
    • PPD
     
Object
  • String
  • String
  • Object
    • Object
      • String
      • String
      • String
    • String
    • Object
      • String
      • String
      • String
    • String
Falcons configuration for the Cards
  • Reference number of the card products
  • Location of the falcons product
  • Type of product to be added for falcons
    • VCN - Virtual card product
      • Id of card product
      • Name of card product
      • Value of card product
    • LDG - Lodged Card product
      • Id of card product
      • Name of card product
      • Value of card product
    • PPD - Prepaid debit
    • VWA - Virtual wallet
united
  • primaryAccountNumber
  • companyNumber
Object
  • String
  • String
United configuration for cards
  • Company number for united config
  • Primary account number for united config
braves
  • primaryAccountNumber
  • companyNumber
  • centralBillAccountNumber
   
Object
  • String
  • String
  • String
Braves configuration for cards
  • Company number for braves config
  • Central Bill account number for braves config. Only used for Lodged Exact Match card
  • Primary account number for braves config
Vpa
  • pp
    • enabled
  • rva
    • enabled
  • visaBuyerId
  • templateId
  • fundingInfo
    • creditLimit
    • expirationDate
    • fundingAccount
Object
  • Object
    • Boolean
  • Object
    • Boolean
  • String
  • String
  • Object
    • String
    • String
    • String
Visa VPA configuration for cards
  • Process Payments
  • Request Virtual Cards
  • Visa Buyer Id
  • Visa Buyers Template Id
  • Funding account information
    • Credit limit of a/c
    • Expiration date of a/c
    • Funding account number
cardRulesArray of objectsCard Rules to create virtual card products
idStringId of card rule in CPX
hoststringVCN host for the card rule
ruleTypeenumRule
typeenumType of Card Rule Values -
namestringName of Card Rule
expirationDaysstringNumber of days after which card created by card rule expires.
ruleValuestringTemplate ID or Rule value for Card Rule
isExactAmountbooleanIf amount should be an exact match to authorization to be authorized
isDefaultbooleanIf the card rule is default card rule
billLevelstringBilling level for Card rule
reOrderCountstringReorder count of Accounts for Pool
initialOrderCountstringInitial count of Accounts for Pool
minAvailableAccountsstringMinimum count of Accounts that should be available in Pool
lodgePaymentEnabledbooleanto allow lodge payment
lodgePaymentCardsArray
idStringId of the lodged card 
cardNumberStringCard number generated by card provider
cvvStringCvv of the Card as per card provider
typeStringType of Lodged Card
template
  • id
  • host
  • name
  • type
  • ruleType
  • billLevel
  • isDefault
  • ruleValue
  • isExactAmount
  • expirationDays
Object
  • String
  • String
  • String
  • String
  • String
  • String
  • Boolean
  • String
  • Boolean
  • String
Details of the Template to which the card is associated
  • Id of the template
  • Host of the template
  • Name of the template
  • Type of the template (Lodged / Legacy, Lodged / P-Card, Lodged / Exact Match)
  • ruleType of the template
  • billLevel of the template
  • If the card is the default product
  • Value of the rule associated with card template
  • If the card only allowed exact amount debits
  • Number of days after which card expires
sourceStringSource/Card provider
referenceStringReference for the card
cardEntityIdStringEntity Id of the card
expirationDateStringExpiration date of the card
expirationStringStringExpiration date in mmyy format
paymentsStringNumber of Payments on the card
balanceStringBalance available on the card
legalNamestringLegal Name of the buyer
isAlternateMailingAddressbooleanIf Buyer has an alternate mailing address
mailingAddressObjectMailing address details
street1Stringstreet1 is the street address for Buyer underwriting
street2Stringstreet2 is the street address for Buyer underwriting
cityStringcity for Buyer underwriting
stateStringstate for Buyer underwriting
countryStringCountry for Buyer underwriting
postalCodeStringPostal code for Buyer underwriting
websitestringWebsite for Buyer underwriting
yearsInBusinessnumberThe time period for which the buyer remains in the business.
annualSalesnumberAnnual sales amount of the buyer
ownershipTypestringOwnership type of the buyer’s business
legalEntityTypestringEntity Type of the buyer
ssnEinTypestringSSN EIN type of the buyer
taxIdstringTax ID of the buyer
stateOfOrganizationstringState of the Buyers business
sicobjectSIC / NAICS Code
codestringSIC Code
descriptionstringSIC description
ownersArrayOwners of Buyer
owner
  • id
  • firstName
  • lastName
  • title
  • ownershipPercentage
  • isControlProng
  • emailAddress
  • phone
  • isUSCitizen
  • dateOfBirth
  • address
    • street1
    • street2
    • City
    • State
    • country
    • postalCode
  • ssn
Object
  • String
  • String
  • String
  • String
  • number
  • boolean
  • string
  • string
  • boolean
  • string
  • object
    • string
    • string
    • string
    • string
    • string
    • string
  • Id of the owner
  • First name of the owner
  • Last Name of the owner
  • Title of the owner
  • Ownership Percentage of the owner
  • If the owner has most control over entity
  • Email address of the owner
  • Phone number of the owner
  • If owner is US citizen
  • Date of birth of the owner
  • Address details of the owner
  • SSN of the owner
plastiqPayEnabledbooleanTo enable plastiqPay
createdstringDate and time of creation of Buyer
creatoridstringId of user creating the buyer
usernamestringUsername of user creating the Buyer
modifiedstringDate and time of last modification of Buyer
modifieridstringId of user who has last modified the buyer
usernamestringUsername of user who has last modified the buyer
deletedBooleanWhether buyer is deleted or not
plastiqObjectSPlastiq Sync node to capture information from Plastiq
payerIdStringPlastiq Id for the buyer entity
syncErrorStringSync error message for Plastiq
passportObjectPassport sync node to capture information from Passport
customerIdStringId of customer in Passport corresponding to the buyer
account
  • da
    • id
Object
  • Object
    • String
Buyers account information from Passport.Deposit account information Id of deposit account
addressIdStringId of address in passport
syncErrorStringSync error message for Passport
bankAccounts
  • Id
  • addressId
Object
  • String
  • String
  • Id of bank account in Passport
  • addressID of bank account
externalAccount
  • Check
    • addressId
    • id
  • Object
  • Object
  • String
  • String
External Account information in Passport. Check, addressId and id of the external Account
checkAccountsObjectCheck account details
idstringId of check account of buyer
Address
  • City
  • State
  • Country
  • Street1
  • postalCode
  • Array
  • String
  • String
  • String
  • String
  • String
Address details of check account of buyer
bankNamestringBank Name for check account of buyer
accountIdstringId for check account in Passport
syncErrorstringSync error message for Plastiq
accountTypeEnumType of check account
  • Checking
  • saving
checkProofIdstringCheck proof Id corresponding to smart payables
accountNumberstringAccount number for check account
accountStatusstringStatus of check account
routingNumberstringRouting number of check account
checkNextNumberstringNext check number for the account
checkStartNumberstringStarting of check number for the account
signatureAttachmentIdstringId of signature image for the account in Smart payable
externalCardsObjectExternal card details
idStringId/Token of external card in Plastiq
Address
  • City
  • State
  • Country
  • Street1
  • postalCode
  • Array
  • string
  • string
  • string
  • string
  • string
Billing address details for the card
isDefaultBooleanWhether the card is the default card
cardNumberStringCard number of the external card
securityCodeStringSecurity code/cvv of the external card
cardHolderNameStringName of the card holder
expirationStringStringMonth and year of expiry of the card
plastiqPaymentMethodIdStringPayment method id for the card in Plastiq
dualPifApprovalObjectWhether dual PIF approval is enabled for the buyer
enabledbooleanIf dual Pif is enabled
lodgePCardsObjectP card details
idStringId of lodged P card
cvvStringCVV of lodged P card
typeStringType of Lodge P Card
sourceStringCard processor of Lodge P Card
disabledbooleanWhether the card is disabled
supplier
  • id
  • name
  • sid
  • Object
  • String
  • String
  • String
Details of the supplier to which the card is associated
  • Id of supplier
  • Name of supplier
  • SID of supplier
template
  • id
  • host
  • name
  • type
  • ruleType
  • billLevel
  • isDefault
  • ruleValue
  • isExactMatch
  • expirationDays
Object
  • String
  • String
  • String
  • String
  • String
  • String
  • Boolean
  • String
  • Boolean
  • String
Details of the Template to which the card is associated
  • Id of the template
  • Host of the template
  • Name of the template
  • Type of the template (Lodged / Legacy, Lodged / P-Card, Lodged / Exact Match)
  • ruleType of the template
  • billLevel of the template
  • If the card is the default product
  • Value of the rule associated with card template
  • If the card only allowed exact amount debits
  • Number of days after which card expires
referenceStringReference number of the P card to map between Card provider and CPX
cardNumberStringCard Number of Lodged card
creditLimitStringLimit set for the Lodged Card
cardEntityIdStringEntity Id of the Lodged P Card
expirationDateStringExpiration Date of the Lodged P Card
expirationStringStringExpiration Date of the Lodged P Card in MMYY format
createdNotificationSentStringDate and time when notification for P Card has been sent to supplier
paymentsStringNumber of payments on lodged P card
dailySpendLimitStringDaily spend limit on the P card
associatedInstitutionPifApprovalbooleanWhether PIF approval is enabled for the associated institution
associatedInstitutionManagedCheckbooleanWhether managed check is enabled for the associated institution
associatedInstitutionSchedulePaymentsForFuturebooleanWhether schedule payments is enabled for the associated institution
associatedInstitutionCheckInsertsbooleanWhether check inserts is enabled for the associated institution
associatedInstitutionExpeditedShippingbooleanWhether expedited shipping is enabled for the associated institution
associatedInstitutionInvoiceUploadbooleanWhether invoice uploadis enabled for the associated institution
associatedInstitutionVcnHostStringWhich VCN host is enabled for the associated institution
associatedInstitutionPlastiqPayEnabledbooleanWhether PlastiqPay is enabled for the associated institution
backupCardRetrialEnabledbooleanWhether Payment should be retried with backup card if primary card fails.
flagsEnableArrayFeatures enabled for the buyer
cpaObjectCPA sync node to capture information from CPA
idStringId of buyer on CPA
isActiveBooleanWhether VPA is enabled at the buyer level or not
cardTypes
  • id
  • syncError
    • errors
      • id
      • code
      • message
    • statusCode
  • Object
  • String
  • Object
  • Object
  • String
  • String
  • String
  • String
Types of cards associated
  • Id of card associated
  • Sync error for cardTypes
    • Errors for card Types
      • Error information
      • Id of error
      • Code of error
    • Status code of error
syncErrorStringSync Error for CPA
fundingAccount
  • syncError
  • Object
  • String
Funding account for VPA
Sync error for Funding account

4.3 Statuses

Internal Status

  • Received
  • Under Review
  • Closed
  • Approved
  • Declined
  • Canceled
  • Suspended

External Status

  • Active
  • Inactive

4.4 Operations

4.4.1. Create Buyer
4.4.2. Update Buyer
4.4.3. Retrieve Buyer By Id
4.4.4. Retrieve Buyer By Id for Export
4.4.5. Retrieve Buyer by Custom Field
4.4.6. Delete Buyer
4.4.7. Update Exposure Tracking Data for Buyer


Priority Technology Holdings Logo