Transactions
The Transactions section allows you to retrieve transaction records from your bank accounts connected in FinqTreasury. Use these capabilities to import your bank statements into your accounting or reconciliation processes.
Versioning and transactions references
- Transaction status: pending, booked, cancelled. A transaction can go from status pending to status cancelled or booked. We are currently providing only booked transactions
- Transaction id: a transaction receives a unique id that remains stable over time. If the status or other attributes change, the new version will contain updated values, while the id remains unchanged. This enabled consistent synchronisation of changes over time.
- RowVersion: an updated transaction will receive a new row version, but will keep the same transaction id. RowVersion are ever increasing numbers which are unique accross the database and never reused. RowVersion shows the order in which records were physically inserted or updated. As a consequence, the RowVersion for a transaction which was never changed is not 1, but a big integer number. Additionally, for two versions of the same transaction, the RowVersion will be different, not consecutive and the only guarantee is that the newest version will have a bigger RowVersion than an older one. We do not keep all versions but only the most recent. It is possible that one transaction has had two versions over time but at the moment of the call to fetch transactions one would only see the current last version.
- MaxRowVersion: represents the biggest row version of a transaction returned by the current request. Every data import from the FinqTreasury API stops at a certain record/row. At the next call, it will start from MaxRowVersion of the previous call, to fetch only incremental records that have appeared (inserted or updated) in the database by refreshing from the bank.
- Transaction uniqueness: we provide a mechanism for deduplicating transactions. In case the transaction records come already duplicated from the bank, we are not going to automatically remove the duplicates but we’ll make it easy for you to identify them by providing a groupId.
- Bank statement reference: the bankReferenceId field can be used to refer back the transaction to the bank source, representing the id provided by the bank. In case this reference is different from the one provided by the bank in other channels (online banking or host to host) there’s also a bankStatementId field intented to capture the same id as in those channels and help in deduplicating records already imported through those channels.
Transaction category
Finqware aggregates and normalizes transactions data, also labeling recurring transaction types in a homogeneous way across all banks. The current transaction categories catalog includes the following labels:
Category | Description |
|---|---|
Deposit creation | Any kind of bank deposit creation |
Deposit closing | Any kind of bank deposit maturity |
Bank fee | Any kind of bank commission |
Card payment | Online, POS or ATM payment/ withdrawal |
Card payment Refund | Card payment reversed to card account |
Bank interest charges | Paid interests |
Bank interest deposits | Collected interests |
Bank fees POS | Commission for POS collection |
POS collection | Collection through card payment in POS account |
Cash collect | ATM money collect |
Credit cover | Repayment of credit line |
Credit grant | Disbursment of credit line |
Internal transfers | Transfers between two accounts where creditor name is included in debtor name |
Refund | Payment reversed to customer account |
Reimbursement | Compensation paid to customer account |
Direct debit collection | Incoming payment collected through direct debit |
Currency exchange | Money transfer from one currency to another |
Split VAT | Payment in which the VAT is automatically allocated to a dedicated VAT account |
Detection and parsing of transaction details by “rules”
The descriptive fields that accompany the transactions and which contain important information in the bank reconciliation process come from the bank in bulk text format. In order to manage them more easily in the client system, we have implemented a parsing mechanism which uses flexible rules that can be defined by the client. Thus, we can identify an invoice / proforma number information from a field that may contain more data of this type or incompletely written data or with extra characters and we can transmit it in a separate, differentiated field.
In order to fully implement those rules, they need to be defined according to your data structure.
Reponse structure for a transaction - example
{
"id": "e337c059-18db-4055-bd6f-0302290daf89",
"iban": "RO12RNCB0857108717970001",
"organisationId": "96460047-36dc-4d57-982a-0d01c0167c91",
"rowVersion": 184028228,
"bookingDateTime": "2023-07-23T00:00:00",
"finqTimestamp": "2023-07-24T00:00:19",
"bankReferenceId": "10740320034",
"bankStatementId": "2023072378315029",
"endToEndId": " ",
"creditDebit": "C",
"amount": "40",
"creditorIBAN": "RO12RNCB0857108717970001",
"creditorName": "Cosma Adrian-Cosmin",
"debtorIBAN": "RO21RNCB0070108717970001",
"debtorName": "Cosma Adrian-Cosmin",
"currency": "RON",
"status": "booked",
"info": "Tranzactie efectuata prin George Banking BCR Referinta 230723S003899089, data valutei 23-07-2023,
Decontare -Platitor: Cosma Adrian-Cosmin; ",
"rules": [
{
"name": "InvoiceNumber",
"priority": 1,
"values": [
"003899089"
],
"matchStrength": 100
}
],
"groupId": -799731844
},
{
"id": "e81d9e98-c62c-48ac-b075-a6a725a3dbbe",
"iban": "RO12RNCB0857108717970001",
"organisationId": "96460047-36dc-4d57-982a-0d01c0167c91",
"rowVersion": 184344697,
"bookingDateTime": "2023-07-24T00:00:00",
"finqTimestamp": "2023-07-24T10:31:13",
"bankReferenceId": "10741780992",
"creditDebit": "D",
"amount": "-8.4",
"debtorIBAN": "RO12RNCB0857108717970001",
"currency": "RON",
"status": "booked",
"details": "{\"attach\":null,\"category\":\"POS purchase\",\"location\":null,\"merchant\":null,\"tags\":null,\"refs\":null,
\"bktxcd\":null}",
"info": "Apple Pay, Tranzactie comerciant - Tranz: Nr card 546805XXXXXX6289, token XX6233, device
Finqware Iphone (2), Ref 551730683015, Suma platita",
"rules": [],
"category": "POS purchase",
"groupId": 2116095691
},
"totalCount": 0,
"offset": 0,
"limit": 0,
"maxRowVersion": 0,
"timestamp": "2022-11-17T15:17:31.006Z"
}
Endpoints
transactions
transactions/filtered
transactions/filtered
transactions/filtered
transactions/filtered