ml-connector
VismaSPS Commerce

Visma and SPS Commerce integration

Visma.net ERP runs your accounting and procurement. SPS Commerce connects you to retail trading partners like Walmart and Target over EDI. Linking the two means purchase orders created in Visma automatically flow to your retail partners through SPS, and order acknowledgments, invoices, and shipping notices from those partners route back into Visma without manual re-entry. Your supply chain stays in sync across ERP and EDI.

How Visma works

Visma.net ERP is a cloud-based accounting platform covering financial management, AP/AR, purchasing, inventory, and project accounting. It exposes suppliers, purchase orders, invoices, GL accounts, and related entities through REST APIs at https://api.finance.visma.net, authenticated via OAuth2 client credentials against Visma Connect. It supports both webhooks (one-time delivery, no automatic retry) and polling with delta pull via lastModifiedDateTime query parameters. Webhook events must be explicitly enabled on each entity at the company level, and test clients are rate-limited to 500 calls per hour.

How SPS Commerce works

SPS Commerce is a cloud EDI network that acts as an intermediary between ERP systems and retail trading partners, exposing purchase orders, invoices, advance ship notices, and other EDI documents via REST API at https://api.spscommerce.com. All documents are wrapped in RSX 7.7.7 JSON envelope format. Authentication uses OAuth2 client credentials at https://api.spscommerce.net/authorization/v1/token, returning a JWT bearer token. SPS operates as a pass-through network; trading partner IDs must be provisioned during onboarding. Polling is the primary sync pattern with cursor-based pagination. Rate limits are not publicly documented, so implementations must handle exponential backoff on 429 responses.

What moves between them

Purchase orders created in Visma flow outbound to SPS Commerce for transmission to registered retail trading partners. Inbound documents from those partners - order acknowledgments, invoices, advance ship notices, and shipping advice - are polled from SPS and routed back into Visma as purchase receipts and supplier transactions. The integration polls SPS at intervals you configure (typically 5-15 minutes) and pushes POs to SPS immediately when created in Visma. All documents round-trip with full auditability.

How ml-connector handles it

ml-connector stores Visma and SPS OAuth credentials encrypted and refreshes tokens as needed. On the Visma side it polls the supplier invoice and purchase order endpoints using delta pull (lastModifiedDateTime) to minimize traffic. On the SPS side it polls fulfillment endpoints with cursor-based pagination, handles RSX 7.7.7 envelope unwrapping, and maps trading partner documents back to Visma supplier and PO entities. When a purchase order is created in Visma, ml-connector immediately wraps it in the RSX envelope format SPS requires, identifies the target trading partner(s) from the Visma supplier record, and posts it to SPS. Inbound acknowledgments and invoices from SPS are unwrapped and matched to the original Visma PO, then posted as purchase receipts or expense transactions. If SPS returns a 429 rate-limit response, ml-connector backs off with exponential jitter and retries. Because SPS has no native idempotency mechanism, ml-connector deduplicates at the document level using the PO number and invoice number as the unique key.

A real-world example

A Nordic mid-sized supplier manufactures components and sells to multiple big-box retailers through SPS Commerce. Before the integration, the procurement team manually exported POs from Visma, reformatted them into EDI, and handed them off to SPS via SFTP, then manually matched inbound ASNs and invoices back to Visma. This process introduced transcription errors and delays, and month-end closing required hours of reconciliation between what shipped and what invoiced. With Visma and SPS Commerce connected, each PO created in Visma flows automatically to the correct retail partner through SPS, and every inbound acknowledgment, invoice, and shipment notification routes directly into Visma without re-keying. The procurement team now reviews exceptions rather than moving files, and month-end closing begins with supply-chain data already reconciled.

What you can do

  • Automatically forward purchase orders from Visma to retail trading partners through SPS Commerce.
  • Route inbound order acknowledgments and invoices from SPS back into Visma as purchase receipts and supplier transactions.
  • Map Visma suppliers to SPS trading partner IDs so orders reach the correct partner.
  • Handle RSX JSON envelope formatting and unwrapping for all documents.
  • Deduplicate on trading partner acknowledgments and invoices using document-level identifiers, with full audit trail and replay on failure.

Questions

How do purchase orders flow from Visma to my retail trading partners through SPS?
When a purchase order is created in Visma, ml-connector immediately wraps it in the RSX 7.7.7 JSON envelope format SPS requires, looks up the trading partner ID for the supplier, and posts the order to SPS. SPS then transmits it to your retail partner using EDI. ml-connector can also bulk-send existing POs on a manual trigger if you need to backfill partner orders.
What happens when a retail partner sends an acknowledgment or invoice back through SPS?
ml-connector polls the SPS fulfillment endpoints on your schedule and retrieves all inbound documents. It unwraps the RSX envelope, matches the acknowledgment or invoice to the original Visma purchase order using the PO number, and posts the result back into Visma as a purchase receipt or supplier transaction. If a match fails, ml-connector flags it for manual review.
Does the integration handle SPS rate limits and RSX envelope formatting automatically?
Yes. ml-connector tracks SPS rate limits and backs off with exponential jitter if you hit a 429 response. All RSX envelope wrapping and unwrapping is automatic, so you never manually format or parse EDI. Every document carries a full audit trail and can be replayed if a downstream operation fails.

Related integrations

Connect Visma and SPS Commerce

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started