Breaking
No breaking changes.
Compliance
🇷🇴 Compliance changes in Romania
- Fixed an issue with the sale of 0-priced articles and the corresponding incorrect receipt.
🇫🇷 France (Action required)
✅ Updated Payment Type Display on Certified Invoices (Thermal)
Thermal certified receipts will now display the Payment Type Name instead of the Payment Category.
Applicable to
Currently, this update is only applicable to Certified invoice (thermal) templates in France. We will announce additional compliant countries soon.
⚠️ Required Action
If this change affects you, please update the Payment Type Name in the Admin Suite by following these steps to ensure it is clear and intuitive:
- Step 1: Go to the Payment Configuration chapter;
- Step 2: Click on the Payment Types tab;
- Step 3: Select the payment type(s) you need to modify;
- Step 4: In the General Information card, update the Name field to the preferred name that will appear on your certified thermal receipts. If the existing name meets your needs, no update is necessary. Note that the Name field supports multiple languages; add translations as necessary.
Properties
🆕 EVA ID in PushUser(s)
To simplify integration setups when it comes to customers which are created directly in EVA, both PushUser
and PushUsers_Async
now allow for creating and updating users via the EVA ID.
✅ PackLines in StartShipFromStoreTask
The startShipFromStoreTask
service will now use a new PackLines (array) to contain all products needing packing, preventing the need for front-end logic.
🆕 CashFloat in UpdateOrganizationUnitSettings
To facilitate the upcoming automated End of Day safe deposit functionality, we are adding the CashFloat property to the UpdateOrganizationUnitSettings
service.
✅ Available shipping methods in StartShipFromStoreTask
To facilitate the upcoming change in showing just the relevant shipping methods based on the SFS type (E-Com, Endless Aisle, Deliver to Store), we are adding the property AvailableShippingMethods to StartShipFromStoreTaskResponse
.
Services
✅ Functionality change for Watchtower services
Watchtower-related services used to require the LiveGuard functionality, but this has now been renamed to Watchtowers for clarity's sake.
No action is required for existing users.
List of services
The following services require this Watchtowers functionality.
CreateWatchtowerDevice
LiveGuardExecuteTask
PushWatchtowerConfigurationToDevice
ToggleLockStatusForWatchtowerDevice
WatchtowerExecuteCommand
WatchtowerGetDeviceDetails
ListWatchtowerDevices
🆕 SerialNumber property in multiple services
We are adding and supporting an optional SerialNumber property on several services.
List of services
List of services supporting the new property:
ReturnOrderLines
CreateCustomerReturn
CreateCustomerReturnWithoutOrder
CreateReturnToSupplierOrder
PushReturnOrder
🆕 CreatePurchaseOrderLineUnitPriceCorrection
We are introducing a new service to EVA: CreatePurchaseOrderLineUnitPriceCorrection
This service is introduced with the purpose of recalculating the Weighted Average Cost for purchase orders which are already shipped, InTransit and could thus not be recalculated if a wrong price was used for the PO.
Details
This service has just two properties:
- PurchaseOrderLineID
- UnitPrice
If the UnitPrice is different from the existing UnitPrice on the Orderline, and it's of type PO (if not: it will just return an empty response), the service will respond with the correction line for the order.
The new price is calculated as follows:
- Current cost price + (new amount - old amount) * quantity on purchase order / current stock quantity
✅ GetDiscountByID
The GetDiscountByID
service can no longer be used anonymously.
🆕 UpdateSubscriptionUserIdentifier
We are introducing a new service to EVA: UpdateSubscriptionUserIdentifier
This new service is used solely for the updating of users' subscriptions, which simultaneously fixes an issue where vouchers of old subscriptions would be displayed for users.
The service accepts the following properties:
- UserID
- SubscriptionID
- UserIdentifier
Settings
🆕 ReturnToSupplierOrderExporter
We are introducing several new settings related to the export of Return to Supplier orders.
These pertain to Unified orders scenarios only.
RTS order exporter endpoint
You can now configure a WMS endpoint for RTS orders specifically by means of the following two settings:
Setting | Value |
---|---|
ReturnToSupplierOrderExporter:Endpoint | Endpoint specifically for exporting Return to Supplier orders its designated WMS. |
ReturnToSupplierOrderExporter:Token | (optional) EVA will add this token to the 'Authorization' header in the request. |
Mind that after configuring these settings with your endpoint, you have to create or alter an existing RTS Order orchestration sheet. You will need to set the ExporterName property in the Data field to RETURN_TO_SUPPLIER. This will tell EVA to export the RTS orders orchestrated in that sheet to the new endpoint.
When to export
To allow for the customization of the export moment of RTS orders, we are introducing a new setting to EVA:
ReturnToSupplierOrderExporter:ExportMoments
This setting comes with the following values to indicate when to export the order to your warehouse:
- 0 for None
- 1 for Placed
- 2 for Verified
- 4 for Shipped
- These values can be combined for further customization.
Its default value is 1.
✅ Region tax rates
Our front end now supports the use of tax rates for country subdivisions in the EU, such as the Canary Islands in Spain.
When Taxes:UseShippingCountryInEuropeanUnion
is set to true on the SoldFromOU, customers added to orders with a country subdivision ID in their address will use the tax rate from that subdivision.
Other topics
🆕 Exposing user in CaseInteractionCreatedEmail
The CaseInteractionCreatedEmail template now exposes the whole user of the employee who created it.
🆕 Services in bundles
Bundles are no longer limited to stock-keeping products: services can now be included.
Sample
{
"TemplateName": "CaseInteractionCreatedEmail",
"InteractionText": "No issues found",
"User": {
"FirstName": "Pedro",
"LastName": "Pascal",
"FullName": "Pedro Pascal",
"Gender": "M",
"SingleSignOnOnly": false,
"Company": {
"Name": null,
"VatNumber": null,
"RegistrationNumber": null
}
},
}
(...)
Fixes
- Stencils for App notification will no longer fail to be sent when they contain less than 10 characters.
- Fixed a very specific issue where previewing only a CostOfGoods event would cause it not to be booked according to the recipe in Cookbook.
- The retry mechanism for NTH has been improved.
e-invoices exports will no longer remain pending despite a sale being fiscalized
- During a SFS task, not picking the products for the Pack-task will now just skip the Pack-task - instead of cancelling the entire composite task.
- Stencil templates with certain OrderLines models were not displaying product properties for a short moment.
- Fixed an issue when filtering on OU Types in
ListOrganizationUnitSets
. - Fixed an issue where an order line in a specific purchase order situation would be cancelled, but it would not change the total amount to 0 though necessary.
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.
Deprecated
Medium
- Medium Result.AuthenticationToken is deprecated and will be removed in 2.0.771: No longer used..
- ListApplicationsResponse.Result.AuthenticationToken
- Medium Result.RequiredUserTypeID is deprecated and will be removed in 2.0.771: No longer used..
- ListApplicationsResponse.Result.RequiredUserTypeID
⚡ Removed from typings
These deprecations and requirements are halfway to coming into effect. With these deprecations, the following services and/or fields are no longer be exposed by our typings. Failing to enter the mentioned required fields after the specified core release, will mean the services will no longer work.
Deprecated
High
- High LogoutSuccesful is deprecated and will be removed in 2.0.771: Spelling mistake in property name, use LogoutSuccessful.
- LogoutResponse.LogoutSuccesful
- High RegistrationBackendSystemID is deprecated and will be removed in 2.0.771: We've dropped the usage of the BackendSystemID. The BackendID itself should be unique throughout the application landscape. Values given in this property will be ignored..
- PushUserBoughtProduct.RegistrationBackendSystemID
Required
High
-->
- High Field LanguageID is required and will be enforced as such in 2.0.771.
- BulkUpdateOrganizationUnitSettings.LanguageID
- UpdateOrganizationUnitSettings.LanguageID
- High Field OrganizationUnits.LanguageID is required and will be enforced as such in 2.0.771.
- ImportOrganizationUnits.OrganizationUnits.LanguageID
- High Field UserID is required and will be enforced as such in 2.0.771.
- CreatePrivacyRemovalRequest.UserID
🚫 Effective
These deprecations are now effective. As of now, these services and/or fields are no longer available in EVA and can no longer be used.
Deprecated
High
- High InitialPageConfig.Filter.UsageType is deprecated since 2.0.755: Removed in favor of
LoyaltyPointUsageOptions
..- ListLoyaltyPrograms.InitialPageConfig.Filter.UsageType
- High Results.UsageType is deprecated since 2.0.755: Does not reflect listing information correctly because all the new options within loyalty program. Will be removed..
- ListLoyaltyProgramsResponse.Results.UsageType
- High UsageType is deprecated since 2.0.755: Deprecated because it does not reflect all new options from the loyalty program..
- GetLoyaltyProgramHandlers.UsageType
- High UsageType is deprecated since 2.0.755: Replaced by
LoyaltyPointUsageOptions
..- CreateLoyaltyProgram.UsageType
- GetLoyaltyProgramResponse.UsageType
- UpdateLoyaltyProgram.UsageType
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.