Visma eAccounting Integration: VNDLY Sync Guide [2026]
Connect VNDLY with Spiris or Visma eAccounting. See exactly how customers, issued invoices, and optional product articles sync in this 2026 guide.
![Visma eAccounting Integration: VNDLY Sync Guide [2026]](https://hbnygimtuywsbraaeauf.supabase.co/storage/v1/object/public/blog-images/vndly-visma-eaccounting-integration-guide-2026/header-1787911202616.png)
Running inventory in one system and bookkeeping in another is normal. Copying every customer and invoice between them by hand shouldn't be.
That is the job of the VNDLY integration with Spiris, formerly known as Visma eAccounting. VNDLY remains the operational home for products, inventory, sales orders, fulfilment, and invoicing. Spiris receives the accounting-facing records your finance workflow needs.
This guide shows exactly what the integration sends today, which records it refuses to send, how to connect it, and where a human review still belongs. It is based on VNDLY's current implementation, not a generic promise that two systems will somehow “sync everything.”
Why Visma eAccounting integrations get messy
An accounting integration looks simple when drawn as one arrow. In practice, an invoice depends on other records.
Spiris needs to know who the customer is. An invoice has rows. Those rows may refer to products or services, which Spiris calls articles. Dates, currencies, payment terms, VAT coding, quantities, prices, and discounts all have to arrive in formats the accounting platform accepts.
Spiris's own sales guide describes the same relationship as “who” and “what”: the customer and the articles used on the invoice. Its API documentation also links a customer invoice to a customer and its rows to articles. That structure is why a safe integration can't treat an invoice as a loose PDF attachment.
Manual re-entry creates familiar problems:
- A customer exists twice under slightly different names.
- The invoice line says 12 units in VNDLY and 21 in accounting.
- A discount percentage is copied incorrectly.
- A draft invoice reaches accounting before operations has finished it.
- Nobody knows which system owns the correction.
The answer is not to let both systems edit everything. It is to define a clear direction and a review point.
⚡ The useful boundary
VNDLY owns the operational workflow. Spiris owns the accounting work after an issued invoice arrives. The integration removes re-keying without pretending both systems should be interchangeable.
What VNDLY syncs to Spiris or Visma eAccounting
The current integration is an outbound sync from VNDLY to Spiris. It can push customers, eligible invoices, and optional product articles. It does not pull Spiris payments, invoices, customers, or inventory changes back into VNDLY.
Customers
With Sync Customers enabled, VNDLY sends active customer records to Spiris. The payload can include:
- Customer number
- Legal or display name
- Invoice email or general email
- Telephone and website
- VAT number and notes
- Default currency
- Invoice address and country code
VNDLY also retrieves a default payment-term record from Spiris when available and attaches it to the customer. After a successful creation, VNDLY stores the Spiris customer ID as an external mapping. Future syncs use that mapping to update the known customer rather than blindly creating another one.
That mapping is important. Matching accounting records by name alone is fragile because names change and aren't always unique.
Issued invoices as drafts
With Push Invoices enabled, VNDLY sends finalized invoices to Spiris as drafts. The VNDLY interface states this plainly: “Push finalized invoices to Visma as drafts.”
The current payload includes the linked customer, invoice date, due date, currency, VNDLY invoice number as a reference, and the invoice rows. Each row can include its description, quantity, unit price, and discount percentage.
Before sending an invoice, VNDLY checks whether its customer already has a Spiris mapping. If not, it attempts to sync that customer first. Only after a customer ID exists does the invoice continue.
VNDLY then stores the Spiris invoice ID. If the same VNDLY invoice is included in a later manual batch, the existing mapping prevents it from being created again.
Product variants as articles, if enabled
Sync Items is optional and off by default. When enabled, active VNDLY product variants are pushed as Spiris articles.
The article number comes from the SKU when present, with the variant ID as a fallback. VNDLY can also send the product and variant name, sales price, purchase price, base unit, and the coding and VAT references selected by the integration.
Spiris calls both products and services “articles.” Its current support material explains that articles hold fields such as selling price and VAT treatment for use on invoices. VNDLY's optional article sync fits that accounting structure, but it is not an inventory-quantity sync.
The sync flow at a glance
| VNDLY record | What happens in Spiris | Important gate |
|---|---|---|
| Customer | Created or updated and mapped to its Spiris ID | Only active VNDLY customers are included in a full sync |
| Invoice | Created as an accounting-side draft with rows and references | Must be issued, not archived, not a credit note, and above zero total |
| Product variant | Created or updated as an article | Optional, active variants only, no stock quantity transfer |
This sequence is more useful than a vague “automatic accounting” claim. Customers go first. Invoices follow. Articles are optional. Each successful record gets an external ID mapping.
If your team is still deciding where operational data should live, the inventory spreadsheet versus software guide explains when duplicate data entry becomes a real control problem. For a broader operating setup, see our small-business inventory software workflow.
How to connect VNDLY to Spiris
1. Open Settings > Integrations
In VNDLY, go to Settings > Integrations and find the card labelled Spiris | Visma. Its description reads: “Spiris (Visma eAccounting). Sync customers and invoices.”
You need at least the VNDLY member role to start a sync. You also need access to the correct company in Spiris. Visma documents OAuth 2.0 as the authorization method for eAccounting integrations, which means you approve access in Visma rather than handing VNDLY your accounting password.
2. Click Connect Visma
Select Connect Visma. VNDLY redirects you to Visma to approve access. After authorization, the integration card shows Connected, the company name, Connected since, and Last sync.
If your accounting office has access to several companies, verify the selected company carefully during authorization. Visma's developer guidance specifically notes that accounting-office users should select the correct company.
3. Choose what VNDLY may send
The integration provides four switches:
- Sync Customers: on by default. Pushes new and updated customer records.
- Push Invoices: on by default. Pushes finalized invoices to Spiris as drafts.
- Sync Items: off by default. Pushes active product variants as articles.
- Auto Sync: off by default. Allows supported changes to sync automatically.
For the first run, leave Auto Sync off. Keep customer and invoice sync on. Enable items only if your bookkeeper wants Spiris invoice rows tied to its article register.
4. Use Sync Now for a controlled first batch
Click Sync Now. VNDLY processes enabled record types and updates the Last sync time when the run completes.
Under Recent Activity, you can see the date, entity type, status, and synced count. Statuses include success, partial, and error. A partial result means some records succeeded while others need attention. That is better than treating a batch as one opaque pass or fail.
5. Review the drafts in Spiris
Open Spiris and inspect the transferred customers, invoice drafts, and articles. Check names, payment terms, currency, invoice dates, VAT treatment, prices, quantities, and discounts with your bookkeeper.
Only enable Auto Sync after that review. Automation should repeat an approved process, not hide an untested one.
Want inventory and accounting to stop living in separate workflows? Build the operational flow in VNDLY, then test the Spiris handoff with a small batch.
Start your VNDLY trial →A safer first-week checklist
Start small enough that a person can inspect every transferred record.
- Clean five customer records. Confirm names, invoice emails, VAT numbers, currencies, addresses, and customer numbers.
- Choose three ordinary invoices. Use issued, positive-total sales invoices. Avoid credit notes for this test.
- Decide whether to sync articles. If yes, check the SKUs, names, prices, costs, and base units on the matching variants.
- Run Sync Now. Read the Recent Activity rows instead of assuming the click worked.
- Review in Spiris. Have finance confirm the customer, invoice references, rows, dates, VAT coding, and totals.
- Document ownership. Correct operational details in VNDLY before sync. Complete accounting review and posting in Spiris.
- Enable Auto Sync only if useful. A manual review point may be the better policy for some teams.
If invoices begin as sales orders in your business, read the partial sales order fulfilment guide to see how VNDLY keeps the operational sequence intact before accounting receives the result. If your storefront is Shopify, the VNDLY Shopify sync guide covers the channel side of the workflow.
From the Founder: drafts are a feature, not a weakness
In my product company, I wanted the warehouse and sales team to move quickly, but I never wanted speed to erase the accountant's review point. Sending a finished operational invoice into accounting as a draft is the right compromise. The repeated typing disappears, while finance still gets to check the record before it becomes part of the books.
Limitations you should know
The current VNDLY integration does not sync every Spiris entity or workflow.
- Outbound only. Customers, invoices, payments, and inventory changes aren't imported from Spiris into VNDLY.
- No payment-status return. Registering a payment in Spiris does not update the VNDLY invoice.
- No stock-quantity sync. Optional articles carry product information, not on-hand quantities, locations, transfers, lots, or serial numbers.
- No credit-note sync in v1. VNDLY explicitly excludes credit notes from the batch and invoice push.
- No draft or archived invoices. Only non-draft, non-archived invoices qualify for the manual batch.
- No zero or negative invoices. The integration rejects an invoice whose calculated row total is zero or below.
- Accounting defaults matter. VAT and coding behavior should be checked against the connected Spiris company before routine use.
There is also a practical distinction between VNDLY's implementation and Spiris's wider API. The API contains more resources and operations than this VNDLY integration currently uses. An endpoint existing in Visma's documentation does not mean VNDLY syncs it today.
For another accounting workflow comparison, see the VNDLY and QuickBooks integration guide. The same source-of-truth principle applies, but the exact fields and limitations differ.
Frequently Asked Questions
Is Spiris the same as Visma eAccounting?
Spiris is the current brand used for Visma's bookkeeping and invoicing product in relevant markets. VNDLY labels the integration Spiris | Visma so existing Visma eAccounting users can recognize it.
Does VNDLY send invoices to Spiris automatically?
It can. Auto Sync is available but off by default. You can also use Sync Now for a controlled batch. VNDLY sends eligible finalized invoices as drafts when invoice sync is enabled.
Will a draft VNDLY invoice sync to Visma eAccounting?
No. The invoice must be issued before VNDLY will push it. Archived invoices and credit notes are also excluded from the current manual batch.
Does VNDLY create the Spiris customer before the invoice?
Yes, when needed. If the invoice customer has no stored Spiris mapping, VNDLY attempts to sync the customer first. The invoice proceeds only after a Spiris customer ID is available.
Does the integration sync inventory quantities to Spiris?
No. The optional item sync pushes active product variants as articles with selected descriptive and price fields. It does not transfer stock on hand or warehouse movements.
Connect operations to accounting without losing control
The best accounting integration is not the one with the longest feature list. It is the one your team can understand, test, and trust.
Use VNDLY for products, inventory, orders, and fulfilment. Let Spiris receive clean customer and invoice drafts for review. Keep the boundary explicit.
Start a 14-day VNDLY trial and test the Spiris handoff with a small, reviewable batch.
Henrik Åberg is the founder of VNDLY. Before building inventory software, he spent 13 years running a physical-product company with multiple warehouses and a growing order operation.