Customer

A customer represents "who" to bill. It can represent an individual in business to consumer scenarios, or a company in business to business scenarios.

It is one of the core pieces of setting up an invoice, recurring or otherwise.

The customer object brings together individual contact information, address information, subscriptions, and a payment method in order to process billing. It includes a uniquely generated id, referred to in the UI as a "Stax Bill ID" which is used throughout the API to refer to which customer to perform actions on.

It is associated with a list of subscriptions, payment methods, invoices, and many other objects in the system. In a customer itself, is the customer's basic contact information.

If your company has specialized IDs used throughout multiple systems, it may be useful to leverage the reference field (in the UI this is called "Customer ID" by default) to more readily identify your customer base. The reference field is a string that does not enforce uniqueness.

Only the Stax Bill generated id is guaranteed to be unique across your customer base as well as non-null values for portalUserName.

Customer Object Fields

PropertyTypeDescription
firstNameStringThe first name of the Customer.
middleNameStringThe middle name of the Customer.
lastNameStringThe last name of the Customer.
companyNameStringThe company name associated with this Customer.
suffixStringThe name suffix of the customer, for example Jr. or Sr.
primaryEmailStringThe primary contact email for the Customer. Allows multiple entries in the format [email protected], [email protected] Invoices and other email communications will be sent to this address(es).
primaryPhoneStringThe primary contact number for the Customer.
secondaryEmailStringThe secondary contact email for the Customer. Allows multiple entries in the format "[email protected]; [email protected]; [email protected]". No communications are sent to this address
secondaryPhoneStringThe secondary contact number for the Customer.
titleEnum:{Mr, Mrs, Ms, Miss, Dr}The prefix-title of the customer.
referenceStringThis is typically used to store the reference/Id of this customer in some external system to facilitate matching up the Stax Bill Customer record to that system. In the Admin UI, this can be renamed to something else, but defaults to "Customer ID"
There's no uniqueness check on this field.
statusEnum:{Draft, Active, Hold, Suspended, Cancelled}Customer Status. Actions by users or automation can change the customer status.
New customers are created with a status of Draft. Draft customers can be deleted under specific circumstances. Delete Draft Customer
Active customers can be put on hold Hold Customer or cancelled Cancel Customer
Hold customers can be removed from hold Un-Hold Customer
Customers can be automatically suspended or even cancelled when left in PoorStanding for long enough. Behaves according to settings visible in the admin UI.
Users and integrators can read or override an individual customer's billing behaviors: Customer Billing Settings Object
customerAccountStatusEnum:{Good, Collection, PoorStanding}Customer accounting status. Read Only field set when a customer has any invoices that have status Overdue and are not flagged as disputed. A user/integrator can manually flag as in collections to get the status Collection
currency3 character ISO currency codeCurrency to use for customer transactions. Must be an active currency in the account.
Can only be set during Create Customer or if the customer is in status = draft with no financial transactions.
customerReferenceObject (defined below)This is used to store additional data related to this customer, including sales tracking codes.
customerAcquisitionObject (defined below)This is used to store different details about how this customer was acquired. Generally, this is used to store marketing channel information.
monthlyRecurringRevenueDecimalThe calculated MRR value for this Customer. This is calculated based on the expected income of thier current Subscriptions. Only recurring charges are included in this calculation. One-time goods and physical goods purchases, which do not recur, are not included.
netMonthlyRecurringRevenueDecimalThe net MRR of the customer. Calculated by considering any discounts on the customer's active subscription products.
salesforceIdStringThe Salesforce Account Id associated with this Customer. This field is only populated if you are using the Fusebill Salesforce plugin.
salesforceAccountTypeEnum: {Company, Person}This will dictate how the Salesforce account name will be created. Your options are:
1)"Company" where the company name and Fusebill Id will be combined and used as the account name
2)"Person" where the first and last names will be combined to populate the account name field.
3) NULL, the account level default will be used
salesforceSynchStatusEnum:{Enabled, Disabled}This setting controls if the account will synchronize the Fusebill account with Salesforce.
netsuiteIdStringIf you are using a Netsuite integration this is the number which uniquely identifies the customer in Netsuite.
netsuiteSynchStatusEnum:{Enabled, Disabled}This setting controls if the account will synchronize the Fusebill account with NetSuite.
netsuiteCustomerTypeEnum:{Individual, Company}Identifies the entity type of the customer record in NetSuite.
This field is only populated if you are using the Fusebill NetSuite plugin.
portalUserNameStringIf the customer has login credentials this field contains the username.
parentIdIntegerThe Parent ID relates to the Fusebill hierarchy feature. If hierarchy is enabled, this is the id of the parent customer.​
quickBooksLatchTypeEnum:{CreateNew, LatchExisting, DoNothing}Indicates how Fusebill is handling latching for this customer object and the possible corresponding customer in QuickBooks Online. This is for the QuickBooks Online plugin.
quickBooksIdIntegerThe name ID of this customer in QuickBooks Online. For the QuickBooks Online plugin.
hubSpotIdIntegerThe ID of this customer in HubSpot
hubSpotCompanyIdIntegerThe ID of this customer in HubSpot if it represents a company
geotabIdStringThe Geotab Reseller Customer ID associated with this Fusebill customer entity
modifiedTimestampTimestampThe timestamp of the last time this object was modified.
createdTimestampTimestampThe timestamp of when this customer was created as draft.
idIntegerThe Fusebill generated ID that uniquely identifies this customer.
uriStringFull path to a particular customer object.

Customer Reference Fields

PropertyTypeDescription
reference1StringAn optional open field to hold any alpha-numeric value on the customer.
reference2StringAn optional open field to hold any alpha-numeric value on the customer.
reference3StringAn optional open field to hold any alpha-numeric value on the customer.
salesTrackingCodesObject (defined below)A collection of up to 5 SalesTrackingCode objects

SalesTrackingCode Fields

PropertyTypeDescription
typeString

Identification of the sales tracking code type being set. The sales tracking code type can be configured under the sales tracking code section under your account settings

By default the accepted values are "Sales Tracking Code 1", "Sales Tracking Code 2" ... up to "Sales Tracking Code 5".

If you rename your sales tracking code, those names or the default names can be used.

codeStringThe specific sales tracking code value. The code must exist under the appropriate salestrackingcode type being referenced
nameStringDisplay name
idIntegerThe Fusebill generated ID for the Sales Tracking Code
uriStringThe full path to the Sales Tracking Code object

Customer Acquisition Fields

PropertyTypeDescription
adContentStringTypically used to set the content description for the campaign ad. For all campaigns, or for a particular campaign, this appears as Ad Content under the Segment pull-down in the Analytics Reports.
campaignStringThis variable is used to define the name of your campaign, which appears in the Analytics reports on the top-level campaign report.
keywordStringThese are the words that visitors use to find your Website when using a search engine. Google Analytics provides a list of keywords that have been searched by users who find your Website. This information shows you what searchers are actually looking for when they find your Website. This also allows you to discover potential new keywords to target.
landingPageStringThe first page a visitor views during a session; also known as the entrance page.
mediumStringTypically used to define the type of the campaign, such as a banner ad, email campaign, or click ad. For all campaigns, or for a particular campaign, this appears as Keyword under the Segment pull-down in the Analytics Reports.
sourceStringThe source variable is typically used to define where the campaign is originating from, such as a website name or a company. For all campaigns, or for a particular campaign, this appears as Source under the Segment pull-down in the Analytics Reports.
idIntegerThe Fusebill generated ID for the customer this customer acquisition belongs to
uriStringThe full path to the customer object this customer acquisition belongs to