Overview
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:| Field | Description | Format |
|---|---|---|
| id | The unique id of this lifecycle event | Numeric |
| userId | The id in your DB of the client who triggered this event, as passed in when initially registering a user in the Tight API | String |
| accountantUserId | If this event was triggered by a bookkeeper, the id in your DB of the bookkeeper | String |
| date | The timestamp, in milliseconds since the Unix epoch, of this event | Numeric |
| event | The name of this lifecycle event | String |
Key Activation Events
Show companyCreated
Show companyCreated
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the company | Numeric |
Show bankLinkShown*
Show bankLinkShown*
Show bankLinked
Show bankLinked
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank connection | Numeric |
| apiName | Name of the API, e.g. "PLAID", used for the bank connection | String |
| numAccounts | Number of accounts linked in this connection | Numeric |
Show transactionsProcessed
Show transactionsProcessed
| Field | Description | Format |
|---|---|---|
| apiName | Name of the integration or source being ingested | String |
| count | Number of transactions processed | Numeric |
| reconciledCount | Number of transactions that were automatically reconciled | Numeric |
| needsUserReviewCount | Number of transactions that need to be reviewed by the end user | Numeric |
| needsBookkeeperReviewCount | Number of transactions ingested that need to be reviewed by a bookkeeper | Numeric |
Key Notification Events
Show bankDiscrepancyFound
Show bankDiscrepancyFound
| Field | Description | Format |
|---|---|---|
| Field | Description | Format |
| entityId | Unique identifier of the bank account found to be discrepant | Numeric |
Show bankLinkError
Show bankLinkError
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank connection | Numeric |
| apiName | Name of the API, e.g. "PLAID", used for the bank connection | String |
Show closingCompleted
Show closingCompleted
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the completed closing | Numeric |
| period | Period of the closing | One of: "YEAR_END_CLOSING", "MONTH_END_CLOSING" |
| accountId | Unique identifier 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 |
Show integrationError
Show integrationError
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the integration | Numeric |
| apiName | Name of the API integration, e.g. "UNIT", "SQUARE" | String |
Show invoicePaid
Show invoicePaid
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier 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: "DIRECT", "CREDIT", "ACH" |
| autoCharge | Whether this invoice was automatically charged to a stored payment method | Boolean |
Show invoiceViewed
Show invoiceViewed
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the invoice viewed | Numeric |
Show transactionsProcessed
Show transactionsProcessed
| Field | Description | Format |
|---|---|---|
| apiName | Name of the integration or source being ingested | String |
| count | Number of transactions processed | Numeric |
| reconciledCount | Number of transactions that were automatically reconciled | Numeric |
| needsUserReviewCount | Number of transactions that need to be reviewed by the end user | Numeric |
| needsBookkeeperReviewCount | Number of transactions ingested that need to be reviewed by a bookkeeper | Numeric |
All events
Accounting Events
Show accountingCoAShown*
Show accountingCoAShown*
Show accountingCoABalanceSheetPressed*
Show accountingCoABalanceSheetPressed*
Show accountingImportScreenShown*
Show accountingImportScreenShown*
Show accountingJournalShown*
Show accountingJournalShown*
Show accountingJournalTrialBalancePressed*
Show accountingJournalTrialBalancePressed*
Show accountingGLShown*
Show accountingGLShown*
Show accountingGLDownloaded
Show accountingGLDownloaded
| Field | Description | Format |
|---|---|---|
| entityId | Id of the GL account downloaded | Numeric |
Show accountingImportStarted
Show accountingImportStarted
| Field | Description | Format |
|---|---|---|
| apiName | Name of the service the data was imported from | One of: "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 |
Show accountingImportMappingStepCompleted
Show accountingImportMappingStepCompleted
| Field | Description | Format |
|---|---|---|
| apiName | Name of the service the data was imported from | One of: "QBO", "XERO", "BENCH" |
Show accountingImportCompleted
Show accountingImportCompleted
| Field | Description | Format |
|---|---|---|
| apiName | Name of the service the data was imported from | One of: "QBO", "XERO", "BENCH" |
| transactionCount | Number of transactions imported | Numeric |
| invoiceCount | Number of invoices imported | Numeric |
Show accountingJournalEntryCreated
Show accountingJournalEntryCreated
| Field | Description | Format |
|---|---|---|
| entityId | Id of the created journal entry | Numeric |
Show accountingJournalEntryEdited
Show accountingJournalEntryEdited
| Field | Description | Format |
|---|---|---|
| entityId | Id of the edited journal entry | Numeric |
Show accountingJournalEntryDeleted
Show accountingJournalEntryDeleted
| Field | Description | Format |
|---|---|---|
| entityId | Id of the deleted journal entry | Numeric |
Business Intelligence Tile Events
Show biTilePressed*
Show biTilePressed*
| Field | Description | Format |
|---|---|---|
| name | Name of the Business Intelligence Tile that was pressed | String |
Show biTileBannerPressed*
Show biTileBannerPressed*
| Field | Description | Format |
|---|---|---|
| name | Name of the Business Intelligence Onboarding Banner that was pressed | String |
Bank Events
Show bankAccountMerged
Show bankAccountMerged
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank account | Numeric |
| apiName | Name of the API, e.g. "PLAID", that the bank account belongs to | String |
| type | Type of bank account | One of: "CREDIT", "DEPOSITORY" |
| mergedIntoId | Unique identifier of the account this account was merged into | Numeric |
Show bankDiscrepancyFound
Show bankDiscrepancyFound
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank account found to be discrepant | Numeric |
Show bankLinked
Show bankLinked
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank connection | Numeric |
| apiName | Name of the API, e.g. "PLAID", used for the bank connection | String |
| numAccounts | Number of accounts linked in this connection | Numeric |
Show bankLinkError
Show bankLinkError
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank connection | Numeric |
| apiName | Name of the API, e.g. "PLAID", used for the bank connection | String |
Show bankLinkShown*
Show bankLinkShown*
Show bankLinkRepaired
Show bankLinkRepaired
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank connection | Numeric |
| apiName | Name of the API used for the bank connection | String |
Show bankStatementIngested
Show bankStatementIngested
| Field | Description | Format |
|---|---|---|
| bankAccountId | Unique identifier of the bank account for this statement | Numeric |
| closingId | Unique identifier of the closing for this statement, if available | Numeric |
| statementDate | Date of the statement, formatted as YYYY-MM | String |
| statementUrl | Link to the statement PDF | String |
Show bankReconciliationCompleted
Show bankReconciliationCompleted
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the completed reconciliation | Numeric |
| accountId | Unique identifier of the account being reconciled | Numeric |
| transactionCount | Number of transactions in the reconciliation | 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 |
Show bankReconciliationHistoricalDashShown*
Show bankReconciliationHistoricalDashShown*
Show bankUnlinked
Show bankUnlinked
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the bank connection | Numeric |
| apiName | Name of the API, e.g. "PLAID", used for the bank connection | String |
| numAccounts | Number of accounts unlinked in this connection | Numeric |
Closing Events
Show closingCompleted
Show closingCompleted
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the completed closing | Numeric |
| accountId | Unique identifier 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 |
Show closingHistoricalDashShown*
Show closingHistoricalDashShown*
Company Events
Show companyCreated
Show companyCreated
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the company | Numeric |
Show companyDeleted
Show companyDeleted
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the company | Numeric |
Show companyDataPermanentlyDeleted
Show companyDataPermanentlyDeleted
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the company | Numeric |
Invoicing Events
Show invoiceSetupCompleted
Show invoiceSetupCompleted
Show invoiceCanceled
Show invoiceCanceled
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the invoice canceled | Numeric |
| type | Type of the invoice before it was canceled | One of: "OPEN", "CANCELLED", "DRAFT", "REFUNDED", "SCHEDULED" |
Show invoiceDrafted
Show invoiceDrafted
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the invoice drafted | Numeric |
Show invoicePaid
Show invoicePaid
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier 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: "DIRECT", "CREDIT", "ACH" |
| autoCharge | Whether this invoice was automatically charged to a stored payment method | Boolean |
Show invoicePaymentProcessingSetupCompleted
Show invoicePaymentProcessingSetupCompleted
| Field | Description | Format |
|---|---|---|
| paymentProcessor | Which payment processor the user set up | One of: "STRIPE", "QUALPAY", "MOOV" |
Show invoiceRefunded
Show invoiceRefunded
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the invoice refunded | Numeric |
Show invoiceScheduled
Show invoiceScheduled
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the scheduled invoice | Numeric |
| scheduledDate | Date the invoice is scheduled to send, in milliseconds since the Unix epoch | Numeric |
Show invoiceSent
Show invoiceSent
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the invoice sent | Numeric |
| frequency | The recurrence frequency of the invoice | One of: "ONE_TIME", "WEEKLY", "BI_WEEKLY", "MONTHLY", "YEARLY", "AFTER_TWO_MINS" (Note: "AFTER_TWO_MINS" is solely for dev/testing purposes) |
| sendMethod | How the invoice was sent | One of: "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 |
Show invoiceViewed
Show invoiceViewed
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the invoice viewed | Numeric |
Integration Events
Show integrationLinked
Show integrationLinked
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the integration | Numeric |
| apiName | Name of the API integration, e.g. "UNIT", "SQUARE" | String |
Show integrationUnlinked
Show integrationUnlinked
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the integration | Numeric |
| apiName | Name of the API integration, e.g. "UNIT", "SQUARE" | String |
Show integrationError
Show integrationError
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the integration | Numeric |
| apiName | Name of the API integration, e.g. "UNIT", "SQUARE" | String |
Show integrationRepaired
Show integrationRepaired
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the integration | Numeric |
| apiName | Name of the API integration, e.g. "UNIT", "SQUARE" | String |
Show integrationQboTokenRefreshed
Show integrationQboTokenRefreshed
| Field | Description | Format |
|---|---|---|
| accessToken | QBO access token for the user | String |
| refreshToken | QBO refresh token for the user | String |
| tenantId | QBO tenant ID for the user | String |
Show integrationXeroTokenRefreshed
Show integrationXeroTokenRefreshed
| Field | Description | Format |
|---|---|---|
| accessToken | Xero access token for the user | String |
| refreshToken | Xero refresh token for the user | String |
| tenantId | Xero tenant ID for the user | String |
Payroll Events
Show payrollDashShown*
Show payrollDashShown*
Show payrollProcessed
Show payrollProcessed
| Field | Description | Format |
|---|---|---|
| apiName | Name of the payroll provider | One of: "GUSTO", "CHECK" |
| type | Method of ingestion: "AUTO" for direct integration, "MANUAL" for API upload | One of: "AUTO", "MANUAL" |
Reporting Events
Show reportDownloaded
Show reportDownloaded
| Field | Description | Format |
|---|---|---|
| reportName | Name of the report that was downloaded | String |
| fileFormat | Format of the downloaded report file | One of: "PDF", "CSV", "XLS", "XLSX" |
Show reportSent
Show reportSent
| Field | Description | Format |
|---|---|---|
| reportName | Name of the report that was sent | String |
| fileFormat | Format of the sent report file | One of: "PDF", "CSV", "XLS", "XLSX" |
Tax Events
Show taxSetupDisclaimerStepCompleted
Show taxSetupDisclaimerStepCompleted
Show taxSetupCompleted
Show taxSetupCompleted
Show taxSetupEdited
Show taxSetupEdited
| Field | Description | Format |
|---|---|---|
| countryCode | Country code, e.g. "US", "CA" | String |
| federalStatus | Federal filing status, e.g. "SINGLE", "MARRIED" | String |
| stateStatus | State filing status, e.g. "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 | Numeric |
| automateSalesTax | Whether to automate sales tax (CA only) | Boolean |
| useUserVehicleUsePercent | Whether to use user’s vehicle use percentage instead of the app’s estimate | Boolean |
Show taxFilingStarted
Show taxFilingStarted
| Field | Description | Format |
|---|---|---|
| apiName | Name of the tax filing service | String |
Show taxFilingCompleted
Show taxFilingCompleted
| Field | Description | Format |
|---|---|---|
| apiName | Name of the tax filing service | String |
Transaction Events
Show transactionsProcessed
Show transactionsProcessed
| Field | Description | Format |
|---|---|---|
| apiName | Name of the integration or source being ingested | String |
| count | Number of transactions processed | Numeric |
| reconciledCount | Number of transactions that were automatically reconciled | Numeric |
| needsUserReviewCount | Number of transactions that need to be reviewed by the end user | Numeric |
| needsBookkeeperReviewCount | Number of transactions ingested that need to be reviewed by a bookkeeper | Numeric |
Show transactionRecategorized
Show transactionRecategorized
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the transaction | Numeric |
| apiName | Name of the integration or source of the transaction | String |
| oldCategory | Old category of the transaction | String |
| category | New category of the transaction | String |
| reviewStatus | Current review status of the transaction | One of: "PARTNER_REVIEW_REQUIRED", "USER_REVIEW_REQUIRED", "ACCOUNTANT_REVIEW_REQUIRED", "RECONCILIATION_DISCREPANCY" |
Show transactionReceiptAdded
Show transactionReceiptAdded
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the transaction | Numeric |
Show transactionReceiptDeleted
Show transactionReceiptDeleted
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the transaction | Numeric |
Show transactionRuleSuggested
Show transactionRuleSuggested
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the transaction rule | Numeric |
| type | Type of transactions the rule applies to | One of: "REVENUE", "EXPENSE" |
| matchType | Type of matching algorithm applied | One of: "EXACT_NAME", "NON_EXACT_NAME" |
Show transactionRuleRejected
Show transactionRuleRejected
| Field | Description | Format |
|---|---|---|
| entityId | Unique identifier of the transaction rule | Numeric |
| type | Type of transactions the rule applies to | One of: "REVENUE", "EXPENSE" |
| matchType | Type of matching algorithm applied | One of: "EXACT_NAME", "NON_EXACT_NAME" |