In Spendesk each "expense" is represented in accounting terms – a liability on one hand and a settlement of that liability on the other hand. Some of the "expenses" Spendesk supports are invoices, expense claims and card purchases. Invoices and expense claims create a liability for the company on the date known as "payable date". These liabilities can be settled at a later date via a wire transfer to the supplier or the employee or left open. It is also possible to mark a payable as "settled outside Spendesk".
Card purchases create a liability on the date of the card authorization and a corresponding settlement on the date of clearance.

Lifecycle of a payable

Typically a Payable is created in Spendesk following one of two events: a card transaction or approval of a spend request. Once a payable is created, it is in created state (known as bookkeepingStatus) and it needs to be "prepared" by an accountant. The accountant enriches the payable with accounting information (G/L accounts, cost center, analytical fields etc) and marks it as "ready". The payable is now in prepared state and can be exported to accounting software. Once a Payable is successfully exported to accounting, its state changes to exported. Sometimes accounting exports fail, in which case the payable state is failedExport. The accountant then has a choice to either send the payable back to Prepare (unprepared) or manually create corresponding records in their accounting software and mark the payable as exportedManually.

As you can see, payables in Spendesk come into existence only after spend requests are approved; they reach the end of their life-cycle once they are exported to accounting software. For example, it means that invoices and expense claims that have been submitted by employees but haven't yet been approved do not have a payable created.

Currently, Spendesk supports these types of payables:

TypeDescription
expenseClaimAn expense claim submitted and approved
invoicePurchaseAn invoice to pay submitted and approved
creditNoteA credit note submitted and approved
singlePurchaseCardA purchase made with a single-use virtual card
subscriptionCardA purchase made with a subscription virtual card
physicalCardA purchase made with a physical card
mileageAllowanceA mileage expense submitted and approved
perDiemAllowanceA per diem expense submitted and approved
reverseBillA refund or a late return (aka cash return)

Settlements, bank fees and how they relate to payables

A Payable is a liability that needs to be paid. A Settlement represents the payment of such liability.

When a payable is paid via Spendesk – using a physical or a virtual card or using a wire transfer – a settlement is created and allocated to the payable. At this point the settlement is in created state. Now the corresponding payable can be prepared and exported to accounting software. The settlement can also be exported to accounting (settlements don't need to be "prepared"). If successfully exported, the settlement state becomes exported. If exporting the settlement failed for some reason, its state becomes failedExport.

Sometimes settlements get reversed. This is the case for card refunds and wire transfer returns (known as cash return or late return). When this happens, a settlement and a corresponding payable are automatically created in Spendesk. The payable can be prepared and exported to accounting, the settlement can also be exported to accounting.

Types of settlements currently supported in Spendesk:

TypeDescription
paymentPayment – a card payment or a wire transfer to an employee or supplier
refundRefund – a card refund
advanceCash advance – a wire transfer to an employee
cashReturnCash return – also known as late return, a wire transfer "bouncing back"
chargeBackChargeback – card dispute

Certain settlements incur bank fees collected by Spendesk. Most notably bank fees are collected on foreign currency payments and ATM withdrawals. When this happens a Bank fee is created in Spendesk and allocated to the corresponding Settlement.

Frequently asked questions

How can I match payables, settlements and bank fees?

You can match payables with settlements either on the settlementId field of payables (see under allocations[]) or on the payableId field of settlements (also under allocations[]). Note that allocations is an array and can contain several items. For example, a 200EUR invoice can have a 100EUR credit note and a 100EUR wire transfer allocated to it.
You can match bank fees with settlements on the settlementId field of bank fees.

Why isn't my payable updated in the snapshot?

Snapshots of payables are cached for 12 hours. Requesting a new snapshot with exactly the same parameters does not generate a new snapshot – an existing one is returned until the original snapshot expires. Try changing your request parameters so that a new snapshot is generated.