Enrich

Enrich converts your banking transaction data into actionable insights by securely applying advanced tagging, cleaning, and enrichment processes to help you manage your finances effectively.

Overview

The Enrich resource provides detailed transaction data enrichment by enhancing bank transaction descriptions with additional attributes. The service categorises transactions and returns merchant information, location details, and industry-standard categorisation.

The data enrichment process on the Basiq platform involves four key steps:

  • Data Access
  • Data Tagging, Cleaning, and Tokenization
  • Data Enrichment
  • Machine Learning and Final Output

Step 1: Data Access

Access a customer's transaction data by linking their bank accounts through Basiq Connect. Customers must provide consent to securely link their accounts and share their transaction information.

Step 2: Data Tagging, Cleaning, and Tokenization

Once the raw transaction data is collected, it is categorised into debits and credits. Transactions are then tagged, cleaned, and standardised for enrichment. For instance:

  • Debit Transactions: Bank fees, cash withdrawals, loan interest.
  • Credit Transactions: Payments to merchants, refunds, interest earned, loan repayments.

Transactions are standardised to handle inconsistent formats across banks, ensuring reliable and accurate enrichment.

Step 3: Data Enrichment

Enriched data is matched against Basiq’s curated merchant database, which includes merchant identity, location, and categorisation details.

Enrichment provides:

  • Merchant Information: Business name, website, ABN, and contact details.
  • Location Information: Address and geocode location.
  • Category Information: A 4-level hierarchy of industry-standard categorisation.

Step 4: Machine Learning and Final Output

When a transaction cannot be immediately categorised, Basiq's machine learning model steps in. This model analyses transactions using additional data sources to ensure accurate categorisation and enrichment. It continuously improves through dynamic learning with each transaction processed.

You can read complete blog post here.

Enrich API

The Enrich resource enables you to retrieve details by passing in a search query containing a bank transaction description. The service enriches transaction data with multiple attributes, returning a transaction classification and three metadata components. The transaction classification will first determine if the transaction is of type payment, transfer, cash-withdrawal, bank-fee etc. The engine then derives merchant information, purchase location, and prescribes an industry standard categorisation for each payment transaction.

You can subscribe to one or all of the following three core datasets returned depending on your use case:

Data

  • Merchant: Details relating to the store or merchant such as business name, website, ABN, and contact details.
  • Location: Details relating to the location of the entity such as address and geocode location.
  • Category: Industry standard categorisation with a 4-level hierarchy for banking transactions.
  • Links: Provides direct link to the original query and master and thumb merchant logos.

Tags

The tags field is an array of strings that represents the classification of transactions based on various criteria. Here are the available tags and their use cases:

  • Card: Represents card transactions. Example: card:4615 (last four digits of the card number).
  • conduct: Includes various keywords such as card, overdrawn, cheque, atm, currency, late, admin, dishonour, interest.
  • governmentPayment: Includes keywords like centrelink, crisisSupport, education, familyAllowance, jobseekerPymt, medicare, newstart, pension, rentalAssistance, vetAffairs, youthAllowance.
  • income: Includes tags such as childSupport, insurance, investment, rent, salary, superannuation.
  • liability: Includes keywords like afterpay, arl collect pty ltd, australian recoveries, axess, azora, baycorp, beforepay, brighte, bundll, cash converters, cash direct, cashngo, cash stop, cash train, ccc, cfmg pty ltd, charter mercantile, cigno, collectau, collection house, complete credit solutions, credit collection services, credit corp, creditline, deferit, dun and bradstreet, earnd, edstart, finance one, fundo, fupay, gem visa, humm, indebted, klarna, latitude, laybuy, limepay, lion finance, money3, moneyloop, mypaynow, nimble, nine25, openpay, panthera, payitlater, payright, pioneer credit, plenti, probe, q card, quickapay, spotmenow, sunshine loans, tapmypay, wagetap, wallet wizard, zip pay.
  • third-party: Includes tags like apple pay, google, paypal, sp, sq.
  • creditCard: Represents credit card transactions.
  • expense: Includes tags like rent.
  • loan: Includes tags related to loan repayments.
  • mortgage: Includes various mortgage providers and types such as afg home loans, aims, amo group, athena, aussie, bluestone, clickloans, emoney, express reverse mortgage, firstmac, fox symes, freedom lend, freedom loans, funding, heartland reverse mortgages, homeloans, homestar, homestart, household capital, illawarra home loans, keystart, la trobe financial, liberty financial, loans, mortgage house, mortgage offset, mortgageport, mortgage repayment, onetwo, online home loans, pacific mortgage group, pepper money, qantas money, reduce home loans, resi, resimac, sucasa, switzer home loans, ticToc, unloan, vmg, well money.

Query Parameters

Mandatory Arguments

  • q (string, required): The search string used to look up the entity (merchant) information. Example: q=garfish%20MANLY%20NS
  • institution (string, required): Identifies the institution from which the transaction was derived. Must be a Basiq-recognisable institution ID. Example: institution=AU06703
  • country (string, required): Specifies the country for the search. Must be in ISO 3166 Alpha-2 format. Example: country=AU

Optional Arguments

  • mcc (string, optional): Merchant classification code as defined by Visa and Mastercard. Example: mcc=3299
  • accountType (string, optional): The account type from which the transaction was derived. Valid values: transaction, credit-card, savings, mortgage, loan, foreign. Example: accountType=transaction
  • amount (string, optional): The dollar/cent amount relevant to the transaction. Example: amount=-12.95

📘

Note:

If accountType and amount are not provided, the query will be treated as a payment transaction and categorised accordingly.

Request Example

GET /enrich?q=METRO%20PETROLEUM%20FR%20FORE&country=AU&accountType=transaction&amount=-12.95&institution=AU04301
Authorization: Bearer YOUR_ACCESS_TOKEN

Response

The Enrich API will return a 200 HTTP response with a set of results for each dataset subscribed to: category, entity, and location. If no results are found for the search query, an empty result set will be returned. Invalid parameter inputs will result in an error.

Prerequisites

  • Authentication via the Basiq API service is required before calling the Enrich service.
  • The service is only accessible to partners who have been enabled.

For more details, refer to the Enrich API.