Flinks offers multiple categorization capabilities that transform raw transaction data into structured, actionable insights. This guide explains the different categorization types and how they work together.
Broad Categorization vs Transaction Categorization
Flinks provides two levels of categorization:
Broad Categorization
Assigns a Category and SubCategory to every transaction. This is included as part of the Enrich product and provides a standardized view of spending and income patterns.
- Covers all transaction types (debits and credits)
- Assigns one of 15+ primary categories (e.g., Food & Dining, Income, Utilities)
- Available for both Canadian and US transactions
- For the full list, see Transaction Categorization
Transaction Categorization (Attributes)
Goes deeper than broad categorization by extracting specific financial signals used in lending, underwriting, and risk assessment. Available through Enrich Attributes packages, this includes:
- Income detection and classification
- Recurring payment identification
- NSF (non-sufficient funds) and overdraft tracking
- Loan and cash advance detection
- Custom attribute packages tailored to specific use cases
Income detection
Flinks identifies and classifies income transactions, distinguishing between:
- Employment income — Regular salary and wage deposits
- Government benefits — Social assistance, tax refunds, pension payments
- Freelance / gig income — Irregular income from multiple sources
- Other income — Interest, dividends, rental income
Use cases
| Use case | How income detection helps |
|---|
| Lending | Verify stated income against actual deposits for affordability assessment |
| BNPL (Buy Now, Pay Later) | Assess repayment capacity in real time before approving a purchase |
| Account opening | Understand a customer’s income profile during onboarding |
Categorization accuracy
Flinks categorization models achieve >85% accuracy across transaction types, with continuous improvement as models are retrained on new data.
Factors that affect accuracy:
- Transaction string quality — Banks format transaction descriptions differently. Some include merchant names, while others use abbreviated codes.
- Region and language — Models perform best on English and French transactions in Canada and the US.
- Transaction type — Common merchants (major retailers, utilities) have higher accuracy than niche or local businesses.
Merchant normalization
Raw transaction descriptions from banks are often cryptic:
CHECKCARD 0315 STARBUCKS STORE 12345 TORONTO ON
Flinks normalizes these into clean, readable merchant names:
Merchant normalization:
- Strips transaction codes, dates, and location suffixes
- Maps variations of the same merchant to a single canonical name
- Works across different banks and transaction formats
This makes it possible to aggregate spending by merchant across accounts and institutions.
Custom rules
Clients can layer their own categorization rules on top of Flinks attributes. This is useful for:
- Reclassifying transactions based on your business logic
- Adding industry-specific categories not in the standard taxonomy
- Flagging specific merchants or transaction patterns
Custom rules are applied after Flinks categorization, so you always receive the base categorization plus your custom overrides.
Coverage
| Region | Broad Categorization | Transaction Categorization (Attributes) |
|---|
| Canada | Supported | Supported |
| United States | Supported | Supported |
Accuracy varies by region and language. Transaction string quality depends on the financial institution — some banks provide detailed descriptions while others use abbreviated codes.