Skip to content

Connectors · Accounting & finance

Visma eAccounting MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Visma eAccounting and the rest of your systems. It gives your agent 222 Visma eAccounting actions (109 reads, 89 writes and 24 that wait for a confirmation) and holds the Visma eAccounting credential itself, so the agent never does. It paces Visma eAccounting's limits and records every call. Connecting Visma eAccounting needs your own Visma eAccounting OAuth app and one admin sign-in.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "visma_eaccounting.customer_invoices.list",  intent: "check which Visma eAccounting account is connected"}# Get all customer invoices · read · 1 upstream call
  • 222actionsin one signed file
  • 109readlook, never change
  • 89writecreate and update
  • 24wait for a yesdestructive, confirmed first

Set up

Connect Visma eAccounting in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Visma eAccounting.

    OAuth 2.0, authorization code. You register your own OAuth app with Visma eAccounting, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.

    Before the first sign-in, Visma eAccounting needs an OAuth app of your own, registered in its developer portal. actionlake has no Visma eAccounting app to lend you.

    • access_tokenAccess token from one sign-in with your own OAuth app
    • refresh_tokenRefresh token from the same sign-in; the access token is renewed from it
    • client_idVisma Connect client ID for your Spiris/Visma eAccounting partner app, registered with the actionlake callback URL…
    • client_secretVisma Connect client secret for the same app
    account { op: "connections.requirements", service: "visma_eaccounting" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "visma_eaccounting.customer_invoices.list" }# get all customer invoices · read · 1 upstream callcheck { action: "visma_eaccounting.customer_invoices.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Visma eAccounting at a glance

Sign-in
OAuth 2.0, authorization code. You register your own OAuth app with Visma eAccounting, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
You provide
access_tokenrefresh_tokenclient_idclient_secret
Limits we pace to
600 calls a minute, per connection
API covered
EAccounting API v2 (OpenAPI 3.0.4)eaccountingapi.vismaonline.com/v2
Built from
Visma eAccounting's documentation, read 23 October 2026eaccountingapi.vismaonline.comdeveloper.vismaonline.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
107 of 109 reads, for up to 5 minutes; a write clears what it affects
Shared entities
12, so ask can line Visma eAccounting up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Visma eAccounting.

222 actions in 55 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 109readlook, never change
  • 89writecreate and update
  • 24destructivewait for a confirmation
  1. Sales document attachments

    12

    2 read · 5 write · 5 destructive

    Create sales document attachment · Get all sales document attachments · Get sales document attachment information by Id · Create sales document attachment for customer invoice

  2. Orders

    11

    2 read · 7 write · 2 destructive

    Get orders · Create an order · Get a specific order based on Id · Update an order

  3. Quotes

    10

    3 read · 6 write · 1 destructive

    Get quotes · Create a quote · Get a specific quote based on id · Update a quote

  4. Customer invoices

    9

    3 read · 5 write · 1 destructive

    Get all customer invoices · Create a single customer invoice · Gets a customer invoice with a specific id · Send an invoice via email

  5. Sales price lists

    9

    5 read · 3 write · 1 destructive

    Create a sales price list · Get sales price lists · Get a specific sales price list based on id · Update a sales price list

  6. Supplier invoices

    8

    4 read · 3 write · 1 destructive

    Get supplier invoices · Create a supplier invoice · Get a supplier invoice · Create an offset between a credit invoice and one or more debit invoices

  7. Message threads

    7

    4 read · 3 write · 0 destructive

    Create message thread · Get all message threads · Get message thread · Get all messages

  8. Supplier invoice drafts

    7

    2 read · 3 write · 2 destructive

    Create a supplier invoice draft · Get supplier invoice drafts · Get a supplier invoice draft · Update a supplier invoice draft

47 more areas · 149 actions
  • Accounts 6
  • Customer invoice drafts 6
  • Customers 6
  • Fiscal years 6
  • Quote drafts 6
  • Voucher drafts 6
  • Article labels 5
  • Bank accounts 5
  • Customer labels 5
  • Partner resource links 5
  • Suppliers 5
  • Allocation periods 4
  • Articles 4
  • Attachments 4
  • Company settings 4
  • Customer ledger items 4
  • Notes 4
  • Projects 4
  • Vouchers 4
  • Bank transactions 3
  • Cost center items 3
  • Delivery methods 3
  • Delivery terms 3
  • Webshop orders 3
  • Account balances 2
  • Approvals 2
  • Appstore 2
  • Article account codings 2
  • Attachment links 2
  • Cost centers 2
  • Countries 2
  • Currencies 2
  • Discount agreements 2
  • Documents 2
  • Foreign payment codes 2
  • Inventory items 2
  • Sie 2
  • Terms of payment 2
  • Units 2
  • Vat codes 2
  • Vat reports 2
  • Vouchers with overunder payment 2
  • Account types 1
  • Banks 1
  • Payment vouchers 1
  • Users 1
  • Vat code rates 1

Top actions

The Visma eAccounting API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 68 of Visma eAccounting's 68 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
visma_eaccounting.customer_invoices.listGet all customer invoicesGet all customer invoices.readfinance.invoice.list101 connectors
visma_eaccounting.quotes.listGet quotesGet quotes.readfinance.quote.list52 connectors
visma_eaccounting.accounts.listGet accountsGet accounts.readfinance.ledger_account.list36 connectors
visma_eaccounting.bank_accounts.listGet bank accountsGet bank accounts.readfinance.bank_account.list35 connectors
visma_eaccounting.supplier_invoices.listGet supplier invoicesGet supplier invoices.readfinance.bill.list31 connectors
visma_eaccounting.users.listGet usersGet users.readidentity.user.list474 connectors
visma_eaccounting.articles.listGets articlesGets articles.readcommerce.product.list112 connectors
visma_eaccounting.vouchers.listGet vouchersGet vouchers.readfinance.journal_entry.list25 connectors
visma_eaccounting.customer_invoices.createCreate a single customer invoiceCreate a single customer invoice.writefinance.invoice.create74 connectors
visma_eaccounting.quotes.createCreate a quoteCreate a quote.writefinance.quote.create52 connectors
visma_eaccounting.accounts.createCreate accountCreate account.writefinance.ledger_account.create32 connectors
visma_eaccounting.quotes.deleteDelete a quoteDelete a quote.destructivefinance.quote.delete36 connectors

Try it

Prompts to paste into Claude.

Each one names the Visma eAccounting actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which Visma eAccounting invoices are more than 30 days overdue? Group them by customer with the total owed.

    callsvisma_eaccounting.customer_invoices.list

  2. Writewrite

    Create a single customer invoice in Visma eAccounting. Show me exactly what you will send before you save it.

    callsvisma_eaccounting.customer_invoices.create

  3. Across systemsread

    For each customer, how many invoices are in Visma eAccounting and how many tickets in ConnectWise PSA?

    callsvisma_eaccounting.customer_invoices.listconnectwise_manage.tickets.list

Across your systems

Visma eAccounting, joined to the rest of your business.

One ask fetches from Visma eAccounting and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • For each customer, how many invoices are in Visma eAccounting and how many tickets in ConnectWise PSA?

    visma_eaccounting.customer_invoices.list + connectwise_manage.tickets.list, on crm.company · ConnectWise PSA

  • For each customer, how many invoices are in Visma eAccounting and how many tickets in HubSpot CRM?

    visma_eaccounting.customer_invoices.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorsidentity.user 517crm.company 227work.project 116commerce.product 109finance.invoice 91commerce.order 86finance.quote 45asset.supplier 38
ask
ask {  intent: "for each customer, how many invoices are in Visma eAccounting and how many tickets in ConnectWise PSA",  steps: [    { action: "visma_eaccounting.customer_invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "inv",        right: "tix",        on: "crm.company",        group_by: "inv.company_name",        select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Visma eAccounting

Destructive actions wait for a yes.

24 Visma eAccounting actions are destructive. These are all of them:

  • Delete a quotevisma_eaccounting.quotes.delete
  • Delete a bank accountvisma_eaccounting.bank_accounts.delete
  • Delete an ordervisma_eaccounting.orders.delete
  • Delete a customervisma_eaccounting.customers.delete
  • Void a customer invoicevisma_eaccounting.customer_invoices.void
  • Delete a suppliervisma_eaccounting.suppliers.delete
  • Delete a customer labelvisma_eaccounting.customer_labels.delete
  • Void an ordervisma_eaccounting.orders.void
  • Delete an attachmentvisma_eaccounting.attachments.delete
  • Delete a quote draftvisma_eaccounting.quote_drafts.delete
  • Delete an article labelvisma_eaccounting.article_labels.delete
  • Delete voucher draftvisma_eaccounting.voucher_drafts.delete
  • Delete the link between an existing document and its attachmentvisma_eaccounting.attachment_links.delete
  • Delete a sales price listvisma_eaccounting.sales_price_lists.delete
  • Delete a partner resource linkvisma_eaccounting.partner_resource_links.delete
  • Delete a customer invoice draftvisma_eaccounting.customer_invoice_drafts.delete
  • Delete a supplier invoice draftvisma_eaccounting.supplier_invoice_drafts.delete
  • Delete order attachmentvisma_eaccounting.sales_document_attachments.delete_from_order
  • Delete quote attachmentvisma_eaccounting.sales_document_attachments.delete_from_quote
  • Delete customer invoice attachmentvisma_eaccounting.sales_document_attachments.delete_from_invoice
  • Delete allocation periods for a supplier invoice draftvisma_eaccounting.supplier_invoice_drafts.delete_allocation_periods
  • Delete customer invoice draft attachmentvisma_eaccounting.sales_document_attachments.delete_from_invoice_draft
  • Delete customer invoice draft attachmentvisma_eaccounting.sales_document_attachments.delete_from_invoice_draft_legacy
  • Undo an existing offsetvisma_eaccounting.supplier_invoices.undo_offset

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dovisma_eaccounting.quotes.deleteconfirm_policy: human

Delete a quote?

intent: the user asked me to delete a quote

run suspended · waiting for a named person · key visma-eaccounting-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "visma-eaccounting-agent",  allowed_actions: ["visma_eaccounting.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "visma_eaccounting.quotes.delete", approver: "[email protected]" },    { match: "visma_eaccounting.bank_accounts.delete", approver: "[email protected]" },    { match: "visma_eaccounting.orders.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Visma eAccounting only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Visma eAccounting costs on actionlake.

Every Visma eAccounting action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Visma eAccounting refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 222 Visma eAccounting actions
  • 222actions pageeach page of a long list is one call
  • 107reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Visma eAccounting action.

222 actions by area: the id your agent calls, what it does, and its effect.

Sales document attachments12
  • visma_eaccounting.sales_document_attachments.createCreate sales document attachmentwrite
  • visma_eaccounting.sales_document_attachments.create_for_invoiceCreate sales document attachment for customer invoicewrite
  • visma_eaccounting.sales_document_attachments.create_for_invoice_draftCreate sales document attachment for customer invoice draftwrite
  • visma_eaccounting.sales_document_attachments.create_for_orderCreate sales document attachment for orderwrite
  • visma_eaccounting.sales_document_attachments.create_for_quoteCreate sales document attachment for quotewrite
  • visma_eaccounting.sales_document_attachments.delete_from_invoiceDelete customer invoice attachmentdestructive
  • visma_eaccounting.sales_document_attachments.delete_from_invoice_draftDelete customer invoice draft attachmentdestructive
  • visma_eaccounting.sales_document_attachments.delete_from_invoice_draft_legacyDelete customer invoice draft attachmentdestructive
  • visma_eaccounting.sales_document_attachments.delete_from_orderDelete order attachmentdestructive
  • visma_eaccounting.sales_document_attachments.delete_from_quoteDelete quote attachmentdestructive
  • visma_eaccounting.sales_document_attachments.getGet sales document attachment information by Idread
  • visma_eaccounting.sales_document_attachments.listGet all sales document attachmentsread
Orders11
  • visma_eaccounting.orders.completeComplete an orderwrite
  • visma_eaccounting.orders.convert_draftConvert order draft to orderwrite
  • visma_eaccounting.orders.convert_to_invoiceConvert an order to an invoicewrite
  • visma_eaccounting.orders.createCreate an orderwrite
  • visma_eaccounting.orders.create_backorderCreate a backorderwrite
  • visma_eaccounting.orders.deleteDelete an orderdestructive
  • visma_eaccounting.orders.getGet a specific order based on Idread
  • visma_eaccounting.orders.listGet ordersread
  • visma_eaccounting.orders.send_emailSend an order as emailwrite
  • visma_eaccounting.orders.updateUpdate an orderwrite
  • visma_eaccounting.orders.voidVoid an orderdestructive
Quotes10
  • visma_eaccounting.quotes.acceptAccepts an ongoing quotewrite
  • visma_eaccounting.quotes.convert_to_invoiceConvert a quote to a customer invoicewrite
  • visma_eaccounting.quotes.convert_to_orderConvert a quote to an orderwrite
  • visma_eaccounting.quotes.createCreate a quotewrite
  • visma_eaccounting.quotes.deleteDelete a quotedestructive
  • visma_eaccounting.quotes.getGet a specific quote based on idread
  • visma_eaccounting.quotes.listGet quotesread
  • visma_eaccounting.quotes.preview_orderPreview the result of converting a quote to an orderread
  • visma_eaccounting.quotes.send_emailSend a quote as emailwrite
  • visma_eaccounting.quotes.updateUpdate a quotewrite
Customer invoices9
  • visma_eaccounting.customer_invoices.createCreate a single customer invoicewrite
  • visma_eaccounting.customer_invoices.create_paymentPost a customer invoice paymentwrite
  • visma_eaccounting.customer_invoices.getGets a customer invoice with a specific idread
  • visma_eaccounting.customer_invoices.get_pdf_urlGets a customer invoice in Portable Document Format (PDF)read
  • visma_eaccounting.customer_invoices.listGet all customer invoicesread
  • visma_eaccounting.customer_invoices.send_einvoiceSend an invoice electronicallywrite
  • visma_eaccounting.customer_invoices.send_emailSend an invoice via emailwrite
  • visma_eaccounting.customer_invoices.send_payment_reminderSend an a payment reminder for an invoicewrite
  • visma_eaccounting.customer_invoices.voidVoid a customer invoicedestructive
Sales price lists9
  • visma_eaccounting.sales_price_lists.createCreate a sales price listwrite
  • visma_eaccounting.sales_price_lists.deleteDelete a sales price listdestructive
  • visma_eaccounting.sales_price_lists.getGet a specific sales price list based on idread
  • visma_eaccounting.sales_price_lists.get_priceGet a specific sales price for an article in a price listread
  • visma_eaccounting.sales_price_lists.listGet sales price listsread
  • visma_eaccounting.sales_price_lists.list_list_pricesGet sales prices in a price listread
  • visma_eaccounting.sales_price_lists.list_pricesGet sales pricesread
  • visma_eaccounting.sales_price_lists.updateUpdate a sales price listwrite
  • visma_eaccounting.sales_price_lists.update_pricesUpdate article prices in a sales price listwrite
Supplier invoices8
  • visma_eaccounting.supplier_invoices.createCreate a supplier invoicewrite
  • visma_eaccounting.supplier_invoices.create_offsetCreate an offset between a credit invoice and one or more debit invoiceswrite
  • visma_eaccounting.supplier_invoices.create_paymentCreate a payment for a supplier invoicewrite
  • visma_eaccounting.supplier_invoices.getGet a supplier invoiceread
  • visma_eaccounting.supplier_invoices.listGet supplier invoicesread
  • visma_eaccounting.supplier_invoices.list_offset_candidatesGet available debit invoices that can be offset by a credit invoiceread
  • visma_eaccounting.supplier_invoices.undo_offsetUndo an existing offsetdestructive
  • visma_eaccounting.supplier_invoices.validate_transactional_costsValidate transactional costs for a supplier invoiceread
Message threads7
  • visma_eaccounting.message_threads.createCreate message threadwrite
  • visma_eaccounting.message_threads.getGet message threadread
  • visma_eaccounting.message_threads.listGet all message threadsread
  • visma_eaccounting.message_threads.list_messagesGet all messagesread
  • visma_eaccounting.message_threads.list_thread_messagesGet message thread messagesread
  • visma_eaccounting.message_threads.replyReply to message threadwrite
  • visma_eaccounting.message_threads.set_statusMark message threadwrite
Supplier invoice drafts7
  • visma_eaccounting.supplier_invoice_drafts.convertConvert a supplier invoice draft to a supplier invoicewrite
  • visma_eaccounting.supplier_invoice_drafts.createCreate a supplier invoice draftwrite
  • visma_eaccounting.supplier_invoice_drafts.deleteDelete a supplier invoice draftdestructive
  • visma_eaccounting.supplier_invoice_drafts.delete_allocation_periodsDelete allocation periods for a supplier invoice draftdestructive
  • visma_eaccounting.supplier_invoice_drafts.getGet a supplier invoice draftread
  • visma_eaccounting.supplier_invoice_drafts.listGet supplier invoice draftsread
  • visma_eaccounting.supplier_invoice_drafts.updateUpdate a supplier invoice draftwrite
Accounts6
  • visma_eaccounting.accounts.createCreate accountwrite
  • visma_eaccounting.accounts.getGet single accountread
  • visma_eaccounting.accounts.listGet accountsread
  • visma_eaccounting.accounts.list_by_fiscal_yearGet accounts by fiscal yearread
  • visma_eaccounting.accounts.list_standardGet standard accountsread
  • visma_eaccounting.accounts.updateReplace accountwrite
Customer invoice drafts6
  • visma_eaccounting.customer_invoice_drafts.convertConvert a CustomerInvoiceDraft to a CustomerInvoicewrite
  • visma_eaccounting.customer_invoice_drafts.createCreate a single customer invoice draftwrite
  • visma_eaccounting.customer_invoice_drafts.deleteDelete a customer invoice draftdestructive
  • visma_eaccounting.customer_invoice_drafts.getGet a customer invoice draft by idread
  • visma_eaccounting.customer_invoice_drafts.listGet all customer invoice draftsread
  • visma_eaccounting.customer_invoice_drafts.updateReplace the data in a customer invoice draftwrite
Customers6
  • visma_eaccounting.customers.createCreate a customerwrite
  • visma_eaccounting.customers.deleteDelete a customerdestructive
  • visma_eaccounting.customers.getGet a specific customer based on idread
  • visma_eaccounting.customers.listGet customersread
  • visma_eaccounting.customers.list_autoinvoice_recipientsGet autoinvoice recipients for a customerread
  • visma_eaccounting.customers.updateUpdate a customerwrite
Fiscal years6
  • visma_eaccounting.fiscal_years.createCreate a fiscal yearwrite
  • visma_eaccounting.fiscal_years.getGet a fiscal yearread
  • visma_eaccounting.fiscal_years.listGet fiscal yearsread
  • visma_eaccounting.fiscal_years.list_opening_balancesGet opening balancesread
  • visma_eaccounting.fiscal_years.updateUpdate a fiscal yearwrite
  • visma_eaccounting.fiscal_years.update_opening_balancesUpdate opening balanceswrite
Quote drafts6
  • visma_eaccounting.quote_drafts.convertConvert a quote draft to a quotewrite
  • visma_eaccounting.quote_drafts.createCreate a quote draftwrite
  • visma_eaccounting.quote_drafts.deleteDelete a quote draftdestructive
  • visma_eaccounting.quote_drafts.getGet a specific quote draft based on idread
  • visma_eaccounting.quote_drafts.listGet all quote draftsread
  • visma_eaccounting.quote_drafts.updateUpdate a quote draftwrite
Voucher drafts6
  • visma_eaccounting.voucher_drafts.convertConvert voucher draft to voucherwrite
  • visma_eaccounting.voucher_drafts.createCreate voucher draftwrite
  • visma_eaccounting.voucher_drafts.deleteDelete voucher draftdestructive
  • visma_eaccounting.voucher_drafts.getGet voucher draft by idread
  • visma_eaccounting.voucher_drafts.listGet voucher draftsread
  • visma_eaccounting.voucher_drafts.updateUpdate voucher draftwrite
Article labels5
  • visma_eaccounting.article_labels.createCreate an article labelwrite
  • visma_eaccounting.article_labels.deleteDelete an article labeldestructive
  • visma_eaccounting.article_labels.getGets an article label by idread
  • visma_eaccounting.article_labels.listGets all article labelsread
  • visma_eaccounting.article_labels.updateReplace an article labelwrite
Bank accounts5
  • visma_eaccounting.bank_accounts.createCreate a bank accountwrite
  • visma_eaccounting.bank_accounts.deleteDelete a bank accountdestructive
  • visma_eaccounting.bank_accounts.getGet a bank accountread
  • visma_eaccounting.bank_accounts.listGet bank accountsread
  • visma_eaccounting.bank_accounts.updateReplace a bank accountwrite
Customer labels5
  • visma_eaccounting.customer_labels.createCreate a customer labelwrite
  • visma_eaccounting.customer_labels.deleteDelete a customer labeldestructive
  • visma_eaccounting.customer_labels.getGets a customer label by idread
  • visma_eaccounting.customer_labels.listGets all customer labelsread
  • visma_eaccounting.customer_labels.updateReplace a customer labelwrite
Partner resource links5
  • visma_eaccounting.partner_resource_links.createCreate a partner resource linkwrite
  • visma_eaccounting.partner_resource_links.deleteDelete a partner resource linkdestructive
  • visma_eaccounting.partner_resource_links.getGet a partner resource linkread
  • visma_eaccounting.partner_resource_links.listGet partner resource linksread
  • visma_eaccounting.partner_resource_links.updateUpdate a partner resource linkwrite
Suppliers5
  • visma_eaccounting.suppliers.createCreate a supplierwrite
  • visma_eaccounting.suppliers.deleteDelete a supplierdestructive
  • visma_eaccounting.suppliers.getGet a supplierread
  • visma_eaccounting.suppliers.listGet suppliersread
  • visma_eaccounting.suppliers.updateReplace a supplierwrite
Allocation periods4
  • visma_eaccounting.allocation_periods.createAdd allocation periods for voucher or supplier invoicewrite
  • visma_eaccounting.allocation_periods.getGet single allocation periodread
  • visma_eaccounting.allocation_periods.listGet allocation periodsread
  • visma_eaccounting.allocation_periods.updateUpdate allocation periods for voucher or supplier invoicewrite
Articles4
  • visma_eaccounting.articles.createCreate a single articlewrite
  • visma_eaccounting.articles.getGets an article by idread
  • visma_eaccounting.articles.listGets articlesread
  • visma_eaccounting.articles.updateReplace an articlewrite
Attachments4
  • visma_eaccounting.attachments.createCreate an attachmentwrite
  • visma_eaccounting.attachments.deleteDelete an attachmentdestructive
  • visma_eaccounting.attachments.getGet a specific attachment based on idread
  • visma_eaccounting.attachments.listGet attachmentsread
Company settings4
  • visma_eaccounting.company_settings.getGet company settingsread
  • visma_eaccounting.company_settings.updateReplace company settingswrite
  • visma_eaccounting.company_settings.update_accounting_lockUpdate accounting lock settingswrite
  • visma_eaccounting.company_settings.update_rot_rutUpdate ROT/RUT settingswrite
Customer ledger items4
  • visma_eaccounting.customer_ledger_items.createCreate a customer ledger itemwrite
  • visma_eaccounting.customer_ledger_items.create_with_voucherCreate a customer ledger item with voucherwrite
  • visma_eaccounting.customer_ledger_items.getGet a customer ledger itemread
  • visma_eaccounting.customer_ledger_items.listGet customer ledger itemsread
Notes4
  • visma_eaccounting.notes.createCreate a new notewrite
  • visma_eaccounting.notes.getGet a specific noteread
  • visma_eaccounting.notes.listGet all notesread
  • visma_eaccounting.notes.updateUpdate a notewrite
Projects4
  • visma_eaccounting.projects.createCreate a projectwrite
  • visma_eaccounting.projects.getGet a projectread
  • visma_eaccounting.projects.listGet projectsread
  • visma_eaccounting.projects.updateReplace a projectwrite
Vouchers4
  • visma_eaccounting.vouchers.createCreate a voucherwrite
  • visma_eaccounting.vouchers.getGet a voucherread
  • visma_eaccounting.vouchers.listGet vouchersread
  • visma_eaccounting.vouchers.list_by_fiscal_yearGet vouchers by fiscal yearread
Bank transactions3
  • visma_eaccounting.bank_transactions.getGet a specific bank transactionread
  • visma_eaccounting.bank_transactions.list_matchedGet a list of matched bank transactionsread
  • visma_eaccounting.bank_transactions.list_unmatchedGet a list of unmatched bank transactionsread
Cost center items3
  • visma_eaccounting.cost_center_items.createCreate a single cost center itemwrite
  • visma_eaccounting.cost_center_items.getGet a specific cost center itemread
  • visma_eaccounting.cost_center_items.updateReplace the data in a cost center itemwrite
Delivery methods3
  • visma_eaccounting.delivery_methods.createCreate a delivery methodwrite
  • visma_eaccounting.delivery_methods.getGet a specific delivery method based on idread
  • visma_eaccounting.delivery_methods.listGet delivery methodsread
Delivery terms3
  • visma_eaccounting.delivery_terms.createCreate a delivery termwrite
  • visma_eaccounting.delivery_terms.getGet a specific delivery term based on idread
  • visma_eaccounting.delivery_terms.listGet delivery termsread
Webshop orders3
  • visma_eaccounting.webshop_orders.convert_to_invoiceConvert webshop order to invoicewrite
  • visma_eaccounting.webshop_orders.getGet a specific webshop orderread
  • visma_eaccounting.webshop_orders.listGet webshop ordersread
Account balances2
  • visma_eaccounting.account_balances.getGet account balance by account number and dateread
  • visma_eaccounting.account_balances.listGet account balances by dateread
Approvals2
  • visma_eaccounting.approvals.set_supplier_invoice_statusReplace the approval status of a supplier invoice draftwrite
  • visma_eaccounting.approvals.set_vat_report_statusReplace the approval status of a vat reportwrite
Appstore2
  • visma_eaccounting.appstore.list_statusGet app store activation statusesread
  • visma_eaccounting.appstore.update_statusUpdate app store activation statuswrite
Article account codings2
  • visma_eaccounting.article_account_codings.getGet a specific article account codingread
  • visma_eaccounting.article_account_codings.listGet article account codingsread
Attachment links2
  • visma_eaccounting.attachment_links.createCreate new links between an existing document and a set of attachmentswrite
  • visma_eaccounting.attachment_links.deleteDelete the link between an existing document and its attachmentdestructive
Cost centers2
  • visma_eaccounting.cost_centers.listGet cost centersread
  • visma_eaccounting.cost_centers.updateUpdate a cost centerwrite
Countries2
  • visma_eaccounting.countries.getGet a specific countryread
  • visma_eaccounting.countries.listGet countriesread
Currencies2
  • visma_eaccounting.currencies.get_exchange_rateGet currency exchange rateread
  • visma_eaccounting.currencies.listGet a list of currenciesread
Discount agreements2
  • visma_eaccounting.discount_agreements.getGets a discount agreement by idread
  • visma_eaccounting.discount_agreements.listGets all discount agreementsread
Documents2
  • visma_eaccounting.documents.getGet a document by idread
  • visma_eaccounting.documents.list_backgroundsGet all available document backgroundsread
Foreign payment codes2
  • visma_eaccounting.foreign_payment_codes.getGet a foreign payment coderead
  • visma_eaccounting.foreign_payment_codes.listGet foreign payment codesread
Inventory items2
  • visma_eaccounting.inventory_items.getGet an inventory itemread
  • visma_eaccounting.inventory_items.listGet inventory itemsread
Sie2
  • visma_eaccounting.sie.exportExport SIE4 fileread
  • visma_eaccounting.sie.importImport SIE4 filewrite
Terms of payment2
  • visma_eaccounting.terms_of_payment.getGet a terms of payment based on idread
  • visma_eaccounting.terms_of_payment.listGet all terms of paymentsread
Units2
  • visma_eaccounting.units.getGet unitread
  • visma_eaccounting.units.listGet unitsread
Vat codes2
  • visma_eaccounting.vat_codes.getGet a vat code by Idread
  • visma_eaccounting.vat_codes.listGet vat codesread
Vat reports2
  • visma_eaccounting.vat_reports.getGet a vat report by Idread
  • visma_eaccounting.vat_reports.listGet vat reportsread
Vouchers with overunder payment2
  • visma_eaccounting.vouchers_with_overunder_payment.createCreate over/under payment voucherwrite
  • visma_eaccounting.vouchers_with_overunder_payment.list_relationsGet voucher relationsread
Account types1
  • visma_eaccounting.account_types.listGet default account typesread
Banks1
  • visma_eaccounting.banks.listGet available banksread
Payment vouchers1
  • visma_eaccounting.payment_vouchers.createCreate a payment voucherwrite
Users1
  • visma_eaccounting.users.listGet usersread
Vat code rates1
  • visma_eaccounting.vat_code_rates.listGet vat codes with ratesread

Questions

The Visma eAccounting MCP server, answered.

Is there a Visma eAccounting MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 222 Visma eAccounting actions across sales document attachments, orders, quotes and customer invoices, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Visma eAccounting.

What do I need to connect Visma eAccounting?

Your own Visma eAccounting OAuth app, registered with Visma eAccounting (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Visma eAccounting app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "visma_eaccounting" } lists exactly what to paste.

Can an AI agent delete or change things in Visma eAccounting?

Only if its key allows it, and only with an explicit confirmation. 24 Visma eAccounting actions are destructive, including delete a quote, delete a bank account and delete an order. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Visma eAccounting API limit?

actionlake paces every call to the limits in the Visma eAccounting service file: 600 calls a minute per connection. Repeated reads are answered from cache (107 Visma eAccounting actions can be), which never reaches Visma eAccounting.

What does a Visma eAccounting action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (222 Visma eAccounting actions page). Cache hits, searches, dry runs and calls Visma eAccounting refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Visma eAccounting API does it cover?

The eAccounting API v2 (OpenAPI 3.0.4) at eaccountingapi.vismaonline.com/v2. It is built from Visma eAccounting's documentation as read on 23 October 2026. 222 actions in 55 areas, each one in the signed service file (version 1.0.0).

Can I combine Visma eAccounting with my other systems?

Yes. ask joins Visma eAccounting to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Visma eAccounting maps crm.company, which 227 other connectors also map.

Does actionlake keep my Visma eAccounting data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Visma eAccounting credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Visma eAccounting today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.