.png)
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 point | Supported by Basware? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Synchronize 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 callbacks | Limited | Receive 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 APIs | Limited | Support 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 APIs | Limited | Exchange 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. |
| Authentication | Yes | Authenticate 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 APIs | Not confirmed | No 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 APIs | Not confirmed | No 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 access | Not confirmed | Direct 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
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
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
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
Example Mapping
| Basware Field | Canonical Field | Target Field |
|---|---|---|
| invoiceId | sourceInvoiceId | ExternalInvoiceId |
| supplierIdentifier | supplierId | SupplierNumber |
| purchaseOrderReference | purchaseOrderNumber | PurchaseOrder |
| status | invoiceStatus | DocumentStatus |
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
Example Mapping
| Basware Field | Canonical Field | Target Field |
|---|---|---|
| purchaseOrderNumber | purchaseOrderId | OrderNumber |
| supplierIdentifier | supplierId | SupplierNumber |
| lineNumber | orderLineId | LineNumber |
| costCenter | costCenterCode | AccountingDimension |
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
Example Mapping
| Basware Field | Canonical Field | Target Field |
|---|---|---|
| eventIdentifier | notificationId | CorrelationId |
| invoiceId | sourceInvoiceId | BaswareInvoiceId |
| status | invoiceStatus | State |
| exceptionDetails | processingException | Description |
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
Example Mapping
| Basware Field | Canonical Field | Target Field |
|---|---|---|
| supplierIdentifier | sourceSupplierId | VendorAccount |
| legalName | supplierName | OrganizationName |
| taxInformation | taxRegistration | TaxRegistrationId |
| enablementStatus | supplierStatus | VendorStatus |
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
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Invoices | Synchronize 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, ServiceNow | Martini 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 Orders | Submit 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, Coupa | Martini validates supplier and line references, transforms currencies and accounting dimensions, and coordinates outbound submission with inbound status processing. |
| Suppliers | Maintain supplier identifiers, profiles, contact details, payment information, and onboarding or enablement status. | SAP S/4HANA, Oracle Fusion Cloud ERP, Workday, Microsoft Dynamics 365 Finance | Martini matches records using deterministic identifiers, applies approval rules, masks sensitive fields in logs, and prevents duplicate downstream creation. |
| Catalogs and catalog items | Exchange procurement catalog structures, products or services, prices, supplier references, and purchasing metadata. | Coupa, SAP S/4HANA, Oracle Fusion Cloud ERP | Martini maps item, supplier, pricing, and purchasing attributes, validates required fields, and supports scheduled synchronization where the selected Basware API exposes catalog resources. |
| Contracts | Synchronize purchasing agreements and commercial or procurement terms where exposed by the selected Basware product. | SAP S/4HANA, Oracle Fusion Cloud ERP, Coupa | Martini uses product-specific mappings, preserves source identifiers and effective dates, and applies explicit business rules for downstream contract status. |
| Users and organizational data | Support buyers, approvers, business units, cost centers, and other structures used in procurement and invoice approval. | Workday, SAP S/4HANA, Oracle Fusion Cloud ERP, ServiceNow | Martini 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
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.
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.
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.
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.
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.
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.
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.
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.
Related Martini documentation
APIs
Workflows
Connect Basware with Martini
Use Martini to build a secure, maintainable Basware integration around the APIs, callbacks, files, and authentication mechanisms supported by your Basware product and tenant.