This section outlines the field limits and requirements for the various API objects
Field
|
Required
|
data type
|
size
|
notes
|
|
|
|
|
|
Product (ProductOffering)
|
|
|
|
|
Product Offering
|
|
|
|
|
name
|
yes
|
string
|
50
|
blank:false,
|
sku
|
yes
|
string
|
50
|
blank:false, unique:"org"
|
notes
|
no
|
string
|
255
|
|
invoiceText
|
no
|
string
|
50
|
|
|
|
|
|
|
Plan (ContractOffering)
|
|
|
|
|
productOffering
|
yes
|
string
|
|
|
name
|
yes
|
string
|
50
|
blank - false
|
contractCode
|
yes
|
string
|
50
|
blank - false, unique:"org"
|
notes
|
no
|
string
|
255
|
|
invoiceText
|
yes
|
string
|
50
|
|
startDate
|
no
|
date
|
|
|
endDate
|
no
|
date
|
|
|
billingAlignment
|
yes
|
string
|
|
blank-false, inList: StartDate, NextBillingPeriod
|
billingPeriod
|
yes
|
string
|
|
blank-false, inList: Daily,Weekly, BiWeekly,Monthly,Quarterly, BiAnnual,Yearly,5-Yearly, 10-Yearly, 20-Yearly, 25-Yearly
|
dueDateValue
|
yes
|
integer
|
|
blank-false
|
dueDateUnits
|
yes
|
string
|
|
blank:false, inList: Days,Weeks, Months,Quarters,Years
|
isAutoRenew
|
yes
|
boolean
|
|
|
orderType
|
no
|
string
|
16
|
inList: Subscription,Installment
|
numberOfInstallments
|
no
|
integer
|
min 1
|
|
interestRate
|
no
|
BigDecimal
|
|
scale:4
|
fixedChargesReducePayoff
|
no
|
boolean
|
|
|
accountingCode
|
no
|
string
|
50
|
|
useAccountingCodeForEachInstallment
|
no
|
boolean
|
|
|
linkedContractOffering
|
no
|
ContractOffering
|
|
initialTermValue
|
no
|
integer
|
|
blank-true
|
initialTermUnits
|
no
|
string
|
|
blank-true
|
renewalTermValue
|
no
|
integer
|
|
blank-true
|
renewalTermUnits
|
no
|
string
|
|
|
|
|
|
|
|
Charge (ContractCharge)
|
|
|
|
|
contractOffering
|
yes
|
|
|
|
position
|
yes
|
integer
|
|
unique:"contractOffering
|
priceCode
|
yes
|
string
|
50
|
blank-false,unique:"contractOffering"
|
notes
|
no
|
string
|
255
|
|
invoiceText
|
yes
|
string
|
50
|
blank:false
|
accountingCode
|
no
|
string
|
50
|
|
standardQuantity
|
no
|
double
|
|
|
maxQuantity
|
no
|
double
|
|
|
minQuantity
|
no
|
double
|
|
|
pricingType
|
yes
|
string
|
32
|
inList: FixedPricing,BulkPricing, TieredPricing, UnitPricing,PercentOfTotalPricing, PercentOfCodedItemsPricing, UserEnteredPricing, AdhocPercentOfTotalPricing, AdhocPercentOfCodedItemsPricing, UserEnteredBulkPricing, UserEnteredTieredPricing, UserEnteredSumBulkPricing, UserEnteredSumTieredPricing, CustomPricing
|
chargeType
|
yes
|
string
|
32
|
inList: OneTimeCharge,RecurringCharge, UsageCharge,AssetUsageCharge, CustomCharge, DateBasedCharge,AutoRecharge
|
overageContractCharge
|
no
|
contractcharge
|
|
unitOfMeasure
|
no
|
string
|
16
|
|
isPenalty
|
yes
|
boolean
|
|
|
isTax
|
yes
|
boolean
|
|
|
taxCodes
|
no
|
string
|
100
|
|
isPrepaid
|
yes
|
boolean
|
|
|
isSeparateInvoice
|
yes
|
boolean
|
|
|
isProrated
|
yes
|
boolean
|
|
|
isMandatory
|
yes
|
boolean
|
|
|
isCommission
|
no
|
boolean
|
|
|
billerGroupCode
|
no
|
string
|
20
|
|
dateToChargeValue
|
no
|
integer
|
|
|
dateToChargeUnits
|
no
|
string
|
|
|
maxPrice
|
no
|
BigDecimal
|
scale 6
|
|
specialOptions
|
no
|
string
|
1024
|
|
|
|
|
|
|
Customer
|
|
|
|
|
name
|
no
|
string
|
50
|
Required for B2B, Optional for B2C setting
|
notes
|
no
|
string
|
255
|
blank:true
|
status
|
yes
|
string
|
16
|
blank:false, inList: Active, InActive
|
extCustomerRef
|
no
|
string
|
50
|
blank:true,unique: "org"
|
extTrackingRef
|
no
|
string
|
255
|
blank:true
|
billingContact
|
no
|
customerContact
|
|
salesContact
|
no
|
customerContact
|
|
currency
|
yes
|
|
|
Defaults to organizations currency
|
locale
|
yes
|
string
|
min 2,max 10
|
blank:false
|
ccEmails
|
no
|
string
|
255
|
blank:true
|
bccEmails
|
no
|
string
|
255
|
blank:true
|
notifyOnPayment
|
no
|
boolean
|
|
|
preferTextEmail
|
no
|
boolean
|
|
|
invoiceDelivery
|
yes
|
string
|
16
|
inList: None,HTML,Email,EmailWithPDF
|
sendInvoicesViaPostalMail
|
yes
|
boolean
|
|
|
isBusinessAccount
|
no
|
boolean
|
|
|
creditLimit
|
no
|
BigDecimal
|
|
|
paymentTermsValue
|
no
|
Integer
|
|
blank:true,
|
paymentTermsUnits
|
no
|
unitsof time
|
|
blank:true,
|
paymentTermsText
|
no
|
string
|
15
|
blank:true,
|
overdueNotificationCode
|
no
|
string
|
32
|
|
parent
|
no
|
customer
|
|
|
biller
|
no
|
biller
|
|
|
custom.fieldX
|
no
|
string
|
125
|
X is 1 to 10 for each of the 10 custom fields
|
|
|
|
|
|
CustomerContact
|
|
|
|
|
customer
|
yes
|
|
|
|
firstName
|
yes
|
string
|
min1,max 30
|
blank:false
|
lastName
|
yes
|
string
|
min1,max 30
|
blank:false
|
emailSecondary
|
no
|
string
|
255 |
email:true
|
emailPrimary
|
|
string
|
255 |
blank:false, email true
|
login
|
|
string
|
min 8,max 50
|
|
passwd
|
|
|
min 8,max 50
|
blank:false
|
workPhone
|
no
|
string
|
min 10,max 30
|
|
cellPhone
|
no
|
string
|
min 10,max 30
|
|
isDeleted
|
yes
|
boolean
|
|
display:false
|
notificationsEnabled
|
yes
|
boolean
|
|
|
dateCreated
|
|
date
|
|
display:false
|
lastUpdated
|
|
date
|
|
display:false
|
tempPasswdExpiry
|
no
|
date
|
|
|
ssoProviderId
|
no
|
string
|
50
|
|
ssoValidatedId
|
no
|
string
|
256
|
|
profileImageUrl
|
no
|
string
|
100
|
|
gender
|
no
|
string
|
10
|
|
|
|
|
|
|
address.street1
|
yes
|
string
|
100
|
|
address.street2
|
yes
|
string
|
100
|
|
address.city
|
yes
|
string
|
50
|
|
address.state
|
yes
|
string
|
50
|
|
address.zip
|
yes
|
string
|
20
|
|
address.country
|
yes
|
string
|
50
|
|
address.countryCode
|
yes
|
string
|
3
|
|
|
|
|
|
|
CreditCardPaymentMethod
|
|
|
|
|
cardNumber
|
yes
|
string
|
100
|
blank:false, creditCard:true
|
expiry
|
yes
|
date
|
100
|
blank:false, creditCard:true
|
cardType
|
yes
|
string
|
16
|
|
cardholderName
|
no
|
string
|
200
|
|
cvv
|
no
|
string
|
min3, max 4
|
Transient, never stored/saved
|
|
|
|
|
|
HouseCreditPaymentMethod
|
|
|
|
|
invoiceText
|
yes
|
string
|
100
|
blank:false
|
notes
|
no
|
string
|
100
|
|
|
|
|
|
|
CheckPaymentMethod
|
|
|
|
|
institutionName
|
yes
|
string
|
50
|
blank:false
|
checkNumber
|
yes
|
string
|
8
|
blank:false
|
checkDate
|
yes
|
date
|
|
|
notes
|
no
|
string
|
100
|
|
status
|
yes
|
string
|
16
|
inList: Draft,Error,Declined, Paid,Voided,Reversed
|
|
|
|
|
|
CashPaymentMethod
|
|
|
|
|
notes
|
no
|
string
|
100
|
|
|
|
|
|
|
AchPaymentMethod
|
|
|
|
|
abaRoutingNumber
|
yes
|
string
|
min 9, max 64
|
blank:false
|
accountNumber
|
yes
|
string
|
min 9, max 128
|
blank:false
|
institutionName
|
yes
|
string
|
50
|
blank:false
|
accountType
|
yes
|
string
|
16
|
blank:false,inList:accountTypes
|
accountName
|
yes
|
string
|
50
|
blank:false
|
autopayPreference
|
yes
|
Integer
|
Range:0 to 3
|
Numbers 1 to 3 imply this should be used for automatic payments
|
|
|
|
|
|
SubscriptionOrder
|
|
|
|
|
customer
|
yes
|
customer
|
|
|
biller
|
no
|
biller
|
|
|
parentOrder
|
no
|
SubscriptionOrder
|
|
orderNumber
|
yes
|
string
|
20
|
blank:true
|
orderStatus
|
yes
|
string
|
|
blank:false
|
notes
|
no
|
string
|
100
|
|
invoiceNotes
|
no
|
string
|
255
|
|
currency
|
yes
|
currency
|
|
|
totalLifetimeValue
|
no
|
BigDecimal
|
|
|
recurringRevenue
|
no
|
BigDecimal
|
|
|
contractOffering
|
yes
|
contractOffering
|
|
invoiceText
|
no
|
string
|
50
|
|
startDate
|
no
|
date
|
|
|
endDate
|
no
|
date
|
|
|
billingPeriod
|
yes
|
string
|
|
blank:false,inList:Daily,Weekly, BiWeekly,Monthly,Quarterly, BiAnnual,Yearly,5-Yearly, 10-Yearly,20-Yearly, 25-Yearly
|
dueDateValue
|
yes
|
integer
|
|
|
dueDateUnits
|
yes
|
string
|
|
blank:false,inList:Days,Weeks, Months,Quarters,Years
|
isAutoRenew
|
yes
|
boolean
|
|
|
isAutoPay
|
yes
|
boolean
|
|
|
isSeparateInvoice
|
yes
|
boolean
|
|
|
nextBillableDate
|
no
|
date
|
|
deprecated
|
purchaseOrderNo
|
no
|
string
|
25
|
|
orderType
|
no
|
string
|
16
|
inList: Subscription. Installment
|
originalAmount
|
no
|
BigDecimal
|
scale:2
|
|
payoffAmount
|
no
|
BigDecimal
|
scale:2
|
|
installmentsRemaining
|
no
|
integer
|
|
|
numberOfRenewals
|
no
|
integer
|
|
|
lastRenewalDate
|
no
|
date
|
|
|
|
|
|
|
|
OrderLineItem
|
|
|
|
|
subscriptionOrder
|
yes
|
subscriptionOrder
|
|
position
|
yes
|
integer
|
|
|
contractCharge
|
yes
|
contractCharge
|
|
priceCode
|
no
|
string
|
50
|
blank:true,this should really be not-null, but we'd need a migration script then
|
invoiceText
|
no
|
string
|
50
|
|
quantity
|
no
|
double
|
|
|
totalLifetimeValue
|
no
|
BigDecimal
|
|
|
isActive
|
yes
|
boolean
|
|
|
unitPrice
|
no
|
BigDecimal
|
scale:2
|
|
amount
|
no
|
BigDecimal
|
scale:2
|
|
percent
|
no
|
BigDecimal
|
scale:4
|
|
nextBillableDate
|
no
|
date
|
|
|
pricingTiers
|
no
|
string
|
1024
|
|
|
|
|
|
|
|
|
|
|
|
Activity
|
|
|
|
|
customer
|
yes
|
customer
|
|
|
order
|
yes
|
|
|
|
orderLineItem
|
yes
|
orderLineItem
|
|
extRefId
|
no
|
string
|
16
|
|
source
|
no
|
string
|
16
|
|
invoiceText
|
no
|
string
|
250
|
xpanded InvoiceLineItemCharge.smartInvoiceText
|
unitPrice
|
no
|
BigDecimal
|
scale 2
|
|
quantity
|
no
|
BigDecimal
|
|
|
amount
|
no
|
BigDecimal
|
scale 2
|
amount can be rated during invoice creation
|
chargeDate
|
yes
|
date
|
|
|
chargeDate
|
no
|
date
|
|
|
status
|
yes
|
string
|
|
inList:Draft,Unbiled,Processed
|
invoiceLineItemCharge
|
no
|
invoiceLineItemCharge
|
activityBatch
|
no
|
activityBatch
|
|
purchaseOrderNo
|
no
|
string
|
25
|
|
description
|
no
|
string
|
256
|
|
|
|
|
|
|
|
|
|
|
|
Sign Up
|
|
|
|
|
status
|
|
|
|
inList: DRAFT,READY,PROCESSED
|
tracking
|
no
|
string
|
|
|
hideCustomerFields
|
no
|
boolean
|
|
|
companyName
|
no
|
string
|
50
|
blank:true
|
extCustomerRef
|
no
|
string
|
50
|
unique:org
|
login
|
no
|
string
|
min 6,max 50
|
unique: 'org'
|
passwd
|
no
|
string
|
min 8,max 50
|
matches:"^\\w*(?=\\w*\\d)(?=\\w*[a-z])(?=\\w*[A-Z])\\w*\$"
|
firstName
|
no
|
string
|
min 1,max 30
|
|
lastName
|
no
|
string
|
min 1,max 30
|
|
phone
|
no
|
string
|
min 1,max 30
|
|
email
|
no
|
string
|
|
email:true
|
street
|
no
|
string
|
100
|
|
city
|
no
|
string
|
50
|
|
state
|
no
|
string
|
50
|
|
zipcode
|
no
|
string
|
20
|
|
country
|
no
|
string
|
50
|
|
hideOrderFields
|
no
|
boolean
|
|
|
sku
|
no
|
string
|
50
|
|
contractCode
|
no
|
string
|
50
|
|
contractOffering
|
no
|
contractOffering
|
|
startDate
|
no
|
date
|
|
|
quantity
|
no
|
double
|
|
|
orderNumber
|
no
|
string
|
20
|
|
invoiceNumber
|
no
|
string
|
20
|
|
paymentApprovalCode
|
no
|
string
|
32
|
|
paymentAmount
|
no
|
BigDecimal
|
|
|
hideCouponFields
|
no
|
boolean
|
|
|
couponCode
|
no
|
string
|
16
|
|
billerCode
|
no
|
string
|
10
|
|
cardNumber
|
no
|
string
|
100
|
|
expiry
|
no
|
date
|
|
|
cardType
|
no
|
string
|
|
inList:Mastercard,Amex,Visa, Discover,JCB,Diners
|
cardholderName
|
no
|
string
|
200
|
|
cvv
|
no
|
string
|
min3, max 4
|
|
tosLink
|
no
|
string
|
|
|
tosAccepted
|
yes
|
boolean
|
|
|
savePaymentMethod
|
yes
|
boolean
|
|
|
successURL
|
yes
|
string
|
|
blank:false
|
failURL
|
yes
|
string
|
|
blank:false
|
cssURL
|
yes
|
string
|
|
blank:false
|
ssoProviderId
|
no
|
string
|
50
|
|
ssoValidatedId
|
no
|
string
|
256
|
|
ssoProfileImageUrl
|
no
|
string
|
100
|
|
ssoGender
|
no
|
string
|
10
|
|
autopayPreferenceNo
|
no
|
interger
|
min 0 max 3
|
|
biller
|
no
|
biller
|
|
|
orderAmounts
|
no
|
string
|
64
|
|
|
|
|
|
|
| | | | |
|
|