Skip to main content

Clients: How to connect KashFlow and sync invoices

This guide walks you through connecting your KashFlow account to Debitura using your KashFlow username, password, and memorable word. Once connected, you can import unpaid and overdue invoices and convert them into debt collection cases.

Updated today

Goal

Connect KashFlow to Debitura so you can import unpaid and overdue invoices and convert them into debt collection cases.

Prerequisites

  • An active Debitura account (see Getting started with Debitura if you need to sign up)

  • A KashFlow account with API access enabled (you enable this in Step 1 below)

  • Your KashFlow login email, password, and memorable word

Steps

Step 1: Enable API access in KashFlow

  1. Log in to your KashFlow account at app.kashflow.com.

  2. Go to SettingsThird PartyAPI Settings.

  3. Enable API access for your account.

  4. Note your KashFlow login email and password - you will enter these in Debitura in Step 3.

Step 2: Make sure you know your memorable word

KashFlow uses a memorable word as a second authentication factor. This is the word you set when you first created your KashFlow account.

  • You need the full memorable word, not just specific characters. Debitura extracts individual characters from it each time it connects.

  • If you cannot remember your memorable word, contact KashFlow support at [email protected] to have it reset before continuing.

Step 3: Connect KashFlow in Debitura

  1. Log in to your Debitura account.

  2. Select KashFlow from the list of available integrations.

  3. Enter your KashFlow username (the email address you use to log in to KashFlow).

  4. Enter your KashFlow password.

  5. Enter your full memorable word.

  6. Save the integration. Debitura authenticates immediately and confirms the connection by displaying your KashFlow company name.

Your KashFlow username, password, and memorable word are stored in Debitura so it can authenticate each time it imports invoices. Debitura uses them to request a short-lived session token from KashFlow, which expires after 60 minutes of inactivity and is renewed automatically. You do not need to reconnect manually.

Step 4: Import and review invoices

  1. Select your KashFlow connection from the list.

  2. Debitura fetches your unpaid and overdue KashFlow invoices and displays them for review.

  3. Use the date filters to narrow the list if needed. Because KashFlow does not support server-side date filtering, Debitura applies date filters after fetching.

  4. Review customer names, amounts, and currencies to confirm the data looks correct before proceeding.

Step 5: Create collection cases

  1. Select the invoices you want to convert into debt collection cases.

  2. Click to create cases. Debitura automatically maps KashFlow invoice and customer data to case fields.

  3. Review the case details and submit.

For more details on case creation, see How to create and submit a case.

Field mapping

Debitura automatically maps your KashFlow invoice and customer data to case fields:

KashFlow field

Debitura field

Invoice number

Creditor reference / Invoice number

Issued date

Invoice date

Due date

Case due date

Gross amount

Amount to recover

Currency

Case currency

Customer name

Debtor name

Customer email (first contact)

Debtor email

Customer telephone or mobile

Debtor phone

Customer address (lines, postcode, country)

Debtor address

Result

After completing these steps:

  • Your KashFlow account is connected to Debitura.

  • Debitura can import your unpaid and overdue invoices on demand.

  • Invoices can be converted into collection cases with automatic field mapping.

  • Debitura re-authenticates with KashFlow automatically, so you do not need to reconnect periodically.

Notes and limitations

  • Which invoices are imported: Debitura imports invoices with status Unpaid, Overdue, or Overdue part-paid. Paid, overpaid, and draft invoices are excluded.

  • On-demand fetching: KashFlow does not provide webhooks, so Debitura fetches invoice data each time you open the import view. This means you always see the current state of your KashFlow invoices.

  • Date filtering is client-side: KashFlow does not support filtering by date at the API level, so any date filters you apply in Debitura are applied after the full list is fetched.

  • Customer details fetched per customer: KashFlow does not return full customer details (address, contacts, VAT number) in the invoice list. Debitura fetches them separately for each unique customer when you run an import.

  • Country defaults to GB: If a KashFlow customer has no country on their address, Debitura defaults the debtor country to GB.

  • Individual vs. business: Debitura infers whether a debtor is an individual or a business from the presence of a VAT number and the name pattern (for example, names ending in "Ltd", "Limited", "GmbH", or "Inc." are treated as businesses).

Troubleshooting

Most KashFlow connection issues fall into one of the following categories:

  • "Invalid credentials" during setup: the username or password is wrong. Verify by logging in to KashFlow directly at app.kashflow.com. If that works but Debitura still rejects the credentials, check for leading or trailing spaces in the password.

  • "Invalid memorable word" during setup: the memorable word you entered does not match what KashFlow has on file. KashFlow asks for specific character positions, and Debitura extracts them from the full memorable word you provided. If you are not sure of the word, contact KashFlow support to reset it.

  • Invoices appear in KashFlow but not in Debitura: only invoices with status Unpaid, Overdue, or Overdue part-paid are imported. Paid, overpaid, and draft (NA) invoices are excluded.

  • Customer data is missing or incomplete: if a customer has no address, email, or contacts in KashFlow, those fields will be empty in Debitura. Update the customer record in KashFlow and refresh the import.

  • Session disconnects during a large import: KashFlow session tokens expire after 60 minutes of inactivity. Debitura re-authenticates automatically. If a very large import runs into unexpected disconnections, try again.

Related guides

Did this answer your question?