Breaking
- Service
GetDiscountByID
can no longer be called anonymously.
Compliance
✅ Global Blue sequence
We have implemented a separate sequence for Global Blue tax free forms to make sure we always have a compliant sequence number. This sequence is structured as follows: [OrganizationUnitID]-[StationID]-SequenceNumber
. So the sequence will also be unique for each combination of OUID/StationID.
🇮🇹 Italy
✅ Tax exempt products
Invoices with tax exempt products will no longer be rejected by SDI due to an incorrect format of the AliquotaIVA field.
✅ Removing a Company Name from E-Invoices
Users can now delete a company name from an e-invoice. Previously, once a company name was set on the User information, it could not be removed. The Company Name field can now be left blank.
Expand to see fix(es)
- Resolved an issue where clearing the VAT numbers in User information of an e-invoice did not remove the VAT from the invoice export post clicking the Save and resend invoice button.
Properties
🆕 Remark in addresses
When specifying addresses, you can now make use of a Remark property.
Details
This new field can be set as an address requirement for a country and can be fetched by calling ListAddressBook
.
The property can be specified in the following services:
CreateAddressBookItem
UpdateAddressBookItem
UpdateAddress
UpdateOrderAddresses
UpdateOrderBillingAddress
CreateCustomer
✅ Removing ApplyManuallyOnly
We're removing the ApplyManuallyOnly property from loyalty programs, since these are always applied manually and thus make the propery irrelevant.
Services
✅ Cash Payment Limits
The newly introduced amount limits for cash payments on a single order are now also exposed in the following services:
GetOrder
GetShoppingCart
GetAvailablePaymentMethods
✅ Displaying serial numbers in returns
To avoid confusion when creating returns for orders involving products with serial numbers, EVA now exposes SerialNumberConfigurationID (if available) for order lines in the GetReturnableStatusForOrder
service.
GetOrder
GetShoppingCart
GetAvailablePaymentMethods
✅ Security improvements
We are upping security by making some services not only require specific functionalities, but also for the user to be an employee or customer instead of allowing for anonymous users. Additionally, some services have been removed altogether.
Employee
The following services now have RequiresEmployee. If not present, EVA will return an error of type Forbidden. Additionally, some services require additional functionalities.
CheckOrderAddressFraud
CheckOrderBackendIDExists
CheckShipmentBackendIDExists
CreateOrderLedger
DuplicateOrder
SetOrderBackendIdentifier
UpdateOrderShippingStatus
AdminGetAllModules
DownloadStockExcelFileTemplate
DownloadFlightsFileTemplate
- requires employee with Flights.Create nowListDiscountCouponHandlers
- requires employee with Discounts.View nowGetReturnReasonsByType
- still anonymous, but employee is required for Type OrganizationUnit
Customer
The following services now require the user to be a customer.
GetOrderLoyaltyProgramPaymentTypes
DetachLoyaltyProgramFromOrder
CreateCompanyForUser
DetachCompanyFromUser
GetCompanyForUser
UpdateCompanyForUser
GetAvailableSubscriptions
Removed
GetUserRequirementsForSubscriptions
GetOrganizationUnitTree
GetFlatOrganizationUnitTree
✅ EVA ID on PushUser
Service PushUser
now allows pushing users on EVA ID.
✅ GetDiscountByID
Service GetDiscountByID
can no longer be called anonymously.
🆕 EnableCashJournalsForNonMonetary
The new setting EnableCashJournalsForNonMonetary
can be explicitly set to true on root level to make EVA require users to count the totals of custom payments when closing a financial period.
Front end support is still underway.
Details
While currently EVA only allows for counting Cash when closing (or opening and closing) financial periods, users may want to implement counting the totals of custom payments as well.
By setting EnableCashJournalsForNonMonetary
to true (defaults to false) on root level, EVA will require a count for such payment methods as well - that is, so long as the payment method itself is also configured to be counted at opening and/or closing.
Enabling this will cause EVA to create a 'Void' device for such payments. These devices can be renamed at a later moment.
✅ SearchStockMutations
We've moved over the SearchStockMutations
service from Cosmos to Elastic, making its response a little quicker.
Other topics
🆕 User object on order validation scripting
The CheckOrderValidation
scripting extension point now has access to the Order.Customer
object.
✅ Labels returned during FSC
We've made a change to how EVA handles Full stock counts, by having ListFullStockCountSummary
only return labels which are FullStockCountable.
In practice this means you won't see any non-fullstockcountable label nor be able to create stock mutations on them during FSCs.
✅ CertifiedInvoice stencils
We have made small adjustments to the headers in the CertifiedInvoice (PDF) stencil, ensuring that any headers which are too big are split and continue in the following line.
This was an issue that could become apparent in case of long email addresses.
✅ PriceList recalculation
When creating a pricelist adjustment that triggers a recalculation of the pricelist, we now keep the pricelist in memory whilst recalculating to make sure other actions on the pricelist will not be blocked for the duration of the recalculation.
Fixes
- Fixed a potential issue with orders containing deleted loyalty programs during checkout.
- Fixed an issue where
Repair - Updated
webhooks would be fired when callingUpdateRepair
without actual updates to the repair. - Reverting the OneTimeDownload change due to issues with merging blobs.
- Transactions performed while in Local mode on devices which are deleted in the meantime, will no longer fail and instead be pushed and synced to EVA cloud.
- The loyalty payment type PayableTax now uses the TaxAmount (instead of the Amount) when using external amounts.
Deprecations
🆕 Introduced
These deprecations are now announced for the first time. Usage of these services and/or fields will return the appropriate EVA-Warnings
header.
High Impact
Property
ApplyManuallyOnly
is deprecated and will be removed in2.0.786
. Loyalty programs should always be applied manually. Property will be removed. Affected services are:CreateLoyaltyProgram
GetLoyaltyProgramResponse
PushLoyaltyProgram
UpdateLoyaltyProgram
Property
AutoRefund
on serviceCreateInvoicedOrderLineCorrection
is deprecated and will be removed in2.0.786
. Use PropertyAutoProcess.ShipAndRefund
instead.Service
ListProductSearchTemplateResults
is deprecated and will be removed in2.0.786
. This service has been deprecated and won't yield any results. To check if a product is part of a product search template, you can use serviceCheckProductSearchTemplateProduct
.
⚡ Removed from typings
These deprecations are now halfway through their deprecation timeline. As of now, these services and/or properties will no longer be exposed by our typings.
Low Impact
- Property
Filters.Status
is deprecated and will be removed in2.0.758
. Please use propertyIsActive
instead. GetCheckoutOptions.Filters.Status
For more details on the impact categories, please see When are changes communicated?.
Release dates may vary
The exact date for deploying a Core release to production environments may vary. See How we handle Core releases for more details.