action.skip

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.

basware
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.