Depending on your business scenarios and the Basware systems you have in use, you will be using different Basware integrations to support your business. Here are the API and XML integrations typically used by our clients in some of the common business scenarios. 

It is possible to use API and XML integrations side by side. Generally this requires choosing the API or XML method per interface, i.e. using XML method for importing orders and API method for transferring invoices. 

Business scenarios:
Master data can also be maintained manually in P2P. However, customers usually prefer to import most of the the data using integrations.
  
Use case / API name XML interface
Purpose Remarks
Transfer approved invoices to accounting (API | XML)
GET accountingDocuments Invoices Transfer invoices approved for payment to accounting system With optional prebooking
POST accountingDocuments
/acknowledge
n/a Mark invoice as fetched  
POST accountingDocuments
/prebookResponse
PrebookResponse Mark invoice as prebooked in accounting system Only when prebooking is used
n/a ReversePrebook Reverse prebooking  
POST accountingDocuments
/transferResponse
TransferResponse Mark invoice as transferred to accounting system  
POST accountingDocuments
/paymentResponse
PaymentResponse Update invoice payment date Required with Basware Analytics
(Endpoint to receive push notifications) n/a Receive push notifications for new documents Only when using push notifications.
Import master data (API | XML)
POST accounts Accounts Import accounts from ERP  
POST costCenters CostCenters Import cost centers from ERP  
POST vendors Suppliers Import vendors from ERP  
POST genericLists Coding dimensions, Header dimensions Import additional coding dimensions from ERP Supports multiple dimensions, not generally used in all projects
POST exchangeRates ExchangeRates Import exchange rates Not generally used in all projects
POST paymentTerms PaymentTerms Import payment terms from ERP Not generally used in all projects
POST taxCodes TaxCodes Import tax codes from ERP Not generally used in all projects
POST advancedValidations AdvancedValidations Import invoice coding row validation rules from ERP Not generally used in all projects
n/a Assets Import Asset codes from ERP  
n/a PaymentBlock Import payment block codes from ERP  
n/a PaymentMethod Import payment method codes from ERP  
n/a UnitOfMeasure Import unit of measure codes from ERP  
n/a
WorkOrders Import work orders from ERP  
Import users (API | XML)
POST applicationGroups

Users

Control per-application log-in access of end users

One-time set-up required.
POST users Users Import users  
POST advancedPermissions AdvancedPermissions Import user approval rights information  
OAUTH2 authentication (API)
GET tokens n/a Retrieve OAUTH2 access tokens When using OAUTH2 authentication
Error handling (API)
GET requestStatus n/a Error handling Returns errors asynchronously from Basware target systems
n/a

(error emails)

Error handling Sends email on interface errors.

In addition to the APIs listed in the "Integrating to Basware AP Automation for accounts payable processing" section, you will need:

Use case / API name XML interface
Purpose Remarks
Import external matching orders (API | XML)
POST matchingOrders Orders

Import order header data

Note: Service Order import requires using XML interface.
POST matchingOrderLines Orders Import order lines and goods receipts  
PATCH matchingOrderLines n/a Add goods receipts to order lines when source system(s) cannot send both GRs and order lines in a single request. Optional
OAUTH2 authentication (API)
GET tokens n/a Retrieve OAUTH2 access tokens When using OAUTH2 authentication
Error handling (API)
GET requestStatus n/a Error handling Returns errors asynchronously from Basware target systems
n/a

(error emails)

Error handling Sends email on interface errors.

See network API guide for more details.

Use case / API name XML interface
Purpose Remarks
POST invoices

Basware network supports also other integration methods including file based integrations. Please consult with your Basware contacts for more details.

Send electronic invoices  
POST creditNotes Send electronic credit notes  
POST files Add attachments to invoices / credit notes File(s) need to be posted before the related invoice
GET notifications Status notifications and error handling  
DELETE notifications Remove received notifications  

See network API guide for more details.

Use case / API name XML interface
Purpose Remarks
GET notifications Basware Network supports also other integration methods including file based integrations. Please consult with your Basware contacts for more details. Get list of invoice ID's to fetch  
GET invoices Receive electronic invoices  
GET creditNotes Receive electronic credit notes  
GET files Receive attachments to invoices / credit notes  
POST notifications Post invoice status notifications  
DELETE notifications Remove processed notifications  
Use case / API name  XML interface
Purpose Remarks
POST vendors n/a Import vendors from ERP In "P2P APIs"
GET notifications List vendor ID's proposed for changes in ERP In "Network APIs"
GET vendorDetails Get vendor changes to ERP for approval API documentation currently not available online
DELETE notifications Remove vendor ID's previously proposed for change in ERP In "Network APIs"
POST companies Import companies In "P2P APIs". Not generally used in most projects.
GET requestStatus Error handling for vendors API In "P2P APIs". Not generally used in most projects.
OAUTH2 authentication (API)
GET tokens n/a Retrieve OAUTH2 access tokens for vendors and companies APIs When using OAUTH2 authentication
Error handling (API)
get requestStatus n/a Error handling Returns errors asynchronously from Basware target systems

In addition to APIs in "Accounts payable processing" section, some of the following APIs are used depending on which parts of purchasing process are done in Basware P2P Purchase and which parts are done in external purchasing system. See P2P API manual and P2P XML integration guide for more details.

Use case / API name  XML interface
Purpose Remarks
Import data (API | XML)
POST purchaseRequisitions PurchaseRequisitions Import purchase requisitions to P2P Purchase  
POST purchaseOrders PurchaseOrders Import purchase orders to P2P Purchase  
POST goodsReceipts GoodsReceipts Import goods receipts to P2P Purchase  
n/a Budgets Import budgets receipts to P2P Purchase  
POST contracts Contracts Import contracts to P2P Purchase Note: Exporting contract spends requires contracts imported through Basware API.
n/a SelfApprovePermissions Import self approval permission rules to P2P Purchase  
Export data (API | XML)
GET exportedPurchaseOrders ExportedPurchaseOrders Export order with goods receipts from P2P purchase Data is refreshed when order status updates
GET exportedPurchase Requisitions ExportedPurchase Requisitions Export purchase requisition from P2P purchase Data is refreshed when requisition is compeleted.
GET exportedContracts n/a Export contracts from P2P Purchase  
GET exportedContractSpends n/a Export contract spends from P2P Purchase  
OAUTH2 authentication (API)
GET tokens n/a Retrieve OAUTH2 access tokens When using OAUTH2 authentication
Error handling (API)
GET requestStatus n/a Error handling Returns errors asynchronously from Basware target systems.
n/a

(error emails)

Error handling Sends email on interface errors.
n/a

(error response tasks)

Error handling. Available for PO and PR import to procurement, requires customization.  Triggers customizable task on interface data errors.

 

In addition to APIs in "Accounts payable processing" section, some of the following APIs are used depending on which parts of purchasing process are done in Basware P2P Purchase and which parts are done in external purchasing system. See P2P API manual and P2P XML integration guide for more details.

Use case / API name  XML interface
Purpose Remarks
Import data (API | XML)
POST vendors Suppliers Import vendors to Purchase-to-Pay  
POST contracts Contracts Import contracts from external purchasing system  
Export data (API)
GET exportedContracts n/a Export contracts from P2P Purchase Available for contracts imported through API.
GET exportedContractSpends n/a Export contract spends from P2P Purchase Available for contracts imported through API.
OAUTH2 authentication (API)
GET tokens n/a Retrieve OAUTH2 access tokens When using OAUTH2 authentication.
Error handling (API)
GET requestStatus n/a Error handling Returns errors asynchronously from Basware target systems.
n/a (error emails) Error handling Sends emails on interface errors.

See sections "Accounts payable processing" and "Sending e-invoices to your Customers".

It is possible to import user(s) to any of the following Basware applications: Purchase-To-Pay (P2P), Supplier portal (network), Supplier Management (network), Network, CloudScan 3.0 (available Q1/2021). User data can be either imported through integrations or maintained manually.
  
Use case / API name XML interface
Purpose Remarks
Import users (API | XML)
POST applicationGroups n/a Control per-application log-in access (assigned to users). One-time set-up required.
POST users Users Import users  
POST advancedPermissions AdvancedPermissions Import user approval rights information Allows importing coding row level approval limits for users.
OAUTH2 authentication (API)
GET tokens n/a Retrieve OAUTH2 access tokens When using OAUTH2 authentication
Error handling (API)
GET requestStatus n/a Error handling Returns errors asynchronously from Basware target systems
n/a (error emails) Error handling Sends email on interface errors

 

See Vault APIs for more information on integrating to Basware Vault.
  
Use case / API name XML interface
Purpose Remarks
Archive business documents (API)
POST documents n/a Archive documents to Basware Vault  
GET documents/status n/a Returns status of an archived document  

 

If you already have an existing portal for your company's suppliers, you may want to provide your suppliers with a self-service capability to query the status of their invoices through your own portal. See Usage scenario 8: Retrieving invoice status for additional details.

Use case / API name  XML interface
Purpose Remarks
Retrieve invoice status (API)
GET accountingDocuments/status n/a Returns high level invoice status by search criteria such as company code, invoice number and invoice date. Available also for invoices transferred to ERP outside of Basware API.
GET accountingDocuments/{invoiceId} n/a Returns additional invoice details by invoiceId Available also for invoices transferred to ERP outside of Basware API.