Auto-sync your Qonto’s receipts with Lexoffice using Zapier

Automate your routine tasks with Zapier, which now integrates with Lexoffice and Qonto. You don't need to manually save files and upload them anymore.
2021.05.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

An automation is certainly noteworthy in business scenes but you might tend to give up improving your everyday routine tasks. By using a tool like Zapier, you can easily automate a part of your tasks even without technical knowledge.

Classmethod Europe uses Lexoffice as our accounting tool and Qonto as our main bank. But unfortunately Lexoffice does not offer the bank connection with Qonto (because Qonto is French and a neobank, I guess).

However, Zapier and Integromat started to support Qonto a while ago and both integrate with Lexoffice too! If you use both of them too, these automation tools will be a big game changer!

Zapier and Integromat are an automation tool. As a similar one, IFTTT, Power Automate (formerly known as Microsoft Flow), and n8n are also well-known. But these two are the only ones that integrate with Qonto and Lexoffice. In this post I'll show how I automated our previous manual tasks with using Zapier.

Which tasks can I automate?

There are even more possibilities with various apps, but here I focus on the tasks related to Lexoffice and Qonto in our use case.

Task 1. Uploading a receipt to Lexoffice when a Qonto user attaches it to a transaction

Here is our former situation:

  • Our Qonto cardholders have access to the Qonto webapp to see their own transactions, but not all of them don't to Lexoffice. So they submit receipts by attaching them to each transaction on Qonto.
  • Bookkeepers wish the attached receipts be automatically synced to Lexoffice. Instead they need to periodically check attachments on Qonto, download them once, then upload them to Lexoffice ("Beleg erfassen").

After implementing Zapier, it detects the carholders' attachments and uploads them automatically to Lexoffice. You can additionally set a notification, e.g. to Slack when a new file is synced. The bookkeepers can now work only with Lexoffice.

This can NOT be implemented with Integromat since it doesn't support triggering by the updates of Qonto attachments.


Task 2. Uploading an invoice to Lexoffice when it's sent via email

Similarly to the Task 1, you can automate downloading attachments of emails and uploading them to Lexoffice.

In this scenario, when an email with an invoice arrives in the mailbox, the invoice is saved to a specified OneDrive's folder and the saved file is uploaded to Lexoffice. Additionally then, the email is moved to a specified folder in the mailbox so that bookkeepers don't need to handle it anymore.

Retrieving Outlook emails in your own mailbox and uploading files to Lexoffice are supported both on Zapier and Integromat. You can achieve this even without going through OneDrive.

Then why saving a file in OneDrive? - In our case, we have a shared mailbox of Office 365 for bookkeepers and most emails with digital invoices are sent here. It is tricky to achieve this when it comes to a "shared" mailbox because only Microsoft Power Automate supports the integration. (At least Zapier confirms here that it doesn't support.)

Therefore, I implemented the first half with Power Automate and the latter half with Zapier. I wrote the details of how to set up the Power Automate in the following blog post.


Task 3. Fetching Qonto's transactions and syncing them into Lexoffice

As far as I know, it is currently impossible to automatically sync bank transactions between Qonto and Lexoffice, as Lexoffice offers neither the native connector nor the API. Hence, this cannot be achieved even with Zapier and Integromat.

Alternatively, you need to manually import transactions by uploading CSVs to Lexoffice. I automated the task to produce the Qonto's transaction CSVs, of which the format is compatible with Lexoffice. See the following blog!

Set up on Zapier

Let's sign up with Zapier and automate the Task 1&2! You can create your account with a free plan first. -- In this plan, you can turn on up to 5 zaps (an automated flow) and trigger up to 100 tasks per month, and each zap can contain only one trigger and one action.

After choosing a trigger and an action, all you need to do is following the instructions on the screen. Super easy to go!

  • Task 1. Qonto <-> Lexoffice

On the Dashboard, select "Transaction Updated Attachments" in Qonto as a trigger and "Upload Document for Booking Purposes" in Lexoffice as an action, and click "Try it" to create the zap.

For the zap's configuration, refer to Qonto's trigger and Lexoffice's action below.

In order to add a notification, you can click the plus button and add the next action. Note that a free plan allows you to create only a single-step zap. This time I simply created another single-step zap, which contains the same Qonto's trigger again and Slack's action. See Slack's action below for the configuration.

  • Task 2. OneDrive <-> Lexoffice

Again on the Dashboard, select "New File" in OneDrive as a trigger and "Upload Document for Booking Purposes" in Lexoffice as an action, and create the zap. See OneDrive's trigger and Lexoffice's action below for the configurations.

Qonto's trigger (updated attachments)

Connect your Qonto account by using your signin credentials, type in the IBAN number, and test the trigger. When the test succeeds, you will see the latest three transaction data that have attachments, shown as A to C. Click "Continue" to further set up the action.

Lexoffice's action (uploading documents)

Connect your Lexoffice account by using your sign-in credentials, choose the Qonto's file name as Filename and the attachments URL as File as seen below. Then test the action. When it succeeds, a new file is uploaded into Lexoffice's "Beleg erfassen" screen. (Don't forget deleting it if it's a test file!)

In Lexoffice if you go to Einstellungen > Protokollierung, you can see that a file was uploaded via Zapier!

Slack's action (DM)

Choose "Send Direct Message" in Slack as an action. Connect your Slack account. If your browser stores multiple logins of Workspaces, select the correct Workspace from the right-top selection.

Configure the action accordingly. I changed the following two as well as set No to "Include A Link To This Zap".

Then click "Test & Connect". After successfully receiving a direct message from Zapier as shown below, click "Turn on Zap" to automate it.

OneDrive's trigger (new file)

Connect your Office 365 account by using your signin credentials, choose the folder name as Folder where you want new invoices to be detected. Set No to "Include File Object" because Lexoffice cannot import a file object anyway. If the specified folder is empty, you need to manually locate a file in it before you test the trigger.


Using API

Just in case you don't like to use such a GUI tool, you can technically achieve the similar thing by coding yourself since Lexoffice and Qonto both offer its API.

To issue a private API key of Lexoffice, go to https://app.lexoffice.de/settings/#/public-api, click "Schlüssel neu erstellen", copy the key. A key per user can be issued and individually managed. Each key is valid for 24 months.

To upload a file to Lexoffice (in the "Beleg erfassen" in GUI), execute below. When it succeeds, an ID will be returned. For more details, refer to Upload a file in the document.

% key="abcdeFGH1XXXXXXXXX"
% fpath="/Users/ito/new invoices/Invoice_12345.pdf"
% curl https://api.lexoffice.io/v1/files \
-X POST \
-H "Authorization: Bearer $key" \
-H "Content-Type: multipart/form-data" \
-H "Accept: application/json" \
-F "file=@$fpath" -F "type=voucher"

> {"id":"be24c63a-6bfb-4644-aed8-e02ea8786d1c"}