Lifecycle Event Dictionary

If your team is planning to optimize activation and retention funnels within your accounting product, your team will certainly be interested in the lifecycle events tracked within the Tight ecosystem, by way of Data Lakes, webhooks, and native analytics integrations including Mixpanel.

Events and metadata

Irrespective of what mechanism you're using to consume the lifecycle events, the following data is available to you on each event:

FieldDescriptionFormat
idThe unique id of this lifecycle eventNumeric
userIdThe id in your DB of the client who triggered this event, as passed in when initially registering a user in the Tight APIString
dateThe timestamp, in milliseconds since the Unix epoch, of this eventNumeric
eventThe name of this lifecycle eventString

Additionally, event-specific metadata attributes are also provided as documented below. Events marked with * are only available via the Embedded Experience.

📘

Custom Lifecycle Events

The Tight API team can customize events to power your ideal user experience. Don't hesitate to email us at [email protected] if you are looking for something that you don't see below.

Accounting Events

accountingClosingHistoricalDashShown

accountingClosingCreated
Field Description Format
entityId Id of the created closing Numeric
period Period of the closing One of the following: "YEAR_END_CLOSING", "MONTH_END_CLOSING"
accountId Id of the account being closed Numeric
transactionCount Number of transactions in the closing Numeric
startDate Start date of the closing period, in milliseconds since the Unix epoch Numeric
endDate End date of the closing period, in milliseconds since the Unix epoch Numeric
accountingClosingCreationCanceled*
Field Description Format
accountId Id of the account being closed Numeric
period Period of the closing One of the following: "YEAR_END_CLOSING", "MONTH_END_CLOSING"
transactionCount Number of transactions in the closing Numeric
startDate Start date of the closing period, in milliseconds since the Unix epoch Numeric
endDate End date of the closing period, in milliseconds since the Unix epoch Numeric
accountingClosingCompleted
Field Description Format
entityId Id of the completed closing Numeric
period Period of the closing One of the following: "YEAR_END_CLOSING", "MONTH_END_CLOSING"
accountId Id of the account being closed Numeric
transactionCount Number of transactions in the closing Numeric
startDate Start date of the closing period, in milliseconds since the Unix epoch Numeric
endDate End date of the closing period, in milliseconds since the Unix epoch Numeric
accountingClosingEdited
Field Description Format
entityId Id of the edited closing Numeric
period Period of the closing One of the following: "YEAR_END_CLOSING", "MONTH_END_CLOSING"
accountId Id of the account being closed Numeric
transactionCount Number of transactions in the closing Numeric
startDate Start date of the closing period, in milliseconds since the Unix epoch Numeric
endDate End date of the closing period, in milliseconds since the Unix epoch Numeric
accountingClosingEditCanceled*
Field Description Format
entityId Id of the closing being edited Numeric
period Period of the closing One of the following: "YEAR_END_CLOSING", "MONTH_END_CLOSING"
accountId Id of the account being closed Numeric
transactionCount Number of transactions in the closing Numeric
startDate Start date of the closing period, in milliseconds since the Unix epoch Numeric
endDate End date of the closing period, in milliseconds since the Unix epoch Numeric
accountingClosingDeleted
Field Description Format
entityId Id of the deleted closing Numeric
period Period of the closing One of the following: "YEAR_END_CLOSING", "MONTH_END_CLOSING"
accountId Id of the account being closed Numeric
transactionCount Number of transactions in the closing Numeric
startDate Start date of the closing period, in milliseconds since the Unix epoch Numeric
endDate End date of the closing period, in milliseconds since the Unix epoch Numeric

accountingCoAShown*

accountingCoABalanceSheetPressed*

accountingGLShown*
Field Description Format
entityId Id of the GL account being viewed Numeric
accountNo Account number of the GL account being viewed Numeric
type Type of the GL account being viewed One of the following: "ASSET", "LIABILITY", "EQUITY", "INCOME", "EXPENSE", "COGS", "OTHER_INCOME", "OTHER_EXPENSE", "SUSPENSE"
accountingGLAccountCreated
Field Description Format
entityId Id of the created GL account Numeric
accountNo Account number of the created GL account Numeric
type Type of the created GL account One of the following: "ASSET", "LIABILITY", "EQUITY", "INCOME", "EXPENSE", "COGS", "OTHER_INCOME", "OTHER_EXPENSE", "SUSPENSE"
accountingGLAccountEdited
Field Description Format
entityId Id of the edited GL account Numeric
accountNo Account number of the edited GL account Numeric
type Type of the edited GL account One of the following: "ASSET", "LIABILITY", "EQUITY", "INCOME", "EXPENSE", "COGS", "OTHER_INCOME", "OTHER_EXPENSE", "SUSPENSE"
accountingGLAccountDeleted
Field Description Format
entityId Id of the deleted GL account Numeric
accountNo Account number of the deleted GL account Numeric
type Type of the deleted GL account One of the following: "ASSET", "LIABILITY", "EQUITY", "INCOME", "EXPENSE", "COGS", "OTHER_INCOME", "OTHER_EXPENSE", "SUSPENSE"
accountingGLDownloaded
Field Description Format
entityId Id of the GL account downloaded Numeric

accountingImportScreenShown*

accountingImportStarted
Field Description Format
apiName Name of the service the data was imported from One of the following: "QBO", "XERO", "BENCH"
hasChartOfAccounts Whether a chart of accounts was provided Boolean
hasJournalReport Whether a journal report was provided Boolean
hasBeginningBalanceSheet Whether a beginning balance sheet was provided Boolean
hasEndingBalanceSheet Whether an ending balance sheet was provided Boolean
hasInvoiceFile Whether an invoices file was provided Boolean
hasEndingProfitAndLoss Whether an ending profit and loss statement was provided Boolean
accountingImportMappingStepCompleted
Field Description Format
apiName Name of the service the data was imported from One of the following: "QBO", "XERO", "BENCH"
accountingImportCompleted
Field Description Format
apiName Name of the service the data was imported from One of the following: "QBO", "XERO", "BENCH"
transactionCount Number of transactions imported Numeric
invoiceCount Number of invoices imported Numeric

accountingJournalShown*

accountingJournalTrialBalancePressed*

accountingJournalEntryCreated
Field Description Format
entityId Id of the created journal entry Numeric
accountingJournalEntryEdited
Field Description Format
entityId Id of the edited journal entry Numeric
accountingJournalEntryDeleted
Field Description Format
entityId Id of the deleted journal entry Numeric

Business Intelligence Tile Events

biTilePressed*
Field Description Format
name Name of the Business Intelligence Tile that was pressed String
biTileBannerPressed*
Field Description Format
name Name of the Business Intelligence Onboarding Banner that was pressed String

Bank Events

bankAccountCreated
Field Description Format
entityId Unique identifier of the bank account Number
apiName Name of the API, e.g. "PLAID", that the bank account belongs to String
type Type of bank account One of the following: "CREDIT", "DEPOSITORY"
bankAccountEdited
Field Description Format
entityId Unique identifier of the bank account Number
apiName Name of the API, e.g. "PLAID", that the bank account belongs to String
type Type of bank account One of the following: "CREDIT", "DEPOSITORY"
bankAccountDeleted
Field Description Format
entityId Unique identifier of the bank account Number
apiName Name of the API, e.g. "PLAID", that the bank account belongs to String
type Type of bank account One of the following: "CREDIT", "DEPOSITORY"
bankAccountMerged
Field Description Format
entityId Unique identifier of the bank account Number
apiName Name of the API, e.g. "PLAID", that the bank account belongs to String
type Type of bank account One of the following: "CREDIT", "DEPOSITORY"
mergedIntoId Unique identifier of the account this account was merged into Number

bankLinkScreenShown*

bankLinkBankSelected*
Field Description Format
bankName Name of the selected bank String
apiName Name of the API, e.g. "PLAID", used for the bank connection String
bankLinked
Field Description Format
entityId Unique identifier of the bank connection Number
apiName Name of the API, e.g. "PLAID", used for the bank connection String
numAccounts Number of accounts linked in this connection Number
bankUnlinked
Field Description Format
entityId Unique identifier of the bank connection Number
apiName Name of the API, e.g. "PLAID", used for the bank connection String
numAccounts Number of accounts unlinked in this connection Number
bankLinkError
Field Description Format
entityId Unique identifier of the bank connection Number
apiName Name of the API, e.g. "PLAID", used for the bank connection String
bankLinkRepaired
Field Description Format
entityId Unique identifier of the bank connection Number
apiName Name of the API used for the bank connection String

Business Events

businessCreated
Field Description Format
entityId Unique identifier of the created business Numeric
businessEdited
Field Description Format
entityId Unique identifier of the edited business Numeric
businessDeleted
Field Description Format
entityId Unique identifier of the deleted business Numeric

Client Events

clientCreated
Field Description Format
entityId Unique identifier of the created client Number
businessId Unique identifier of the associated business Number
clientEdited
Field Description Format
entityId Unique identifier of the edited client Number
businessId Unique identifier of the associated business Number
clientDeleted
Field Description Format
entityId Unique identifier of the deleted client Number
businessId Unique identifier of the associated business Number

Invoicing Events

invoiceCanceled
Field Description Format
entityId Id of the invoice canceled Numeric
type Type of the invoice before it was canceled One of the following: "OPEN", "CANCELLED", "DRAFT", "REFUNDED", "SCHEDULED"

invoiceDashShown*

invoiceDrafted
Field Description Format
entityId Id of the invoice drafted Numeric
invoiceEdited
Field Description Format
entityId Id of the invoice edited Numeric
type The type of the invoice edited One of the following: "DRAFT", "OPEN", "SCHEDULED", "RECURRING"
invoicePaid
Field Description Format
entityId Id of the paid invoice Numeric
dueDate Due date of the invoice, in milliseconds since the Unix epoch Numeric
paymentMethod Payment method used to pay the invoice One of the following: "DIRECT", "CREDIT", "ACH"
autoCharge Whether this invoice was automatically charged to a stored payment method Boolean
invoicePaymentProcessingSetupStarted*
Field Description Format
paymentProcessor Which payment processor the user is starting to set up One of the following: "STRIPE", "QUALPAY", "MOOV"
source Where the user entered payment processing setup from One of the following: "INVOICE_DASH", "INVOICE_SETTINGS", "INVOICE_SETUP", "INVOICE_FORM"
invoicePaymentProcessingSetupCompleted
Field Description Format
paymentProcessor Which payment processor the user set up One of the following: "STRIPE", "QUALPAY", "MOOV"
invoiceRefunded
Field Description Format
entityId Id of the invoice refunded Numeric
invoiceScheduled
Field Description Format
entityId Id of the scheduled invoice Numeric
scheduledDate Date the invoice is scheduled to send, in milliseconds since the Unix epoch Numeric
invoiceSent
Field Description Format
entityId Id of the invoice sent Numeric
frequency The recurrence frequency of the invoice One of the following: "ONE_TIME", "WEEKLY", "BI_WEEKLY", "MONTHLY", "YEARLY", "AFTER_TWO_MINS"

Note that "AFTER_TWO_MINS" is solely for dev/testing purposes
sendMethod How the invoice was sent One of the following: "CREATE_LINK", "SEND_EMAIL", "SEND_QUOTE"
acceptCash Whether the invoice can be paid with cash Boolean
acceptCredit Whether the invoice can be paid with a credit card Boolean
acceptACH Whether the invoice can be paid with an ACH payment Boolean
autoCharge Whether the invoice will automatically charge a stored payment method Boolean
invoiceSettingsEdited*
Field Description Format
brandColorEdited Whether the user edited their custom brand color Boolean
logoEdited Whether the user edited their custom logo Boolean
defaultNoteEdited Whether the user edited their default invoice note Boolean
defaultTermEdited Whether the user edited their default invoice term Boolean
defaultMarkupPercentEdited Whether the user edited their default expense markup percent Boolean
defaultHourlyRateEdited Whether the user edited their default hourly rate Boolean
hasDueDateReminder Whether the user automatically sends a reminder to pay on the invoice's due date Boolean
hasThreeDayReminder Whether the user automatically sends a reminder to pay three days after the invoice's due date Boolean
hasWeeklyReminder Whether the user automatically sends a reminder to pay an invoice weekly after the invoice's due date Boolean

invoiceSetupStarted*

invoiceSetupBusinessInfoStepCompleted*
Field Description Format
firstNameAdded Whether the user added their first name to their invoices Boolean
lastNameAdded Whether the user added their last name to their invoices Boolean
address1Added Whether the user added a first line to their business address Boolean
address2Added Whether the user added a second line to their business address Boolean
cityAdded Whether the user added a city to their business address Boolean
stateAdded Whether the user added a state to their business address Boolean
zipAdded Whether the user added a zip code to their business address Boolean
phoneAdded Whether the user added a business phone number to their invoices Boolean
invoiceSetupCustomizationStepCompleted*
Field Description Format
logoAdded Whether the user added a custom logo to their invoices Boolean
colorAdded Whether the user added a custom brand color to their invoices Boolean
skipped Whether the user skipped this step of invoice setup Boolean

invoiceSetupCompleted

invoiceSetupCanceled*
Field Description Format
step Which step of invoice setup the user canceled from One of the following: "BUSINESS_INFO", "CUSTOMIZATION", "PAYMENT_PROCESSING"
invoiceViewedByClient*
Field Description Format
entityId Id of the invoice viewed Numeric
invoiceViewedByUser*
Field Description Format
entityId Id of the invoice viewed Numeric

Integration Events

integrationLinked
Field Description Format
entityId Unique identifier of the integration Number
apiName Name of the API integration, e.g. "UNIT", "SQUARE" String
integrationUnlinked
Field Description Format
entityId Unique identifier of the integration Number
apiName Name of the API integration, e.g. "UNIT", "SQUARE" String
integrationError
Field Description Format
entityId Unique identifier of the integration Number
apiName Name of the API integration, e.g. "UNIT", "SQUARE" String
integrationRepaired
Field Description Format
entityId Unique identifier of the integration Number
apiName Name of the API integration, e.g. "UNIT", "SQUARE" String

Mileage Events

mileageDashShown*

mileageCreated
Field Description Format
entityId Unique identifier of the mileage entry Number
count Number of mileage entries created Number
mileageEdited
Field Description Format
entityId Unique identifier of the mileage entry Number
mileageDeleted
Field Description Format
entityId Unique identifier of the mileage entry Number

Payroll Events

payrollDashShown*

payrollAccountCreated
Field Description Format
entityId Unique identifier of the payroll account Number
apiName Name of the payroll provider One of the following: "GUSTO", "CHECK"
payrollIngestionStarted
Field Description Format
apiName Name of the payroll provider One of the following: "GUSTO", "CHECK"
type Method of ingestion: "AUTO" for direct integration, "MANUAL" for API upload One of the following: "AUTO", "MANUAL"
payrollIngestionCompleted
Field Description Format
apiName Name of the payroll provider One of the following: "GUSTO", "CHECK"
type Method of ingestion: "AUTO" for direct integration, "MANUAL" for API upload One of the following: "AUTO", "MANUAL"

Reporting Events

reportDownloaded
Field Description Format
reportName Name of the report that was downloaded String
fileFormat Format of the downloaded report file One of the following: "PDF", "CSV", "XLS", "XLSX"
reportRowPressed*
Field Description Format
reportName Name of the report where the row was pressed String
rowName Name of the row that was pressed String
reportSent
Field Description Format
reportName Name of the report that was sent String
fileFormat Format of the sent report file One of the following: "PDF", "CSV", "XLS", "XLSX"
reportShown*
Field Description Format
reportName Name of the report being viewed String
startDate Start date of the report's date range Date
endDate End date of the report's date range Date
grouping How the report data is grouped String

Tax Events

taxDashShown*

taxDashScheduleCPressed*

taxDashTaxDetailsPressed*

taxDashFileTaxesPressed*

taxSetupStarted*

taxSetupStateStepCompleted*
Field Description Format
state State or Province selected in the setup process String
taxSetupFilingStatusStepCompleted*
Field Description Format
federalStatus Federal filing status selected in the setup process String
skipped Whether this step was skipped Boolean
taxSetupSalaryStepCompleted*
Field Description Format
hasSalaryIncome Whether the user has income from a full-time job or other employment Boolean

taxSetupDisclaimerStepCompleted

taxSetupCompleted

taxSetupEdited
Field Description Format
countryCode Country code, ex: "US", "CA" String
federalStatus Federal filing status, ex: "SINGLE", "MARRIED" String
stateStatus State filing status, ex: "SINGLE", "MARRIED" String
state State or Province String
hasSalaryIncome Whether the user has income from a full-time job or other employment Boolean
useUserWageWitholdingEstimate Whether to use user's wage withholding estimate instead of the app's estimate Boolean
useMileageDeduction Whether to use the Standard Mileage Rate method for mileage deduction Boolean
useSimpleHomeOfficeDeduction Whether to use simple home office deduction Boolean
useUserBusinessIncomeEstimate Whether to use user's business income estimate instead of the app's estimate Boolean
numDependents Number of dependents Number
automateSalesTax Whether to automate sales tax (CA only) Boolean
useUserVehicleUsePercent Whether to use user's vehicle use percentage instead of the app's estimate Number
taxSetupCanceled*
Field Description Format
step Step at which the setup was canceled One of the following: "STATE", "FILING_STATUS", "SALARY", "DISCLAIMER"
taxFilingStarted
Field Description Format
apiName Name of the tax filing service String
taxFilingCompleted
Field Description Format
apiName Name of the tax filing service String

Transaction Events

transactionDashShown*
Field Description Format
type Which transaction dash is being viewed One of the following: "EXPENSE", "REVENUE", "ALL"
transactionCreated
Field Description Format
entityId Unique identifier of the transaction Number
apiName Name of the integration or source of the transaction String
type Type of transaction One of the following: "EXPENSE", "REVENUE", "BANK_TRANSFER", "TAX_PAYMENT"
reviewStatus Current review status of the transaction One of the following: "PARTNER_REVIEW_REQUIRED", "USER_REVIEW_REQUIRED", "ACCOUNTANT_REVIEW_REQUIRED", "RECONCILIATION_DISCREPANCY"
category Category of the expense, not applicable for other transaction types String
count Number of transactions created Number
needsReviewCount Number of transactions that need review Number
transactionEdited
Field Description Format
entityId Unique identifier of the transaction Number
apiName Name of the integration or source of the transaction String
type Type of transaction One of the following: "EXPENSE", "REVENUE", "BANK_TRANSFER", "TAX_PAYMENT"
reviewStatus Current review status of the transaction One of the following: "PARTNER_REVIEW_REQUIRED", "USER_REVIEW_REQUIRED", "ACCOUNTANT_REVIEW_REQUIRED", "RECONCILIATION_DISCREPANCY"
category Category of the expense, not applicable for other transaction types String
count Number of transactions edited Number
transactionDeleted
Field Description Format
entityId Unique identifier of the transaction Number
apiName Name of the integration or source of the transaction String
type Type of transaction One of the following: "EXPENSE", "REVENUE", "BANK_TRANSFER", "TAX_PAYMENT"
reviewStatus Current review status of the transaction One of the following: "PARTNER_REVIEW_REQUIRED", "USER_REVIEW_REQUIRED", "ACCOUNTANT_REVIEW_REQUIRED", "RECONCILIATION_DISCREPANCY"
category Category of the expense, not applicable for other transaction types String
count Number of transactions deleted Number
transactionIngestStarted
Field Description Format
apiName Name of the integration or source being ingested String
transactionIngestCompleted
Field Description Format
apiName Name of the integration or source being ingested String
count Number of transactions ingested Number
transactionReceiptAdded
Field Description Format
entityId Unique identifier of the transaction Number
transactionReceiptDeleted
Field Description Format
entityId Unique identifier of the transaction Number

📘

Events marked with * are only available via the Embedded Experience