
Lennart Svensson
Lennart is CTO and Co-Founder of Maesn and leads everything on the engineering and product side. He has been building software since 2007, from smartphone operating systems in London to enterprise architecture in Oslo. Today he designs the integration architecture our customers build against.
Lennart on LinkedInAsk Lennart about
He leads the product team and is responsible for everything on the engineering and product side of Maesn. Day to day that means translating a functional goal into the technical path to it: which endpoints, in which order and what the target system will and will not allow.
Experience in software engineering and architecture
Chief Architect on an identity platform for more than a million users
At Telenor, on a new identity and access management platform that tied together around twelve systems. Roughly 120 people worked on it and the technical decisions were his.
Around twenty integrations in one transformation
At Storebrand, replacing the central CRM and marketing platforms with Salesforce and a new marketing stack. Between 100 and 150 people, a team of internal and external architects reporting to him, and final responsibility for everything technical.
The first NFC payment application on the German market
Mobile Wallet at Deutsche Telekom, before Google and Apple shipped theirs. He also worked on apps that are still among the largest German ones in the app stores, on a team that was Telekom's testing ground for agile development.
TOGAF 9, Certified Technology Architect and Symbian Accredited Developer
The Open Group in 2017, Accenture in 2016 and Symbian in 2007. TOGAF is the de facto certification for enterprise architects, which is the role he held for the five years before Maesn.
Where the engineering experience comes from
- 2018 to 2023Enterprise Architect, Storebrand
In Oslo, at Norway's largest private asset manager, which also runs banking, insurance and pension business. He led strategic programmes on the technical side and advised senior management on anything from M&A to system roadmaps. Building up new departments and recruiting into them was part of it.
- 2013 to 2018Associate Manager and Technology Architect, Accenture
In Oslo, which was also a move home, because he is half Norwegian. Team lead, then system architect, lead architect and finally chief architect on very large programmes: the identity platform for Telenor, and the largest agile project in Norway's public sector, which included the high-performance calculation jobs behind the Norwegian pension system.
- 2009 to 2013Specialist and Senior Specialist, mobile application design and development, Deutsche Telekom
In the Cologne and Bonn region, building apps for Android, Symbian and Windows. Several of them are still among the largest German apps in the stores. The team piloted agile development for Telekom and then coached other departments through it.
- 2007 to 2009Customer Engineer, Symbian
In London, in the professional services team that helped Motorola, Sony Ericsson and Samsung get their smartphones to market on Symbian, then the operating system on around 70 percent of them. Included a tenure in Chicago for Motorola and an Extra Mile Award in 2008.
- 2002 to 2007MSc, computer science, Uppsala University
With an exchange year at the National University of Singapore and a master thesis at the University of Zürich on secure decentralised voting in peer-to-peer networks, which reads today like an early version of what became blockchain. He had been programming since he was nine.
Providing integrations in your platform should not be a long and complex custom-development project, it should be a standardised component, just like a checkout or a payment service.
32 articles by Lennart

QuickBooks Online Webhooks: Events, Retries and Recovery
QuickBooks Online webhooks cover 29 entity types and expect HTTP 200 in three seconds. Why Intuit still asks you to poll change data capture.
Lennart Svensson · 25 Aug 2026
Lexware Office Pagination: The 406 and One Page Size
Lexware Office validates the page size and rejects a bad one with 406, the same code it uses for an unsupported media type. What that means for your read loop.
Lennart Svensson · 20 Aug 2026
How to Integrate with DATEV Rechnungswesen: One Connection
One connection carries reading and writing in DATEV Rechnungswesen, on a two-year token. Which objects travel in which direction is the real decision.
Lennart Svensson · 17 Aug 2026
How to Integrate with DATEV Unternehmen Online: Async Writes
Every write to DATEV Unternehmen Online is an asynchronous task, and nothing you send reads back. What that decides about your data model.
Lennart Svensson · 17 Aug 2026
DATEV Datenservice Export Rechnungswesen: Finalised Data
The one DATEV service that reads. What it returns, why a booking has to be finalised first, who switches it on and what that does to your sync schedule.
Lennart Svensson · 10 Jun 2026
How to Integrate with Xentral: The Version Sets the Query
Xentral versions each endpoint on its own, so the filters, the paging and how firm the contract is differ between the three generations under one token.
Lennart Svensson · 18 May 2026
How to Integrate with FreshBooks: Two Identifiers
FreshBooks routes accounting through an account id and time tracking through a business id. The same split decides how finely you can filter by date.
Lennart Svensson · 18 May 2026
How to Integrate with Moneybird: Sync Runs on Versions
Moneybird answers what changed with a version index instead of a clock, which is what a delta sync here stands on. Plus the filter that replaces its own defaults.
Lennart Svensson · 18 May 2026
How to Integrate with Qonto: Three Reads and One Event
Qonto reads three objects and sends one event. The gates before production are an app review, a use case you cannot change and a limit per IP address.
Lennart Svensson · 18 May 2026
How to Integrate with FreeAgent: Access Levels Cut Fields
FreeAgent grades permissions from 0 to 8. The grade of the user who connects decides which fields a contact returns, and the default view hides rows.
Lennart Svensson · 18 May 2026
How to Integrate with Twinfield: Credits and Certification
Twinfield resolves a cluster and a company code before your first call, and an uncertified client runs on five percent of the credits.
Lennart Svensson · 18 May 2026
How to Integrate with Sage Active: Reads and Corrections
Sage Active reads eleven objects and posts five. Corrections travel as new documents, the token lasts eight hours, and Maesn walks the cursor for you.
Lennart Svensson · 18 May 2026
How to Integrate with Fortnox: One Stream, Not Webhooks
Fortnox pushes changes down a single websocket stream with offsets and replay, not to your endpoint. What that means for a sync that runs on a timestamp.
Lennart Svensson · 18 May 2026
How to Integrate with Sage Accounting: An Optional Header
The X-Business header in Sage Accounting is optional, so a request without it does not fail: it reads and writes the user's lead business instead.
Lennart Svensson · 18 May 2026
How to Integrate with SnelStart: Two Authentication Flows
The two keys are only the test flow. SnelStart production uses a redirect it calls OAuth, gated by a partner review and a seven day observation period.
Lennart Svensson · 18 May 2026
How to Integrate with BuchhaltungsButler: Four Rate Limits
BuchhaltungsButler allows 100 requests per customer per minute, ten on the receipt upload and one every five seconds on each batch endpoint. What that budget means.
Lennart Svensson · 18 May 2026
How to Integrate with Pennylane: Scopes and Changelogs
Pennylane agrees your scopes before the first call and its changelog keeps four weeks of history. What that means for tokens, writes and re-syncs.
Lennart Svensson · 18 May 2026
How to Integrate with Holded: Two Counters, Two Statuses
Holded meters a burst window and a monthly quota, and its pending filter leaves partly paid invoices out. What both mean for a sync you run yourself.
Lennart Svensson · 18 May 2026
How to Integrate with bexio: The Ledger Has No Read Scope
Bexio publishes 35 scopes and none of the 18 read-only ones covers accounting data. What that means for consent, for the journal and for your sync.
Lennart Svensson · 18 May 2026
How to Integrate with Weclapp: No Rate Limit, but a Queue
Weclapp publishes no request limit. It queues your calls for up to 30 seconds instead, and the filter that keeps you out of that queue fails silently.
Lennart Svensson · 18 May 2026
How to Integrate with Abacus: Host, Version and Mandant
Every Abacus installation brings its own host, its own annual version and its own set of change topics. What that decides before you write a request.
Lennart Svensson · 18 May 2026
How to Integrate with QuickBooks: Events That Need a Read
Nine QuickBooks objects reach you as events and Intuit still tells you to poll. What the notification leaves out, and where the fallback has a gap.
Lennart Svensson · 18 May 2026
How to Integrate with sevdesk: Two Bookkeeping Versions
sevdesk-Update 2.0 changed the bookkeeping system in 2024 and both versions live in the same tenant. What that means for tax rules, writes and the version header.
Lennart Svensson · 18 May 2026
How to Integrate with Odoo: Two Protocols, One Deadline
Odoo's two remote procedure endpoints now carry a removal date, and hosted instances reach it first. What your customer hands over, and how long it stays valid.
Lennart Svensson · 18 May 2026
How to Integrate with Xero: Events and Rate Limits
Xero notifies you about one of the ten objects you can read. Everything else is a poll against 5.000 calls a day, and the delta filter has a blind spot.
Lennart Svensson · 18 May 2026
How to Integrate with Microsoft Business Central: Events
Every Business Central webhook subscription expires after three days, and renewing one means answering Microsoft's handshake again. Maesn holds that clock.
Lennart Svensson · 18 May 2026
How to Integrate with Exact Online: The Daily Call Budget
Exact Online allows 60 calls a minute and 5.000 a day per company, and no parallel calls. What that budget buys, and how to spend it on 23 readable objects.
Lennart Svensson · 18 May 2026
How to Integrate with Lexware Office: Limits and Events
Lexware Office allows two requests per second across all endpoints, every update needs a fresh read, and polling is not allowed. What that means for your build.
Lennart Svensson · 18 May 2026
How to Integrate with Visma eAccounting: Tokens and Paging
One system, three brand names: what the Visma eAccounting rename changes for scopes, sandboxes, rate limits and the paging you inherit.
Lennart Svensson · 31 Mar 2026
DATEV Data Formats Explained: CSV, XML and ASCII
DATEV documents three file formats and each one has exactly one destination. Which one your use case needs, what the CSV layout looks like and why ASCII is payroll.
Lennart Svensson · 30 Mar 2026
How to Integrate with Spiris: ROT, RUT and Accounts
Spiris is Visma eAccounting in Sweden. What a Swedish build meets on top of it: the accounting office flow, article account coding and the ROT and RUT fields.
Lennart Svensson · 23 Mar 2026
How to Integrate with Visma e-conomic: What You Can Write
On Visma e-conomic the customer's subscription decides whether you can write at all, and one call tells you that plus the modules before you build.
Lennart Svensson · 23 Mar 2026Bring Lennart your hardest case.
Which system holds the data, what it will and will not give you, and what that means for the use case you are building.