ml-connector
IFS CloudBasware

IFS Cloud and Basware integration

IFS Cloud runs your procurement, supply chain, and financial processes. Basware automates accounts payable processing and e-invoicing. Connecting them keeps your supplier master and invoice records in sync without re-entry. Supplier invoices that flow through Basware land in IFS Cloud as posting proposals ready to post, and vendor additions are mirrored automatically. ml-connector bridges the credential and API differences between the two systems.

How IFS Cloud works

IFS Cloud exposes suppliers, purchase orders, supplier invoices, GL accounts, cost centers, and journal entries through OData v4 REST APIs, with a base URL specific to each tenant. Authentication uses OAuth2 Client Credentials against a tenant-specific token endpoint, and a new token is required approximately every 60 minutes. IFS Cloud has no webhook subscription API; recommended integration is pull-based polling of OData with filters on modified timestamps. Large result sets over 5000 elements can cause 500 errors, and all mutation operations (PATCH or certain POST actions) require an ETag header from the prior read to enforce optimistic concurrency.

How Basware works

Basware exposes invoices, purchase orders, vendors, cost dimensions, and payment handling through REST APIs with OAuth2 Client Credentials and regional deployment (EU, US, AU, CA). Every API call requires a unique request ID, and Basware also supports webhook push notifications for invoice and requisition events signed with HMAC-SHA256. Basware credentials are provisioned by the customer's Basware delivery consultant and cannot be self-serve provisioned. Manual vendor edits in the Basware UI will be overwritten on the next API import.

What moves between them

The main flow is Basware into IFS Cloud. Supplier invoices processed in Basware flow into IFS Cloud as posting proposals, mapped to the purchasing company code and cost allocation dimensions. Vendor records from Basware are matched against IFS Cloud suppliers, and new vendors from Basware are created as suppliers in IFS Cloud. Basware can push invoice event notifications, which ml-connector receives and processes, or ml-connector can poll both systems on a schedule aligned with your invoice processing cadence. GL accounts and dimension codes are synced bidirectionally so invoice allocations land on valid IFS Cloud cost centers.

How ml-connector handles it

ml-connector stores both OAuth2 credential sets encrypted, maintains the IFS Cloud tenant URL and regional Basware endpoint per customer, and refreshes bearer tokens before they expire. Because IFS Cloud is pull-only, ml-connector polls OData results with filters on modified timestamps and handles the 5000-element page-size limit by paginating large result sets. For each invoice, it reads the ETag from IFS Cloud before creating or updating a posting proposal, includes that ETag in the PATCH request, and retries if concurrency conflicts occur. On the Basware side, it generates a unique request ID for every API call and verifies incoming webhook signatures against the HMAC-SHA256 key. Vendor matching uses Basware's vendor code and IFS Cloud's supplier number as the common key. If a vendor is manually edited in Basware UI, the next API import will overwrite those changes if the vendor is managed via API. Regional deployment endpoint is configured at connect time and validated against the customer's Basware region.

A real-world example

A global manufacturing firm operates IFS Cloud for procurement and finance across four regional plants and uses Basware for centralized AP automation and e-invoicing. Before the integration, the AP team received invoices in Basware, matched them to purchase orders, and then manually re-keyed the approved invoices into IFS Cloud, a process that took 3 to 5 days and introduced data entry errors. After connecting Basware to IFS Cloud, approved invoices flow automatically as posting proposals, with cost allocations mapped to the correct plant and department in IFS Cloud. Vendor changes are synchronized in both directions, eliminating duplicate vendor records. The manual re-keying step is eliminated, and invoices are available for posting within hours of Basware approval.

What you can do

  • Sync supplier invoices from Basware into IFS Cloud as posting proposals with automatic cost allocation mapping.
  • Mirror Basware vendor records as IFS Cloud suppliers, with updates flowing bidirectionally.
  • Handle IFS Cloud's OData ETag concurrency model and enforce optimistic locking on all mutations.
  • Support both Basware webhook push notifications and scheduled polling, configurable per your invoice cadence.
  • Manage OAuth2 token refresh for both IFS Cloud and Basware, with regional endpoint routing for multi-region Basware deployments.

Questions

Which direction does data move between IFS Cloud and Basware?
The primary flow is Basware into IFS Cloud. Supplier invoices and vendor records move from Basware into IFS Cloud. Cost allocations and GL accounts are synced bidirectionally so invoice line allocations map to valid IFS Cloud dimensions. GL posting remains in IFS Cloud; invoices are posted manually after ml-connector creates the proposals.
How does ml-connector handle IFS Cloud's ETag concurrency requirement?
IFS Cloud requires an ETag header (If-Match) on all mutation operations to enforce optimistic concurrency. ml-connector reads the ETag from the existing posting proposal record, includes it in the PATCH request, and retries with exponential backoff if another process updates the record concurrently. This prevents race conditions during high-volume invoice processing.
What happens if a vendor is manually edited in Basware?
Manual vendor edits in the Basware UI are overwritten on the next API import when the vendor is managed through the API. To prevent this, Basware recommends managing vendor records exclusively through API or UI, not both. ml-connector provides audit trail logging on every vendor sync so you can track which system made the last change.

Related integrations

Connect IFS Cloud and Basware

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

Get started