Ellipse Gradient for Header

Basware Integration Guide

Connect Basware AP Automation, P2P, Network, and e-invoicing services with enterprise applications through REST APIs, selected callbacks, and controlled data workflows.

Basware integration options at a glance

Basware integrations primarily use REST APIs for invoices, purchase orders, suppliers, procurement data, and processing status. Selected Basware services also support event or callback-style notifications, although coverage depends on the product, tenant, and event. File and attachment exchange may be available for invoice documents and supporting files, while bulk or asynchronous processing must be confirmed for the selected API. Basware API offerings use provisioned application authentication, including OAuth 2.0 where applicable. Martini can consume these APIs, expose controlled endpoints, receive supported notifications, map and transform payloads, orchestrate workflows, and apply idempotency, validation, retry, and exception-handling rules.

Integration pointSupported by Basware?Common use casesHow Martini supports it
REST APIsYesSynchronize Invoices, Purchase Orders, Suppliers, procurement data, and processing status across Basware services and enterprise applications.Martini can consume Basware REST endpoints, transform request and response payloads, expose APIs to other systems, and orchestrate multi-step workflows.
Webhooks and outbound callbacksLimitedReceive selected notifications for invoice, purchase-order, supplier, approval, or processing-status changes where the tenant and product support them.Martini can expose an authenticated API endpoint or workflow trigger, validate the notification, retrieve the authoritative Basware resource, and handle duplicate delivery.
Bulk, asynchronous, and batch APIsLimitedSupport high-volume invoice or procurement processing where the selected Basware service provides bulk submission, asynchronous jobs, polling, or batch retrieval.Martini can orchestrate submissions and polling, persist job or cursor state, apply bounded concurrency, and route failed items to retry or exception paths.
File and attachment APIsLimitedExchange invoice images, PDF documents, supporting files, or attachment metadata where the selected Basware API or network service exposes those capabilities.Martini can retrieve or send supported files, validate content type and size, map metadata, and keep binary content out of ordinary logs.
AuthenticationYesAuthenticate API calls with provisioned application credentials and API-specific mechanisms, including OAuth 2.0 where applicable.Martini can store client credentials, tokens, tenant identifiers, and endpoint configuration in environment configuration or secrets management, with separate settings by environment.
GraphQL APIsNot confirmedNo official Basware GraphQL API was confirmed in the supplied research.Martini supports GraphQL generally, but a Basware GraphQL integration should not be designed unless Basware confirms a specific API.
SOAP APIsNot confirmedNo current official Basware SOAP API was confirmed; REST or documented exchange mechanisms should be investigated first.Martini supports SOAP generally, but no Basware SOAP integration should be assumed without product-specific confirmation.
Database and analytics accessNot confirmedDirect operational database access to Basware was not confirmed. Analytics or reporting access may be a separate product capability.Martini should use Basware APIs or documented exports rather than direct database access; it can persist integration state in an approved database when required.

How Basware exposes data and business events

Basware REST APIs

Basware provides REST APIs for its network, invoicing, procurement, and related services. Available resources, fields, versions, and tenant permissions vary by product, so the selected Basware API documentation is authoritative.

Martini implementation pattern

Martini implementation pattern: Martini authenticates to the selected Basware API, retrieves or submits resources, maps the payload into a canonical model, applies business rules, calls downstream APIs, and persists synchronization state and correlation information.

Implementation sequence

Authenticate with the provisioned Basware application credentials
Retrieve or submit the required Basware resource
Handle documented pagination or asynchronous processing
Map Basware fields to the target application model
Apply validation, matching, and idempotency rules
Write the result and persist the synchronization checkpoint

Basware callbacks and events

Basware supports event-driven or callback-style integration for selected processes and API products. Coverage is not universal, and the notification may contain an identifier rather than the complete Invoice, Purchase Order, Supplier, or status object.

Martini implementation pattern

Martini implementation pattern: Martini exposes an authenticated endpoint, validates the callback, records the notification, retrieves the current authoritative resource from Basware, and safely handles duplicate or out-of-order delivery.

Implementation sequence

Receive the selected Basware notification
Validate callback authenticity and required identifiers
Check the notification or resource idempotency key
Retrieve the current Basware resource when the payload is incomplete
Apply business rules and map the resource downstream
Return an appropriate response and record processing results

Basware files and attachments

Invoices can include PDF images or supporting documents. Attachment retrieval, upload, file limits, and retention depend on the selected Basware API or exchange service and must be confirmed for the tenant.

Martini implementation pattern

Martini implementation pattern: Martini retrieves binary content, a download URL, or attachment metadata as supported, validates file properties, associates the document with the canonical invoice, and transfers it only to approved targets.

Implementation sequence

Identify the invoice attachment reference
Authenticate and retrieve the supported file representation
Validate content type, size, and required metadata
Map the attachment to the target invoice or document object
Transfer the file to the approved downstream system
Record a sanitized result and retry transient failures

Common Basware integration patterns

Pattern 1: Synchronize Basware invoices to finance

When to use this pattern

Use a scheduled workflow when an ERP or finance application needs newly created or changed Basware Invoices, including lines, tax data, supplier identifiers, purchase-order references, and status values.

Integration direction
Basware
Martini
SAP S/4HANA
Example Mapping
Basware FieldCanonical FieldTarget Field
invoiceIdsourceInvoiceIdExternalInvoiceId
supplierIdentifiersupplierIdSupplierNumber
purchaseOrderReferencepurchaseOrderNumberPurchaseOrder
statusinvoiceStatusDocumentStatus
Martini implementation pattern

A scheduler starts the workflow, which retrieves pages of changed Invoices, applies an overlap window and durable checkpoint, maps headers and lines, validates supplier and purchase-order references, and writes the result to the finance system. Failed items are isolated for retry and the source identifier makes reprocessing idempotent.

Martini capabilities used
  • workflows
  • scheduled triggers
  • API consumption
  • data mapping
  • business rules
  • error handling

Pattern 2: Submit purchase orders and return invoice outcomes

When to use this pattern

Use this bidirectional pattern when an ERP or procurement application sends Purchase Orders to Basware and requires invoice, matching, approval, or exception updates in return.

Integration direction
Oracle Fusion Cloud ERP
Martini
Basware
Oracle Fusion Cloud ERP
Example Mapping
Basware FieldCanonical FieldTarget Field
purchaseOrderNumberpurchaseOrderIdOrderNumber
supplierIdentifiersupplierIdSupplierNumber
lineNumberorderLineIdLineNumber
costCentercostCenterCodeAccountingDimension
Martini implementation pattern

Martini receives or retrieves approved purchase orders, transforms line, tax, currency, and accounting data, submits them to Basware, and stores the external relationship. A second workflow retrieves or receives invoice status and matching results, maps them back to the ERP, and separates validation errors from transient failures.

Martini capabilities used
  • API exposure
  • API consumption
  • workflow orchestration
  • data mapping
  • validation
  • retry handling

Pattern 3: Process event-driven invoice changes

When to use this pattern

Use this pattern where the Basware tenant supports a suitable callback for invoice receipt, validation, processing, exception, or approval changes.

Integration direction
Basware
Martini
ServiceNow
Example Mapping
Basware FieldCanonical FieldTarget Field
eventIdentifiernotificationIdCorrelationId
invoiceIdsourceInvoiceIdBaswareInvoiceId
statusinvoiceStatusState
exceptionDetailsprocessingExceptionDescription
Martini implementation pattern

Martini exposes an authenticated callback API, validates and records the notification, retrieves the current Invoice instead of trusting stale event data, applies exception rules, and creates or updates a ServiceNow work item. Duplicate notifications are safely ignored or reprocessed without creating duplicate tasks.

Martini capabilities used
  • API exposure
  • webhook handling
  • API consumption
  • idempotency
  • business rules
  • monitoring

Pattern 4: Synchronize Basware suppliers

When to use this pattern

Use a scheduled or API-triggered workflow to keep Suppliers aligned between Basware and an ERP, procurement platform, or master-data application.

Integration direction
Basware
Martini
Microsoft Dynamics 365 Finance
Example Mapping
Basware FieldCanonical FieldTarget Field
supplierIdentifiersourceSupplierIdVendorAccount
legalNamesupplierNameOrganizationName
taxInformationtaxRegistrationTaxRegistrationId
enablementStatussupplierStatusVendorStatus
Martini implementation pattern

Martini retrieves changed Suppliers, matches by Basware and external identifiers, validates required legal and payment fields, applies approval rules, and creates or updates the downstream supplier. Sensitive payment data is restricted in logs and deterministic keys prevent duplicate creation.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • data mapping
  • validation
  • secrets management
  • error handling

Applications commonly integrated with Basware

Basware can be integrated with finance, procurement, enterprise workflow, and business applications through API-led workflows. The exact process depends on which application owns supplier, purchasing, invoice, approval, and accounting data.

Application Scenario Direction Martini Pattern
SAP S/4HANA Exchange purchase orders, supplier master data, invoices, payment status, accounting dimensions, and procurement outcomes. SAP S/4HANA → Martini → Basware Martini consumes or exposes REST APIs, maps SAP identifiers and accounting dimensions to Basware objects, validates supplier and purchase-order references, and routes invoice outcomes back through a separate workflow.
Oracle Fusion Cloud ERP Synchronize suppliers, purchase orders, invoices, approvals, and financial coding between the ERP and Basware processes. Oracle Fusion Cloud ERP → Martini → Basware A workflow submits or retrieves Basware resources, normalizes supplier and financial fields, applies approval and duplicate checks, and records source identifiers for safe retries.
Microsoft Dynamics 365 Finance Move purchase orders and supplier data to Basware and return invoice, matching, approval, or exception information to finance users. Microsoft Dynamics 365 Finance → Martini → Basware Martini orchestrates bidirectional API calls, transforms tax, currency, cost-center, and status values, and separates transient API failures from validation exceptions.
Workday Exchange supplier, organization, accounting, or invoice-related information where Workday participates in the financial or operating landscape. Workday → Martini → Basware Martini uses scheduled or API-triggered workflows to retrieve approved source data, map organizational structures and identifiers, and send only the Basware fields required by the selected process.
Coupa Coordinate procurement and accounts-payable processes when Coupa manages requisitions or purchasing while Basware handles invoice automation or network exchange. Coupa → Martini → Basware Martini synchronizes purchase-order and supplier references, validates line and tax matching, and routes invoice status or exception updates to the owning procurement process.
ServiceNow Route procurement or finance service requests, invoice exceptions, supplier issues, and approval tasks involving Basware processes. Basware → Martini → ServiceNow A Basware-triggered or scheduled workflow creates ServiceNow work items for selected exceptions, preserves Basware identifiers, and sends approved status changes through controlled API calls.
Jira Create and track technical or operational work items for invoice, supplier, or integration exceptions. Basware → Martini → Jira Martini converts selected Basware failures into Jira issues with correlation identifiers and sanitized context, while duplicate detection prevents repeated issue creation.

How to build a Basware integration in Martini

Objective

Configure the selected Basware API endpoint, tenant settings, application credentials, OAuth 2.0 details where applicable, and environment-specific secrets.

Instructions in Martini

  • Confirm the Basware product, API version, tenant, scopes, and grant requirements
  • Store credentials, tokens, tenant identifiers, and endpoints in Martini environment configuration or secrets
  • Use separate development, test, and production configuration

Objective

Select a scheduler, API request, or supported Basware callback based on the synchronization latency and event coverage required.

Instructions in Martini

  • Use a scheduler for incremental invoice, purchase-order, or supplier synchronization
  • Expose an authenticated Martini API only where Basware supports a relevant callback
  • Confirm event coverage, delivery semantics, and retry behavior before relying on callbacks

Objective

Retrieve the authoritative Basware resource or submit the required business object using documented REST API behavior.

Instructions in Martini

  • Implement pagination, cursors, or documented job polling
  • Use a small overlap window for changed-resource synchronization
  • Retrieve the full Invoice, Purchase Order, or Supplier when a notification contains only an identifier

Objective

Coordinate Basware calls, downstream calls, checkpoint persistence, validation, and exception routing in a maintainable Martini workflow.

Instructions in Martini

  • Separate resource retrieval, transformation, target writing, and checkpoint updates
  • Use bounded concurrency for high-volume processing
  • Keep each item independently retryable where possible

Objective

Transform Basware payloads into the target model while preserving source identifiers and original status values for auditability.

Instructions in Martini

  • Map supplier, purchase-order, invoice-line, tax, currency, cost-center, and status fields explicitly
  • Validate required references and business rules before writing downstream
  • Handle attachments according to the selected API and target requirements

Objective

Create or update the target object and make the operation safe to repeat after a transient failure or duplicate notification.

Instructions in Martini

  • Use Basware identifiers or documented composite keys for idempotency
  • Apply explicit status mappings rather than assuming one-to-one equivalence
  • Record target identifiers and processing state after a successful write

Common Basware data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
InvoicesSynchronize supplier invoices, lines, taxes, approval status, exceptions, payment-related information, and purchase-order references.SAP S/4HANA, Oracle Fusion Cloud ERP, Microsoft Dynamics 365 Finance, ServiceNowMartini retrieves or receives invoice references, maps headers and lines, preserves Basware identifiers and statuses, applies duplicate checks, and routes failures for retry or review.
Purchase OrdersSubmit or synchronize orders, line items, quantities, prices, delivery information, buyer data, and cost-center information.SAP S/4HANA, Oracle Fusion Cloud ERP, Microsoft Dynamics 365 Finance, CoupaMartini validates supplier and line references, transforms currencies and accounting dimensions, and coordinates outbound submission with inbound status processing.
SuppliersMaintain supplier identifiers, profiles, contact details, payment information, and onboarding or enablement status.SAP S/4HANA, Oracle Fusion Cloud ERP, Workday, Microsoft Dynamics 365 FinanceMartini matches records using deterministic identifiers, applies approval rules, masks sensitive fields in logs, and prevents duplicate downstream creation.
Catalogs and catalog itemsExchange procurement catalog structures, products or services, prices, supplier references, and purchasing metadata.Coupa, SAP S/4HANA, Oracle Fusion Cloud ERPMartini maps item, supplier, pricing, and purchasing attributes, validates required fields, and supports scheduled synchronization where the selected Basware API exposes catalog resources.
ContractsSynchronize purchasing agreements and commercial or procurement terms where exposed by the selected Basware product.SAP S/4HANA, Oracle Fusion Cloud ERP, CoupaMartini uses product-specific mappings, preserves source identifiers and effective dates, and applies explicit business rules for downstream contract status.
Users and organizational dataSupport buyers, approvers, business units, cost centers, and other structures used in procurement and invoice approval.Workday, SAP S/4HANA, Oracle Fusion Cloud ERP, ServiceNowMartini maps organizational codes and approval attributes, validates referential relationships, and separates master-data synchronization from transactional processing.

Authentication and security considerations

Authentication and access control

Basware API authentication is product- and tenant-specific. Basware API offerings use provisioned application authentication, including OAuth 2.0 where applicable. Confirm the grant, token endpoint, scopes, client registration, and permissions for the selected API.

  • Store client credentials, tokens, tenant identifiers, and endpoint configuration in Martini secrets or environment configuration.
  • Use separate credentials and least-privilege permissions for development, testing, and production.
  • Restrict Martini API endpoints to approved callers and validate supported callback security requirements.
  • Protect invoice attachments, supplier payment data, tax identifiers, and access tokens from ordinary workflow logs.

Operational considerations for Basware integrations

Reliability and lifecycle considerations

  • Confirm Basware rate limits, concurrency rules, pagination, asynchronous job behavior, and retry guidance for the selected API.
  • Persist a timestamp, cursor, or resource identifier rather than relying on page position as a checkpoint.
  • Use overlap windows, deterministic idempotency keys, and current-resource retrieval to handle late, duplicate, or out-of-order notifications.
  • Separate authentication, validation, throttling, temporary network, and downstream failures into distinct handling paths.
  • Validate attachment content type, size, URL expiration, retention, and authentication requirements before transfer.
  • Use versioned endpoints, explicit mappings, contract tests, and monitoring for changed fields or status values.

Why use Martini instead of scripts or point-to-point integrations?

Maintainable integration delivery

Scripts and point-to-point interfaces often combine authentication, mapping, retries, business rules, and operational state in code that is difficult to reuse. Martini provides a workflow-based structure for consuming Basware APIs, exposing controlled APIs, receiving supported notifications, transforming data, and coordinating downstream systems.

  • Reuse workflow patterns for invoices, purchase orders, suppliers, and exceptions.
  • Centralize environment configuration and secrets rather than embedding credentials in scripts.
  • Apply explicit mappings, validation, idempotency, retry, and exception rules.
  • Keep synchronization checkpoints, correlation identifiers, and operational logs available for troubleshooting.
  • Extend workflows with custom logic when product-specific Basware behavior requires it.

Frequently asked questions

How can Basware be integrated with enterprise systems?

Basware is primarily integrated through its REST APIs for Invoices, Purchase Orders, Suppliers, procurement data, and processing status. Selected products and tenants may also support callback-style notifications, asynchronous processing, and file or attachment exchange. Authentication and available resources depend on the specific Basware product and tenant.

Can Martini integrate with Basware?

Yes. Martini can integrate with Basware by consuming its documented REST APIs, receiving supported callback or event notifications, handling documented file exchange, and exposing APIs for connected applications. No Martini-native Basware connector was confirmed in the supplied research.

Do I need a connector to integrate Basware with Martini?

No. A dedicated Basware connector is not required. Martini can use Basware's confirmed native integration mechanisms, including REST APIs, provisioned authentication, selected callbacks, and documented file or attachment endpoints.

Is there any extra Lonti cost to integrate Basware with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Basware. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Basware, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.

Which Basware integration methods should an implementation use?

REST APIs are the primary recommended mechanism for current integrations. Selected callbacks, asynchronous or bulk processing, and file or attachment APIs may be used when confirmed for the relevant Basware product and tenant. GraphQL and current SOAP APIs were not confirmed.

Are Basware webhooks or callbacks available?

Basware supports event-driven or callback-style integration for selected processes and API products, but coverage is not universal. Confirm the event catalog, subscription model, delivery guarantees, signature requirements, retry behavior, and whether the notification contains a full object or only an identifier.

How does Martini synchronize Basware data safely?

Martini can use scheduled incremental workflows or supported callbacks, documented pagination, overlap windows, durable checkpoints, and explicit mappings. Idempotency keys based on Basware identifiers, or documented composites such as supplier plus invoice number, help prevent duplicate downstream objects.

How does Martini handle Basware mapping, errors, and retries?

Martini maps Basware headers, lines, taxes, identifiers, accounting dimensions, attachments, and status values into target models while preserving the original source values. Workflows can separate authentication, validation, throttling, downstream, and transient failures, then apply bounded retries and route unresolved items to exception handling. Martini can also expose an API façade for upstream or downstream applications.