Customer Billing Settings Object

The customer billing settings resource defines the billing settings for the customer. In specific, these preferences control the payment terms and grace period applied to the customer as well as whether invoices auto post to the account and whether payments are automatically collected from credit card or ACH accounts on file.

Additional preferences may be added in the future so when editing the customer billing settings via the API it is suggested to always perform a GET to retrieve the full customer billing settings list and to then modify the data in that response and PUT that response to perform the edit action. This ensures the PUT action includes all the required customer billing settings fields.

Customer Billing Settings Fields

PropertyTypeDescription
invoiceDayIntegerThis field is deprecated and no longer used.

[Read Only]
termEnum:{Net0, Net5, Net7, Net10, Net15, Net21, Net30, Net45, Net60, Net75, Net90, MFI1, DayOfMonth1, DayOfMonth2, DayOfMonth3, ... DayOfMonth29, DayOfMonth30, DayOfMonth31}This defines the Payment Terms for this Customer.
intervalEnum: {Monthly, Yearly}This field is deprecated and no longer used.

[Read Only]
autoCollectBooleanThis defines whether the billing system will attempt to collect from the customer's payment method on file.

The global auto collect setting is used by default and by setting this field explicitly on the Customer the setting can be overridden for this Customer. This setting can only be explicitly set to True if the customer has a Payment Method, such as a credit card of ACH account, on file.

If set to true then when charges are applied to the Customer the billing system will attempt to collect them in full form the default payment method on file. If set to false the billing system will not collect automatically. If set to null then the billing system will use the global auto collect setting.
autoCollectSettingTypeStringWhen auto collect is set to on, this defines the type of auto collect. CurrentInvoice, OutstandingBalance, or Threshold are acceptable valid strings that can be used to set auto collect behaviour.
dunningExemptBooleanControls whether this customer is exempt from your account's Dunning management settings. Dunning management settings control how and when Fusebill will automatically try to collect the outstanding balance of customers in poor standing. Relevant only for customers subject to auto collect.
rechargeTypeStringThis value should be set to "BringBalanceBackTo" in any case where you want to use the threshold billing feature.
rechargeThresholdAmountDecimalThis is the value which triggers a threshold collection. If the customer balance drops below this number when an invoice is posted the system will automatically collect enough funds to bring the balance back to the rechargeTargetAmount.
rechargeTargetAmountDecimalThis is the customer balance which will be collected when the customer balance dips below the threshold. For example, the threshold amount could be $20 and this value set to $50. In this case, the system will collect funds if to bring the balance back to $50 if the customer drops below $20.
statusOnThresholdBooleanThis setting determines if the customer should enter poor standing if their balance dips below the set threshold and the payment to restore the balance fails.
autoPostDraftInvoiceBooleanControls whether ready draft invoices should be posted automatically or remain in draft to be posted manually. Null means to follow account defaults
hasPaymentMethodBooleanIndicates whether the customer has a payment method [Read Only]
customerGracePeriodIntegerThe number of days a customer can be in poor standing before suspension occurs.
gracePeriodExtensionIntegerThe default number of days a grace period can be manually extended
customerAutoCancelIntegerThe number of days after suspension before the customer is cancelled by the system.
defaultCancelOptionEnum:{Full, None, Unearned}Controls revenue recognition in the event of customer automatic cancellation. "Full" means to reverse all charges fully. "None" means earn all charges. "Unearned" means to reverse unearned amounts for all charges. NULL means to follow the default of the Fusebill account.
standingPoNumberStringThis is the PO number which will be added to this customer's invoices. [Max Length: 255 characters]
billingPeriodConfigurationsObject (defined below)This list is populated it the billing settings at the customer level have been overridden.
acquisitionCostDecimalThis is the cost in dollars spent to acquire this customer. This factors into the customer profitability metric.
showZeroDollarChargesBooleanThis defines if this customer will show or not show $0 charges on their invoices. This can be either true, which means Fusebill will show charges, or false, which means Fusebill will hide these charges, or null which means the customer is using the account level default option.
taxExemptBooleanThis defines if this customer should be charged taxes.
useCustomerBillingAddressBooleanControls whether the shipping address or billing address for taxation purposes. If null, the system will use the account level tax setting configuration, if set to true the system will use the customer's billing address for taxes, and if set to false the system will use the customer's shipping address for taxes.
taxExemptCodeStringThis is the tax exemption code for this customer. If taxExempt is set to True this field must be populated. [Max Length: 255 characters]
avalaraUsageTypeStringThis is a string sent to Alavara for determining the application of various sales taxes. [Max Length: 4 characters]
vatIdentificationNumberIntegerThe number associated with the clients EU Vat ID.
customerServiceStartOptionEnum: { ChargeForAllMissedPeriods, ChargeForLastMIssedPeriods, NoChargesForMissedPeriods, ChargeForCurrentFullPeriod}This setting allows you to specify how you would like the system to behave if a customer is automatically moved from suspend status back to active status as a result of successfully auto-collecting outstanding balances. Null means to follow the account defaults.
rollUpTaxesBooleanThis option determines if the taxes on the customer's invoices will appear 'rolled up' as one line (eg: Taxes: $4.56) or if the will be broken into multiple lines (eg: State Tax: $3.45 and Federal Tax: $1.34). Null means to follow the account defaults
rollUpDiscountsBooleanIf true, all of the discounts for all products and plans on the invoices for this customer will be rolled up into a single line item at the bottom of the invoice. Null follows the default of the Fusebill account.
rollUpPdfsByPlanProductBooleanControls how subscription charges are displayed on downloaded invoices. True means to display summarized subscription product charges. False means to display detailed charges.
rollUpPdfsDisplayNameBooleanControls whether plan names are displayed on summarized invoices
rollUpPdfsDisplayDescriptionBooleanControls whether plan descriptions are displayed on summarized invoices
rollUpPdfsDisplayAllUnitPricesBooleanControls whether all unit prices are displayed on summarized invoices
pdfInvoiceEmailAttachmentOptionEnum:{Details, Summary, Both}Controls how subscription charges are displayed on emailed invoices. "Details" means to show fully detailed charges. "Summary" means to show summarized charges. "Both" means to show both.
trackedItemDisplayObject (defined below)Controls the appearance of tracked items on invoices for the customer.
customerBillingStatementSettingObject (defined below)Controls the billing statement settings for this customer.
defaultPaymentMethodIdIntegerThe Fusebill generated ID of the customer's default payment method.
postReadyChargesOnRenewBooleanControls whether draft ready charges are posted on renewal. This includes new ready draft charges from renewals and any existing ready draft charges from subscriptions and purchases. Null means to follow the Fusebill account default.
idStringThis is the Customer ID of the customer to whom these preferences apply. [Read Only]
uriStringThe full string path to this resource. [Read Only]

Billing Period Configuration Object Fields

PropertyTypeDescription
typeEnum:{SpecifiedDate, CustomerActivation, FirstSubscriptionActivation}Controls when subscriptions of the configured interval are recharged
ruleEnum:{SingleInvoice, MultipleInvoices, OneInvoicePerDay, Prompt}Controls how to invoice. Single Invoice compiles subscriptions of the given interval on one invoice. Multiple Invoices separates them as one invoice per subscription. One Invoice Per Day posts an invoice every day. Prompt requires an agent to approve it each time.
intervalEnum:{Yearly, Monthly}Indicates which type of billing period this configuration applies to.
dayInteger (1-31)The day of the month to recharge. Use only if type is "SpecifiedDate"
monthInteger (1-12)The month of the year to recharge. Use only if type is "SpecifiedDate" and interval is "Yearly"

Tracked Item Display Object Fields

PropertyTypeDescription
trackedItemDisplayFormatEnum:{Inline, SeperatePage}Controls where the tracked items are displayed.
showTrackedItemNameBooleanThis controls if the tracked items names are displayed.
showTrackedItemReferenceBooleanThis controls if the tracked items' reference are displayed.
showTrackedItemDescriptionBooleanThis controls if the tracked items' description are displayed.
showTrackedItemCreatedDateBooleanThis controls if tracked items' created dates are displayed.

Customer Billing Statement Setting Object Fields

PropertyTypeDescription
optionEnum:{Detailed, BySubscription, Summarized}Controls how the statement is generated.
typeEnum:{CustomerAnniversary, SpecifiedDate}The basis for when statements are generated
intervalEnum:{Monthly, Yearly}Controls frequency of statement generation.
dayIntegerThe day of the month to generate the statement if type is "SpecifiedDate"
monthIntegerThe month of the year to generate the statement if type is "SpecifiedDate" and interval is "Yearly".
trackedItemDisplayObject (defined above)Controls how tracked items are displayed on the statement.
statementActivityTypeEnum: {OnlyParentActivity, OnlyChildActivity, ParentAndChildActivity}Controls which activities to generate if customer hierarchy is being used.