Integration

Visma eAccounting integration

Visma eAccounting (sold in Sweden as Spiris Bookkeeping & Invoicing) is an online accounting and invoicing service for small businesses. Read the chart of accounts, account balances, fiscal years, VAT codes, cost centers, terms of payment, units, currencies and exchange rates; manage articles and their labels, bookkeeping projects, cost center items and customer labels; read sales price lists and fixed assets; create, read and delete customers and suppliers; read customer and supplier invoices; create customer invoice drafts and issue them as invoices; create supplier invoice drafts; book vouchers. Not exposed: customer and supplier updates (full replacements of records whose addresses and bank details are not returned), orders, quotes, payments, sending by e-mail or e-invoice, PDFs, bank accounts and transactions, voucher reads, VAT reports, messages, company settings, users, webhooks and SIE import or export. Customer, supplier and invoice records are returned without postal addresses, personal or corporate identity numbers, VAT numbers, phone numbers, bank or payment account details and ROT/RUT person data, and their lists are paged only (no $filter or $orderby), so a filter cannot test those fields; other lists take OData $filter and $orderby. Authentication: OAuth2 with your own Visma Developer (Spiris Partner Programme) client; sandbox credentials come by e-mail on registration and production access is granted by Visma API support on request. Rate limit: 600 requests per minute per client and endpoint. Visma's developer terms limit the data to the connected company's own business purposes and require Visma's approval before it feeds a marketplace, dashboarding, white-label or financial-services offering.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Visma eAccounting.Built from the 78 Visma eAccounting tools below, on the connection you add once.

What you can do with Visma eAccounting

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Account, 5 operations

  • create_accountCreate accountPOSTAdds a bookkeeping account to the chart of accounts of a fiscal year (FiscalYearId from list_fiscal_years). Returns the new account.
  • get_accountGet accountGETGets one bookkeeping account of a fiscal year by its account number.
  • list_accountsList accountsGETLists the chart of accounts (bookkeeping accounts) of the current fiscal year with number, name, VAT code and type. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • list_accounts_by_fiscal_yearList accounts by fiscal yearGETLists the chart of accounts of one fiscal year (id from list_fiscal_years). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • list_standard_accountsList standard accountsGETLists the standard accounts of the chart of accounts (the predefined account numbers). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Article label, 5 operations

  • create_article_labelCreate article labelPOSTCreates an article label.
  • delete_article_labelDelete article labelDELETEDeletes an article label. This removes real data: confirm first.
  • get_article_labelGet article labelGETGets one article label by id.
  • list_article_labelsList article labelsGETLists article labels (tags used to group articles). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • update_article_labelUpdate article labelPUTUpdates an article label. Replaces the whole record: read it first and send every field back with your change.

Customer label, 5 operations

  • create_customer_labelCreate customer labelPOSTCreates a customer label.
  • delete_customer_labelDelete customer labelDELETEDeletes a customer label. This removes real data: confirm first.
  • get_customer_labelGet customer labelGETGets one customer label by id.
  • list_customer_labelsList customer labelsGETLists customer labels (tags used to group customers). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • update_customer_labelUpdate customer labelPUTUpdates a customer label. Replaces the whole record: read it first and send every field back with your change.

Article, 4 operations

  • create_articleCreate articlePOSTCreates an article (product or service). CodingId from list_article_account_codings and UnitId from list_units are required. Returns the new article.
  • get_articleGet articleGETGets one article by id with its prices, unit, coding and stock.
  • list_articlesList articlesGETLists articles (products and services you sell) with number, name, prices, unit, coding and stock. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • update_articleUpdate articlePUTUpdates an article. Replaces the whole record: read it first and send every field back with your change.

Customer, 4 operations

  • create_customerCreate customerPOSTCreates a customer. Name, InvoiceCity, InvoicePostalCode, IsPrivatePerson and TermsOfPaymentId are among the required fields. Returns the new customer.
  • delete_customerDelete customerDELETEDeletes a customer. This removes real data: confirm first. A customer that has transactions cannot be deleted this way.
  • get_customerGet customerGETGets one customer by id (no postal addresses, identity, tax or bank numbers).
  • list_customersList customersGETLists customers with number, name, e-mail, terms of payment, labels and status (no postal addresses, identity, tax or bank numbers). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Customer invoice draft, 4 operations

  • create_customer_invoice_draftCreate customer invoice draftPOSTCreates a customer invoice draft for a customer (CustomerId from list_customers) with rows; nothing is booked or sent. Issue it with convert_customer_invoice_draft.
  • delete_customer_invoice_draftDelete customer invoice draftDELETEDeletes a customer invoice draft. This removes real data: confirm first.
  • get_customer_invoice_draftGet customer invoice draftGETGets one customer invoice draft by id with its rows and totals.
  • list_customer_invoice_draftsList customer invoice draftsGETLists customer invoice drafts (invoices not yet issued). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Project, 4 operations

  • create_projectCreate projectPOSTCreates a bookkeeping project. Number, Name, StartDate and Status are required. Returns the new project.
  • get_projectGet projectGETGets one project by id.
  • list_projectsList projectsGETLists bookkeeping projects (used to follow up costs and revenues) with number, name, dates, customer and status. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • update_projectUpdate projectPUTUpdates a project; the project number must stay unique. Replaces the whole record: read it first and send every field back with your change.

Supplier, 4 operations

  • create_supplierCreate supplierPOSTCreates a supplier. Returns the new supplier (without its postal address, identity, tax or bank details).
  • delete_supplierDelete supplierDELETEDeletes a supplier. This removes real data: confirm first. A supplier that has transactions cannot be deleted this way.
  • get_supplierGet supplierGETGets one supplier by id (no postal address, identity, tax or bank details).
  • list_suppliersList suppliersGETLists suppliers with number, name, e-mail, currency, terms of payment and status (no postal addresses, identity, tax or bank details). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Supplier invoice draft, 4 operations

  • create_supplier_invoice_draftCreate supplier invoice draftPOSTCreates a supplier invoice draft for a supplier (SupplierId from list_suppliers); it is not booked until converted in eAccounting.
  • delete_supplier_invoice_draftDelete supplier invoice draftDELETEDeletes a supplier invoice draft. This removes real data: confirm first.
  • get_supplier_invoice_draftGet supplier invoice draftGETGets one supplier invoice draft by id with its rows and amounts.
  • list_supplier_invoice_draftsList supplier invoice draftsGETLists supplier invoice drafts (purchase invoices not yet booked). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Cost center item, 3 operations

  • create_cost_center_itemCreate cost center itemPOSTAdds an item to a cost center (CostCenterId from list_cost_centers). Returns the new item.
  • get_cost_center_itemGet cost center itemGETGets one cost center item by id.
  • update_cost_center_itemUpdate cost center itemPUTUpdates a cost center item. Replaces the whole record: read it first and send every field back with your change.

Customer invoice, 3 operations

  • convert_customer_invoice_draftConvert customer invoice draftPOSTTurns a customer invoice draft into a real customer invoice in the books. This issues the invoice for real: confirm first. Returns the invoice.
  • get_customer_invoiceGet customer invoiceGETGets one customer invoice by id with rows, totals and payment status (no postal addresses or personal identity numbers).
  • list_customer_invoicesList customer invoicesGETLists customer (sales) invoices with customer, rows, totals, dates and payment status. modifiedSinceUtc limits to recently changed ones. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Sales price, 3 operations

  • get_sales_priceGet sales priceGETGets the price of one article in one sales price list.
  • list_sales_pricesList sales pricesGETLists article prices across all sales price lists. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • list_sales_prices_in_listList sales prices in listGETLists the article prices of one sales price list. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Vat code, 3 operations

  • get_vat_codeGet vat codeGETGets one VAT code by id with its rate and related accounts.
  • list_vat_code_ratesList vat code ratesGETLists VAT codes together with their rates. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.
  • list_vat_codesList vat codesGETLists VAT codes with their rates and related accounts. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Account balance, 2 operations

  • get_account_balanceGet account balanceGETGets the balance of one bookkeeping account on a given date.
  • list_account_balancesList account balancesGETLists the balance of every bookkeeping account on a given date. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Article account coding, 2 operations

  • get_article_account_codingGet article account codingGETGets one article account coding by id with its VAT rate and sales accounts.
  • list_article_account_codingsList article account codingsGETLists article account codings (which sales accounts and VAT rate an article books to); pass an Id as CodingId on articles. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Country, 2 operations

  • get_countryGet countryGETGets one country by its two-letter code.
  • list_countriesList countriesGETLists countries with their codes and EU membership. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Delivery method, 2 operations

  • get_delivery_methodGet delivery methodGETGets one delivery method by id.
  • list_delivery_methodsList delivery methodsGETLists delivery methods available on sales documents. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Delivery term, 2 operations

  • get_delivery_termGet delivery termGETGets one delivery term by id.
  • list_delivery_termsList delivery termsGETLists delivery terms available on sales documents. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Fiscal year, 2 operations

  • get_fiscal_yearGet fiscal yearGETGets one fiscal year by id.
  • list_fiscal_yearsList fiscal yearsGETLists the company's fiscal years with start and end dates, lock state and bookkeeping method. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Fixed asset, 2 operations

  • get_fixed_assetGet fixed assetGETGets one fixed asset (inventory item) by id with its depreciation settings.
  • list_fixed_assetsList fixed assetsGETLists fixed assets (inventory items) with purchase price, depreciation settings and status. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Sales price list, 2 operations

  • get_sales_price_listGet sales price listGETGets one sales price list by id.
  • list_sales_price_listsList sales price listsGETLists sales price lists with name, currency and status. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Supplier invoice, 2 operations

  • get_supplier_invoiceGet supplier invoiceGETGets one supplier invoice by id with its rows and amounts.
  • list_supplier_invoicesList supplier invoicesGETLists supplier (purchase) invoices with supplier, amounts, VAT, dates and payment state. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Terms of payment, 2 operations

  • get_terms_of_paymentGet terms of paymentGETGets one terms of payment by id.
  • list_terms_of_paymentList terms of paymentGETLists terms of payment (such as 30 days net) with their ids, for customers, suppliers and invoices. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Unit, 2 operations

  • get_unitGet unitGETGets one unit of measure by id.
  • list_unitsList unitsGETLists units of measure (such as pieces or hours) used on articles. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Account type, 1 operation

  • list_account_typesList account typesGETLists the default account types (such as assets or revenue) used to classify bookkeeping accounts. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Cost center, 1 operation

  • list_cost_centersList cost centersGETLists cost centers with their items (the values you can book costs and revenues on). Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Currency, 1 operation

  • list_currenciesList currenciesGETLists the currencies available for invoicing. Paged: $page and $pagesize (50 by default, at most 1000); Meta gives the page count and total.

Exchange rate, 1 operation

  • get_exchange_rateGet exchange rateGETGets the exchange rate between two currencies on a date.

Voucher, 1 operation

  • create_voucherCreate voucherPOSTBooks a voucher (journal entry) with debit and credit rows on accounts. This writes to the books for real: check the rows balance and confirm first.

Use Visma eAccounting from Claude Code, Cursor or Codex

Connect Visma eAccounting in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Visma eAccounting operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Visma eAccounting

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Visma eAccounting once

    Add your Visma eAccounting connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Visma eAccounting integration FAQ

What can you do with the Visma eAccounting integration?

LiveContext exposes 78 operations on Visma eAccounting, covering account, article label, customer label and article.

Popular integrations

Browse the whole catalog