Basware Implementation Details
When operating certain markets, your business may require to distribute electronic invoices – structured invoice data that is exchanged electronically between trading partners in order to automate accounts payable processing.
Be aware that there are various e-invoice formats, distribution channels, and operators (see Creating E-Invoices). To help getting a wider reach, JustOn Billing & Invoice Management integrates with the Basware Network. This global e-invoicing network supports many protocols and document formats, and interoperates with a large number of partner networks.
Once set up,
- JustOn sends the invoice data as well as relevant file attachments, like the invoice PDF, to the Basware Network, and
- Basware generates legally valid electronic invoices and transfers them to the recipients – either directly or via partner networks.
Distributing invoices through Basware
This page summarizes specific information about the Basware integration.
Note
The common instructions include the minimum required fields. Depending on your business context (type of products or services sold, target markets, etc.), Basware may, however, require additional fields to be set, and produces errors if they are missing. For generally acknowledged and project-approved recommendations for setting up the Basware-specific fields, see Best Practice: Basware Setup.
Basware Status
The Basware status is a "helper" object in JustOn used to track the data transfer status, which is linked to the invoice. It includes the following fields:
Label | API Name | Description |
---|---|---|
Business Document Identifier (BUMID) | ONB2__BumId__c |
A unique identifier for the invoice. Points to the UUID at the invoice. |
File References | ONB2__FileReferences__c |
Tracks which attachments have been transferred. |
Invoice | ONB2__Invoice__c |
Lookup field that specifies the invoice. |
Is Latest | ONB2__IsLatest__c |
Flags the latest status record for this particular item. |
Last Error | ONB2__LastError__c |
Shows the error message in case the data transfer has failed. |
Status | ONB2__Status__c |
Shows the Basware status:Unsent File Error Files Sent Invoice Error Finished |
Request Body | PostDocumentRequestBody__c |
Optional field (Long Text Area (32768)) used to record the data that is sent to Basware. |
The Basware statuses have the following meaning:
Status | Description |
---|---|
Unsent | The initial status upon creation. |
File Error | States that some attachment uploads have failed. |
Files Sent | States that the batch process BatchBaswareFileUpload has completed successfully and the attachments are uploaded to Basware. |
Invoice Error | States that the batch process BatchBaswareInvoiceUpload has completed with errors and that the invoice data upload has failed. |
Finished | States that the invoice transfer (both the file and data upload) to Basware has completed successfully. Invoices with the Basware status Finished are not considered for further transfer processes. |
Data Transferred to Basware
data
data
is the Basware object that holds the business-related content of an invoice.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
id |
External system identifier of the business document. | Invoice__c.Name |
|
issueDate |
The date when the Invoice was issued. | Invoice__c.Date__c |
|
documentCurrencyCode |
Currency presentation of the Invoice document. | Invoice__c.CurrencyIsoCode or the organization default currency |
You can send more data to Basware using the following optional fields:
Basware Name | Basware Description | JustOn Source | Data Type |
---|---|---|---|
note |
Free-form text pertinent to this document, conveying information that is not contained explicitly in other structures. | Invoice__c.BaswareNote__c |
Text |
orderReference.id |
Order number reference on the business document. Identifies the referenced order assigned by the buyer. | Invoice__c.BaswareOrderReferenceId__c |
Text |
orderReference.schemeId |
External global identifier of the id identifier element. | Invoice__c.BaswareOrderReferenceSchemeId__c |
Text |
orderReference.issueDate |
The date on which the referenced order was issued. | Invoice__c.BaswareOrderReferenceIssueDate__c |
Text |
accountingSupplierParty
accountingSupplierParty
is the Basware object that represents the accountable supplier of the goods/services in the referred business document.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
partyName |
A name of the party. | Tenant__c.Company__c |
|
postalZone |
The postal code of the area in the postal address of the party. | Tenant__c.PostalCode__c |
|
cityName |
The name of the city, town or village in the postal address of the party. | Tenant__c.City__c |
|
addressLine |
The address line of the postal address of the party. | Tenant__c.Street__c |
|
countrySubentity |
The sub-entity of the area in the postal address. | Tenant__c.StateCode__c |
|
countryId |
The country of the postal address of party. Valid values: ISO3166-1 alpha-2 values can be used. | Tenant__c.CountryCode__c |
|
telephone |
A telephone number of the contact of the party. | Tenant__c.Phone__c |
You can send more data to Basware using the following optional fields:
Basware Name | Basware Description | JustOn Source | Data Type |
---|---|---|---|
note |
Free-form description of the party not included in other fields. | Tenant__c.BaswarePartyNote__c |
Text |
endpoint.id |
External system identifier of the party. | Tenant__c.BaswarePartyId__c |
Text |
endpoint.schemeId |
Identifies the namespace of the id. | Tenant__c.BaswarePartySchemeId__c |
Text |
partyIdentifications[0].id |
An object holding the external system identifier of the party. | Tenant__c.BaswarePartyIdentificationId__c |
Text |
partyIdentifications[0].schemeId |
External global identifier of the id identifier element. | Tenant__c.BaswarePartyIdentificationSchemeId__c |
Text |
partyLegalEntities.registrationName |
Registration name of the legal entity. | Tenant__c.BaswarePartyLegalRegistrationName__c |
Text |
partyLegalEntities.companyIdentifier.id |
An object holding a party legal entity. | Tenant__c.BaswarePartyLegalCompanyId__c |
Text |
partyLegalEntities.companyIdentifier.schemeId |
Identifies the namespace of the id. | Tenant__c.BaswarePartyLegalCompanySchemeId__c |
Text |
partyTaxScheme.company.id |
A tax identifier for a company. The identifier assigned for tax purposes to a party by the taxation authority. | Tenant__c.BaswarePartyTaxCompanyId__c |
Text |
partyTaxScheme.company.schemeId |
Country specific agency schema, example DK:CVR for Denmark. | Tenant__c.BaswarePartyTaxCompanySchemeId__c |
Text |
accountingCustomerParty
accountingCustomerParty
is the Basware object that represents the accountable buyer of the goods/services in the referred business document.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
partyName |
A name of the party. | Invoice__c.AccountName__c |
|
postalZone |
The postal code of the area in the postal address of the party. | Invoice__c.BillingPostalCode__c |
|
cityName |
The name of the city, town or village in the postal address of the party. | Invoice__c.BillingCity__c |
|
addressLine |
The address line of the postal address of the party. | Invoice__c.BillingStreet__c |
|
countrySubentity |
The sub-entity of the area in the postal address. | Invoice__c.BillingStateCode__c (fallback: BillingState__c ) |
|
countryId |
The country of the postal address of party. Valid values: ISO3166-1 alpha-2 values can be used. | Invoice__c.BillingCountryCode__c (fallback: BillingCountry__c ) |
|
contact.name |
A contact name of the party. | Invoice__c.EmailFirstName__c + Invoice__c.EmailLastName__c |
|
contact.electronicMail |
An email of the contact of the party. | Invoice__c.Email__c |
You can send more data to Basware using the following optional fields:
Basware Name | Basware Description | JustOn Source | Data Type |
---|---|---|---|
note |
Free-form description of the party not included in other fields. | invoice__c.BaswarePartyNote__c |
Text |
endpoint.id |
External system identifier of the party. | invoice__c.BaswarePartyId__c |
Text |
endpoint.schemeId |
Identifies the namespace of the id. | invoice__c.BaswarePartySchemeId__c |
Text |
partyIdentifications[0].id |
Party that is the accountable buyer of the goods/services in the referred business document. | Invoice__c.BaswarePartyIdentificationId__c |
Text |
partyIdentifications[0].schemeId |
External global identifier of the id identifier element. | Invoice__c.BaswarePartyIdentificationSchemeId__c |
Text |
partyLegalEntities.registrationName |
Registration name of the legal entity. | Invoice__c.BaswarePartyLegalRegistrationName__c |
Text |
partyLegalEntities.companyIdentifier.id |
An object holding a party legal entity. | Invoice__c.BaswarePartyLegalCompanyId__c |
Text |
partyLegalEntities.companyIdentifier.schemeId |
Identifies the namespace of the id. | Invoice__c.BaswarePartyLegalCompanySchemeId__c |
Text |
partyTaxScheme.company.id |
A tax identifier for a company. The identifier assigned for tax purposes to a party by the taxation authority. | Invoice__c.BaswarePartyTaxCompanyId__c |
Text |
partyTaxScheme.company.schemeId |
Country specific agency schema, example DK:CVR for Denmark. | Invoice__c.BaswarePartyTaxCompanySchemeId__c |
Text |
paymentMeans
paymentMeans
is the Basware object that represents the available payment means.
Basware Name | Basware Description | JustOn Source |
---|---|---|
paymentDueDate |
Date when the business document is due for the payment means. | Invoice__c.PaymentDueDate__c |
paymentMeansCode |
A code that identifies how the payment can be done. Valid values: UN/ECE 4461 codes. | 30 (credit), 31 (debit) , depends on Invoice__c.Class__c |
Be aware that some countries use specific payment references to identify vendors, buyers or invoices, like the KID number in Norway or the Finnish Reference Number. When required, Basware expects this information to be set in the field paymentIdentifier.id
of the paymentMeans
object, and produces an error when it is missing.
Basware Name | Basware Description | JustOn Source | Data Type |
---|---|---|---|
paymentIdentifier.id |
An identifier for a payment made using this means of payment. | Invoice__c.BaswarePaymentIdentifierId__c |
Text |
You can send more data to Basware using the following optional fields:
Basware Name | Basware Description | JustOn Source | Data Type |
---|---|---|---|
financialAccounts[0].financialInstitutionName |
The name of financial institution. | Tenant__c.BaswareFinancialInstitutionName__c |
Text |
financialAccounts[0].financialInstitutionId |
Identifier of financial institution. | Tenant__c.BaswareFinancialInstitutionId__c |
Text |
financialAccounts[0].financialInstitutionSchemeId |
The external identifier of the financial institution id identifier element. | Tenant__c.BaswareFinancialInstitutionSchemeId__c |
Text |
financialAccounts[0].ids[0].id |
An object holding identifier data. | Tenant__c.BaswareFinancialAccountId__c |
Text |
financialAccounts[0].ids[0].schemeId |
External global identifier of the id identifier element. | Tenant__c.BaswareFinancialAccountSchemeId__c |
Text |
paymentIdentifier.schemeId |
External global identifier of the id identifier element. | Invoice__c.BaswarePaymentIdentifierSchemeId__c |
Text |
paymentTerms
paymentTerms
is the Basware object that represents the available payment terms.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
settlementPeriod.startDate |
Date when the payment terms starts. | Invoice__c.Date__c |
|
settlementPeriod.endDate |
Date when the payment terms ends. | Invoice__c.PaymentDueDate__c |
You can send more data to Basware using the following optional fields:
Basware Name | Basware Description | JustOn Source | Data Type |
---|---|---|---|
note |
Free-form text applying to the payment terms. This field may contain notes or any other similar information that is not contained explicitly in another structure. | Invoice__c.BaswarePaymentTermsNote__c |
Text |
taxTotal
taxTotal
is the Basware array that holds information about the total amount of a particular type of tax.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
currencyId |
A code that identifies the currency of the total payable amount. | Invoice__c.CurrencyIsoCode or the organization default currency |
|
amount |
Total amount of the taxes, the total tax amount for particular tax scheme like VAT, the sum of each of the tax subtotals for each tax category within the tax scheme. | Invoice__c.TotalTax__c |
|
taxSubTotals |
An object holding the information about tax. | Summary of InvoiceLineItem__c fields PosTotalNet__c , PosTotalTax__c , TaxRate__c and CurrencyIsoCode |
Info
JustOn uses the applied tax rule of the invoice line item to create the taxSubTotals
information. If the field Applied Tax Rule
is not set for an invoice line item, the corresponding tax information is not in taxSubTotals
.
invoicePeriod
invoicePeriod
is the Basware object that represents the invoice period of the business document.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
startDate |
Date when the goods/services are invoiced. | Invoice__c.ServicePeriodStart__c |
|
endDate |
Date when the goods/services are invoiced. | Invoice__c.ServicePeriodEnd__c |
legalMonetaryTotal
legalMonetaryTotal
is the Basware object that represents the total amount payable on the invoice.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
payableAmount.amount |
The total amount to be paid. | Invoice__c.GrandTotal__c |
|
payableAmount.currencyId |
A code that identifies the currency of the total payable amount. | Invoice__c.CurrencyIsoCode or the organization default currency |
documentlines
documentlines
is the Basware array that holds the invoice lines.
Basware Name | Basware Description | JustOn Source | Required |
---|---|---|---|
id |
External system identifier for the Invoice line. | InvoiceLinetem__c.Sequence__c |
|
orderLineReference.lineId |
An identifier for the referenced order line, assigned by the buyer. | InvoiceLinetem__c.Sequence__c |
|
quantity.amount |
The quantity of the target Business Document line items. | InvoiceLinetem__c.CalculatedQuantity__c * InvoiceLinetem__c.CalculatedBillingFactor__c |
|
lineExtension.currencyId |
The currency of the amount. | InvoiceLineItem__c.CurrencyIsoCode or the organization default currency |
|
lineExtension.amount |
The total amount for the line item, including allowance charges but net of taxes. | InvoiceLinetem__c.TotalNet__c |
|
item.descriptions[0].description |
Description of the Business Document line item. | InvoiceLinetem__c.Description__c |
|
item.name |
Name of the Business Document line item. | InvoiceLinetem__c.Title__c |
|
item.taxPercent |
Tax amount for the item. | InvoiceLinetem__c.TaxRate__c |
|
price.currencyId |
A code that identifies the currency of the line item price. | InvoiceLineItem__c.CurrencyIsoCode or the organization default currency |
|
price.amount |
The price of the line item. | InvoiceLinetem__c.UnitPrice__c |
|
taxTotal.currencyId |
A code that identifies the currency of the total payable amount. | InvoiceLineItem__c.CurrencyIsoCode or the organization default currency |
|
taxTotal.amount |
Total amount of the taxes. | InvoiceLinetem__c.PosTotalTax__c |
|
taxTotal.taxSubTotals |
An object holding the information about tax. | Sum InvoiceLineItem__c /TaxDetail__c fields Amount__c and Rate__c If there are no tax details, the values are taken directly from the invoice line item. |
You can send more data to Basware using the following optional fields:
Basware Name | Basware Description | JustOn Source | Data Type |
---|---|---|---|
note |
Free-form text conveying information that is not contained explicitly in other structures. | InvoiceLinetem__c.BaswareNote__c |
Text |
orderLineReference.orderReference |
A reference to the order containing the referenced order line. The text is limited to 50 characters. |
InvoiceLinetem__c.BaswareOrderReference__c |
Text |
item.descriptions[1].description |
Description of the Business Document line item. | InvoiceLinetem__c.BaswareDescription__c |
Text |
delivery.promisedDeliveryPeriod.startDate |
Earliest date when the goods/services are promised to be delivered. | InvoiceLinetem__c.BaswarePromisedDeliveryPeriodStart__c |
Date |
delivery.promisedDeliveryPeriod.endDate |
Latest date when the goods/services are promised to be delivered. | InvoiceLinetem__c.BaswarePromisedDeliveryPeriodEnd__c |
Date |
serviceIndicator |
Flag indicating whether the line represents goods or services (true if services, false if goods). | InvoiceLinetem__c.BaswareServiceIndicator__c |
Checkbox |
processingPreference
Basware Name | Basware Description | JustOn Source | Required | Data Type |
---|---|---|---|---|
sendTo.id |
Identifier for the recipient endpoint. | Invoice__c.BaswareRecipientId__c |
Text | |
sendTo.schemeId |
Identifies the namespace of the id. | Invoice__c.BaswareSchemeId__c |
Text | |
receiveFrom.id |
Identifier for the sender endpoint. | Tenant__c.BaswareRecipientId__c |
Text | |
receiveFrom.schemeId |
Identifies the namespace of the id. | Tenant__c.BaswareSchemeId__c |
Text | |
printingPreference |
Indicates the printing preference. This field can be specified to allow printing delivery with PrintingAllowed or force the document to be delivered by printing with PrintingAlways. If this field is not specified, delivery will be by eInvoicing. | Invoice__c.BaswarePrintingPreference__c |
Text |
Tax Exemption
If the tax rate of an invoice line item is 0
, JustOn can feed additional exempt information from optional fields of the applied tax rule to the taxSubTotals
information of the document (data.taxTotal
) and the document lines (data.documentLines.taxTotals
):
Basware Name | Basware Description | JustOn Source | Required | Data Type |
---|---|---|---|---|
taxCategory.id |
External identifier of tax category. | TaxRules__c.BaswareTaxCategoryId__c |
Text | |
taxCategory.schemeId |
Identifies the namespace of the tax category identifier. | TaxRules__c.BaswareTaxCategorySchemeId__c |
Text | |
taxCategory.taxExemptionReason |
The reason for tax being exempted. | TaxRules__c.BaswareTaxExemptionReason__c |
Text |
Info
taxCategory.id
is only required when specifying a tax exemption reason.
Note
You may have contracted Basware to print invoices (and, consequently, have set a printing preference) and to post them locally in the corresponding destination countries. In this case, you may need to provide customized invoice templates that comply with the destination country's postal regulations. If you have contracted international postal deliveries, one generic template may be sufficient.