Card transactions

Integrate corporate card expense management into your platform by submitting card transactions to Findity, which automatically generates expenses for cardholders — enabling reimbursement and bookkeeping.

This applies to financial institutions (banks) that issue cards or partners providing cards via CaaS (Card-as-a-Service) platforms.

Customer onboarding

When a customer signs up to use the expense management service, they activate the expense solution from within the card issuer's scope — preferably from "My Pages" or another suitable location hosted by the card issuer.

This initial step performs three API calls:

StepAPI callDescription
1Create organizationAll cardholders reside within an organization — the entity representing a customer (legal entity).
2Create cardholderThe user in the Findity platform.
3Create administratorAt least one admin must be assigned to the organization.

Add card to user

In the admin view, add employees as cardholders. An employee can have multiple cards, but most of the time one card connection is sufficient.

Corporate cards have a payment liability setting that dictates how expenses are handled. Payment liability determines who receives and pays the card invoice.

LiabilityInvoice sent toReimbursementCan delete expensesBehavior
PRIVATECardholderYesYesEmployee is reimbursed. Private purchases can be deleted.
CORPORATECompanyNoNoExpenses are locked until the transaction is updated with an invoice number and CAPTURE status. A corporate card report groups all purchases with the same invoice number.
DEBETCompany (direct)NoNoCharges go directly to a corporate bank account. Transactions are added to bookkeeping only.

Generate expenses from card transaction

Notify Findity as soon as a purchase is made by a connected cardholder. The closer to real-time the notification, the better the cardholder experience — the expense becomes available in the app immediately after purchase.

Each request instantly generates an expense and sends a push notification to the cardholder's app, allowing them to attach a receipt and submit for approval.

POST /v1/connect/cardtransactions
{
    "cardType": "<issuer>",
    "posName": "Store or merchant",
    "description": "Information of the purchase",

    "billingAmount": 250,
    "billingCurrencyCode": "SEK",
    "merchantAmount": 24,
    "merchantCurrencyCode": "EUR",
    "merchantMcc": 5921,
    "transactionDate": "2024-07-29T12:41:00Z",
    "transactionId": "464411049",
    "eventType": "AUTHORIZATION_ACCEPTED",
     
    "organizationId": "8a5c9cc090e8ccae0190edd18eca07d3",
    "personId": "8a5c848990e8cbb70190edd6cea907ba",
    "transactionOwnerName": "Bob Curry",
    "supplierCardId": "721c47e6-ba56-4c1f-82a2-1d3dbf8c81f2",
    "liability": "PRIVATE",
    "cardNumber": "XXXXXXXXXXXX6789"
}

Request fields

FieldTypeDescription
cardTypestringName of your card or financial institute. Must be configured by Findity initially.
posNamestringStore or merchant name — shown on the expense for purchase origin clarification.
descriptionstringAdditional purchase information shown on the expense.
billingAmountnumberAmount charged on the card, in the cardholder's local currency.
billingCurrencyCodestringThe cardholder's local currency (ISO 4217).
merchantAmountnumberOriginal purchase amount in the merchant's currency.
merchantCurrencyCodestringThe merchant's currency (ISO 4217).
merchantMccnumberMerchant Category Code.
transactionDatestringDate of purchase (ISO 8601).
transactionIdstringUnique identifier for the transaction. Used when updating a transaction.
eventTypestringTransaction status from the card scheme. See event types below.
organizationIdstringThe Findity organization ID that the cardholder belongs to.
personIdstringThe Findity UUID of the cardholder.
transactionOwnerNamestringName of the cardholder.
supplierCardIdstringYour identification of the card.
liabilitystringPayment liability — dictates expense behavior. Values: PRIVATE, CORPORATE, DEBET.
cardNumberstringMasked card number (e.g., XXXXXXXXXXXX6789).

Event types

The eventType field tracks the transaction lifecycle. The typical flow is an initial AUTHORIZATION_ACCEPTED followed by a CAPTURE when settlement is completed.

Event typeDescription
AUTHORIZATION_ACCEPTEDInitial authorization approved
AUTHORIZATION_REJECTEDAuthorization was declined
AUTHORIZATION_REVERSALA previous authorization was reversed
CAPTURESettlement completed — transaction is final
REFUNDA refund was issued for the transaction

→ See the Card transaction API reference for full request and response details.

Invoice matching

For corporate-liability cards, all expenses created from card transactions can be grouped within an expense report by invoice number. This facilitates financial control — ensuring all expenses are accounted for and matched to the correct invoice.

Update the transaction with an invoice number to group expenses into a corporate card report. As an administrator, you have an overview of all ongoing corporate card reports and their invoice numbers. Administrators can send reminders to users to finalize and submit their reports.