Card transactions

Empower Corporate Card with Expense Management

This article describes the recommended technical setup for implementing and embedding expense management for you as a partner that issues cards. This applies to use cases where financial institutes (banks) issue cards or a partner that provides cards via for example CaaS (Card-as-a-Service) platforms. Our platform allows you to submit card transactions which will generate expenses for the cardholders which can be used for reimbursement and basis for bookkeeping.

Customer onboarding

This is the first and initial step when a customer signs up to use the expense management service with the card issuer. The customer needs to activate the expense solution from within the scope of the card issuer. This is preferably managed from within the “My Pages” of the customer or other suitable location hosted by the card issuer.

This initial step will perform three calls to Findity

  1. Create organization - All cardholders must reside within an organization, this is the entity that holds a customer (legal entity) together.
  2. Create the cardholder, this is the user in the Findity Platform.
  3. Creating at least one administrator of the organization.

Add card to user

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

Corporate cards can have two different payment liabilities, and this card configuration will dictate how expenses are handled in the system. Payment liability means who will receive and pay the invoice of the corporate card. Below I have listed the attributes and behavior of these two types.

  • Personal payment liability (invoice is sent to the cardholder) - The employee should be reimbursed for purchases made with this card. The employees are allowed to delete expenses if, for instance, a private purchase has been made.
  • Corporate payment liability (invoice is sent to the company) - The employee should not be reimbursed for theses purchases as they are paid by the employer, and these expenses can't be deleted. The expenses cannot be submitted or added to a manually created report until the transaction is updated with an invoice number and the CAPTURE status is set. Then a corporate card report will be created with all purchases containing the same invoice number, now the employee can submit the report.

There is a third setting as well, DEBET. This one is quite similar to how corporate liability works. Purchases with a DEBET card will directly charge a corporate bank account, hence the employee should not be reimbursed. The transactions should just be added to bookkeeping.

Generate expenses from card transaction

As soon as the card issuer becomes aware of a purchase done by a cardholder that is connected to the Findity expense solution, the card issuer notifies Findity of the transaction. The closer to real time the better as the overall experience for the cardholder will increase as the expense will be available as close to the purchase as possible.

These requests will instantly generate an expense and notify the user via a push notification in the app, allowing the cardholder to add a receipt image and send it for approval.

End-point with relevant fields: POST: /api/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"
}

Description of some key data fields:

  • cardType - The name of your card or financial institute. This needs to be configured by Findity initially
  • posName and description - Used on the expense for purchase origin clarification
  • billingAmount - Amount that will be charged on the card, in the cardholder's currency
  • billingCurrencyCode - The local currency (iso 4217)
  • merchantAmount - Purchase amount
  • merchantCurrencyCode - Purchase currency
  • merchantMcc - Merchant Category Code
  • transactionDate - Date of purchase
  • transactionId - Unique identifier of the transaction. Used when updating a transaction.
  • eventType - The status of the transaction from the card scheme. The regular events are the initial "AUTHORIZATION_ACCEPTED" and later a "CAPTURE" that is sent when settlement is completed. Possible values:
    "AUTHORIZATION_ACCEPTED"
    "AUTHORIZATION_REJECTED"
    "AUTHORIZATION_REVERSAL"
    "CAPTURE"
    "REFUND"
  • organizationId - The organization that the cardholder belongs to, this is the Findity orgId
  • personId - The cardholder, this is the Findity uuid of the cardholder
  • transactionOwnerName - Name of cardholder
  • supplierCardId - This is your identification of the card
  • liability - i.e. who pays the card invoice and dictates expense behavior in the system.
    Possible values:
    "PRIVATE"
    "CORPORATE"
    "DEBET"

See the Card transactionAPI reference for more details.

Invoice matching

If the company has payment liability of the corporate cards, all expenses (created from card transactions) can be grouped within an expense report. This will help to facilitate and improve a financial controlling function that will make sure all expenses are accounted for and match the invoice. This is handled by updating the transaction with an invoice number.

As an administrator, you have an overview of all ongoing corporate card reports and their invoice numbers, as displayed in the image below. The administrator can send a reminder to the user to finalize and submit the report.