Integration Selection Guide
"Which API or XML integrations do I need for my business scenario?"
Integration Guide
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:
- Integrating to Basware AP Automation for accounts payable processing ->
- Integrating to Basware AP Automation for accounts payable processing with Order Matching for external orders ->
- Sending e-invoices to your customers ->
- Receiving e-invoices from your suppliers ->
- Managing suppliers through Basware Supplier management ->
- Integrating Basware Purchase to an external purchasing system ->
- Integrating Basware Purchase to an external sourcing system ->
- Integrating Basware Purchase-to-Pay to an external travel and expense management system ->
- Importing users to Basware systems ->
- Archiving business documents to Basware Vault ->
- Providing self-service invoice status search through an existing supplier portal ->
- Extracting data from Basware AP for analysis ->
- Enriching invoice data for approval in external system ->
Integrating to Basware AP Automation for accounts payable processing
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. |
Integrating to Basware AP Automation for accounts payable processing with Order Matching for external orders
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. |
Sending e-invoices to your customers
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 |
Receiving e-invoices from your suppliers
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 |
Managing suppliers through Basware Supplier management
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 |
Integrating Basware Purchase to an external purchasing system
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. |
Integrating Basware Purchase to an external sourcing system
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. |
Integrating Basware Purchase-to-Pay to an external travel and expense management system
See sections "Accounts payable processing" and "Sending e-invoices to your Customers".
Importing users to Basware systems
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 |
Archiving business documents 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 |
Providing self-service invoice status search through an existing supplier portal
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. |
Extracting data from Basware AP for analysis
Utilize the data from Basware AP for analysis, see Data Access APIs for more information.
Use case / API name | XML interface |
Purpose | Remarks |
Data access (API) |
|||
GET dataExtracts | n/a | Provide you the information of the available extracts for download. | |
POST dataExtracts/acknowledge | n/a | Updates downloaded data extracts. | |
GET dataExtracts/specification/tableDefinition | n/a | Describes structure of the data extract files. |
Enriching invoice data for approval in external system
In addition to handling full invoice approval flow in Basware Purchase-to-Pay, it is also possible to use Basware P2P for invoice preprocessing without approval flow. Basware Invoice Enrichment offers business rules, duplicate checks, manual and automatic enrichment, search, invoice dispute, document removal capabilities on documents before they are transferred to an ERP or AP system for further processing and approval. See P2P API manual for more details.
Use case / API name | XML interface |
Purpose | Remarks |
Transfer approved invoices to accounting (API | XML) |
|||
GET accountingDocuments | Invoices | Transfer invoices to accounting system | |
POST accountingDocuments /acknowledge |
n/a | Mark invoice as fetched | |
POST accountingDocuments /enrichmentResponses |
PrebookResponse | Mark invoice as prebooked in accounting system | |
POST accountingDocuments /transferResponses |
TransferResponse | Mark invoice as transferred to accounting system | |
POST accountingDocuments /paymentResponses |
PaymentResponse | Update invoice payment date | Required with Basware Analytics |
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 |