# Visma eAccounting — Accounting API: overview

> Canonical URL: https://developers.apideck.com/apis/accounting/visma-eaccounting/overview

Visma eAccounting is a Nordic SaaS accounting and invoicing platform for small businesses in Sweden, Norway, and the Netherlands.
- Status: beta
- Authentication: oauth2

- **account type required:** An active eAccounting subscription (Norway, Netherlands) or Bokföring & Fakturering (Sweden)
- **apideck credentials available:** true
- **apideck credentials note:** For testing: consumers see Apideck on the consent screen; use your own Spiris/Visma app for production.
- **authentication note:** Authorization Code flow.
- **consumer access level:** Any user who can sign in with the company's Visma Online login — the consumer selects the company during the OAuth flow; no specific admin role is documented.
- **costs:** No API usage fees documented by the vendor; developer registration and the sandbox are self-service at no stated cost.
- **difficulty:** moderate
- **difficulty reason:** Self-Service Signup + Production Access Approval Required
- **environment notes:**   - **description:** Register at https://selfservice.developer.vismaonline.com/ — sandbox client id and secret arrive by email together with a sandbox eAccounting / Bokföring & Fakturering test company. Sandbox companies are for app development only.
  - **environment:** Sandbox
  - **description:** Live customer data. Production credentials are issued after a request to Spiris/Visma API support — they are not self-service.
  - **environment:** Production
  - **description:** Sandbox and production share the same API base URL (https://eaccountingapi.vismaonline.com/v2) and the same identity server (https://identity.vismaonline.com). The two environments are distinguished ONLY by which OAuth client credentials you use.
  - **environment:** Both
- **important to know:** One product, several names — and two Apideck connectors: spiris (canonical) and visma-eaccounting (this legacy-name alias). Sold as eAccounting (Norway, Netherlands) and Bokföring & Fakturering (Sweden). Coverage is identical — pick the id your consumers know.
A consumer changing their Visma Online password silently invalidates the refresh token. The connection keeps looking healthy until the next call fails, at which point the consumer must reauthorize.
- **partnership note:** Registration is self-service; production credentials are issued on request by Spiris/Visma API support.
- **partnership portal name:** Visma Developer Self-Service Portal
- **partnership required:** true
- **partnership url:** https://selfservice.developer.vismaonline.com/
- **rate limits:** Not documented by the vendor. Expect HTTP 429 responses if you exceed an unpublished throttle.
- **responsibility matrix:**   - **apideck:** Support available
  - **area:** Register in the Visma Developer Self-Service Portal
  - **customer:** ✓ (not needed if you use Apideck credentials)
  - **apideck:** Docs provided
  - **area:** Configure the OAuth app (redirect URI, scopes)
  - **customer:** ✓ (not needed if you use Apideck credentials)
  - **apideck:** Support available
  - **area:** Request production access from Spiris/Visma API support
  - **customer:** ✓ (not needed if you use Apideck credentials)
  - **area:** Add client credentials in the Apideck Dashboard
  - **customer:** ✓ (not needed if you use Apideck credentials)
  - **apideck:** Handles the OAuth flow
  - **area:** Authorize the connection (OAuth)
  - **consumer:** ✓
  - **apideck:** Maintains the connector
  - **area:** Build against the Unified API
  - **customer:** ✓
  - **apideck:** ✓ Automatic
  - **area:** Token refresh
  - **apideck:** ✓ Automatic, per connection
  - **area:** Webhook registration
  - **apideck:** Logs and alerts
  - **area:** Monitor connections
  - **consumer:** ✓ Can revoke at any time
  - **customer:** ✓ Via the Apideck Dashboard
- **sandbox available:** true
- **sandbox note:** Free and self-service.
- **sandbox url:** https://selfservice.developer.vismaonline.com/
- **supported resource categories:**   - **name:** Core Financial
  - **resources:** ledger-accounts
journal-entries
tax-rates
tracking-categories
bank-accounts
company-info
  - **name:** Accounts Receivable
  - **resources:** invoices
invoice-items
customers
credit-notes
payments
  - **name:** Accounts Payable
  - **resources:** bills
suppliers
bill-payments
  - **name:** Supporting
  - **resources:** attachments
webhooks
- **webhooks:** Native — customer, supplier, invoice, bill, payment, invoice-item, ledger-account and journal-entry events, auto-registered per connection.

## Supported resources

[Accounting data model](/guides/accounting-data-model.md)

- **custom field support:** true
- **downstream id:** company-info
- **downstream name:** Company Info
- **id:** company-info
- **name:** Company Info
- **status:** live
- **custom field support:** true
- **downstream id:** tax-rates
- **downstream name:** Tax Rates
- **id:** tax-rates
- **name:** Tax Rates
- **status:** live
- **custom field support:** false
- **downstream id:** fiscal-periods
- **downstream name:** Fiscal Periods
- **id:** fiscal-periods
- **name:** Fiscal Periods
- **status:** beta
- **custom field support:** false
- **downstream id:** trial-balance
- **downstream name:** Trial Balance
- **id:** trial-balance
- **name:** Trial Balance
- **status:** beta
- **custom field support:** true
- **downstream id:** customers
- **downstream name:** Customers
- **id:** customers
- **name:** Customers
- **status:** live
- **custom field support:** true
- **downstream id:** suppliers
- **downstream name:** Suppliers
- **id:** suppliers
- **name:** Suppliers
- **status:** live
- **custom field support:** true
- **downstream id:** bank-accounts
- **downstream name:** Bank Accounts
- **id:** bank-accounts
- **name:** Bank Accounts
- **status:** beta
- **custom field support:** true
- **downstream id:** invoice-items
- **downstream name:** Invoice Items
- **id:** invoice-items
- **name:** Invoice Items
- **status:** live
- **custom field support:** true
- **downstream id:** ledger-accounts
- **downstream name:** Ledger Accounts
- **id:** ledger-accounts
- **name:** Ledger Accounts
- **status:** live
- **custom field support:** true
- **downstream id:** invoices
- **downstream name:** Invoices
- **id:** invoices
- **name:** Invoices
- **status:** live
- **custom field support:** true
- **downstream id:** bills
- **downstream name:** Bills
- **id:** bills
- **name:** Bills
- **status:** live
- **custom field support:** true
- **downstream id:** credit-notes
- **downstream name:** Credit Notes
- **id:** credit-notes
- **name:** Credit Notes
- **status:** live
- **custom field support:** true
- **downstream id:** journal-entries
- **downstream name:** Journal Entries
- **id:** journal-entries
- **name:** Journal Entries
- **status:** live
- **custom field support:** false
- **downstream id:** tracking-categories
- **downstream name:** Tracking Categories
- **id:** tracking-categories
- **name:** Tracking Categories
- **status:** live
- **custom field support:** false
- **downstream id:** payments
- **downstream name:** Payments
- **id:** payments
- **name:** Payments
- **status:** live
- **custom field support:** false
- **downstream id:** bill-payments
- **downstream name:** Bill Payments
- **id:** bill-payments
- **name:** Bill Payments
- **status:** live
- **custom field support:** false
- **downstream id:** attachments
- **downstream name:** Attachments
- **id:** attachments
- **name:** Attachments
- **status:** live

An omitted operation list does not establish operation support. Verify the selected operation in the coverage matrix.

[API reference](https://developers.apideck.com/apis/accounting/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/accounting/coverage)
