Skip to main content
Arrow Backward IconBack to Overview

Core 2.0.759

October 15, 2024

Released on all test and acceptance environments on October 15, 2024

Will be released to production in EUW and ASE on October 21, 2024*

Will be released to production in CUS on October 22, 2024*


release notes image

Breakingโ€

Orders:ReturnFullCreatedByโ€‹

All values for the setting Orders:ReturnFullCreatedBy will be removed from EVA in this release.

The setting was already deprecated since Core Drop 2.0.715 and will be forced to the default value false in all environments.

In an upcoming release, the full response property CreatedBy will be removed from the OrderDto - as has already been the case in Test/Acceptance environment for months. The replacement is the CreatedByFullName property.

Complianceโ€

๐Ÿ‡ธ๐Ÿ‡ช Sweden - Action may be required

We are introducing a new setting which is required for all customers which integrate with Infrasec in Sweden.

  • Auditing:Sweden:Shop:Number

This setting must be filled in for per OU operating in Sweden with a 4-digit number. This number is based on your OUID and should be prefixed with 0 to reach 4 digits..

For example. Your OU ID is 48. The value you put in this setting is 0048.

While New Black will be migrating all customers this currently applies to in Production environments, customers using it in Test/Acceptance will have to do so themselves.

๐Ÿ‡ท๐Ÿ‡ด Romania

Generating PDF Invoices for B2B Transactions in Romaniaโ€‹

Store operators in Romania can now generate PDF invoices for B2B transactions, essential for reporting to ANAF with unique and sequential invoice numbers.

  • Automatic PDF Generation: A PDF invoice is generated for B2B orders alongside the fiscal receipt, which can be printed or emailed.
  • Invoice Numbering: Uses a custom format: OU-999-XXXXXXXX for B2B transactions.
  • B2B Customer Criteria: Requires a company name, VAT number, and billing address.
  • Fiscal Receipt Reference: Includes a reference labeled Referinศ›ฤƒ bon fiscal.
  • Template: The CertifiedInvoice is used a basis, but translated to Romanian.

Note: Manual reporting to ANAF is still required.

Propertiesโ€

๐Ÿ†• IncludedFields in GetRepairโ€‹

GetRepair now includes the IncludedFields property, which will allow EVA to show a summary of the repair in the Checkout App.

Servicesโ€

โœ… GetAvailableSettingsโ€‹

You can now view enhanced data about settings through the i icon in the Roles and rights section of EVA.

Details of the Update

The GetAvailableSettings service now returns functionality data for each setting, as matched and announced in our recent batches of Core drops.

Users will no longer be able to see only functionalities limited to what's already active on their OU, but all settings related to a functionality instead.

๐Ÿ†• GetUserSubscriptionsโ€‹

The following change is introduced as part of a bigger development - this feature is not ready for use

To create the framework for allowing users to manually enter a subscription identifier in our front end Apps, we are making some changes to the GetUserSubscriptions service.

Details

The update introduces two new properties: ManualUserIdentifiers and ResubscribeHandling, which are necessary for manually entering user identifiers within the App.

  • Scenario Handling:

    • Scenario 1: When changing a subscription status from subscribe to unsubscribe, the subscription identifier will not be displayed.
    • Scenario 2: If ManualUserIdentifiers is set to true, subscribing requires a manual identifier. Depending on the ResubscribeHandling value:
      • (0): The user identifier is updated.
      • (1): The original user identifier is retained.
      • The app will automatically display an input view, requiring users to enter the identifier to activate the subscription toggle.
    • Scenario 3: If the subscription is set to block (i.e., ResubscribeHandling is 3), it cannot be edited, regardless of the ManualUserIdentifiers value.
    • Scenario 4: When ManualUserIdentifier is false, and changing status from unsubscribe to subscribe:
      • If ResubscribeHandling is (0) or (1), the App displays the automatically generated subscription identifier as is.

    This update enhances the App's flexibility and user control over subscription identifiers, making it easier to manage subscriptions without additional API calls.

๐Ÿ†• ShipmentIdentifier CRUD servicesโ€‹

The following change is introduced as part of a bigger development - this feature is not ready for use

We are adding new services to EVA, to enable the creation of shipment identifiers. These can then be used to ensure employees scan these identifiers during logistical processes.

Details

What Has Changedโ€‹

Introduction of ShipmentIdentifiers Config Object
This new object allows the configuration of shipment identifiers, which are necessary for tracking and managing shipments effectively.

  • Types and Properties

    • Types: Two types of identifiers have been introduced:
      • 0 (crate)
      • 1 (seal)
    • Flag Property RequiredFor:
      • This property determines whether scanning is mandatory. Current values are:
        • 0 (none) - Scanning is not required.
        • 1 (RTS) - Scanning is required for Ready to Ship (RTS) processes.
  • CRUD Services

    • New services have been added to manage these identifiers:
      • CreateShipmentIdentifier
      • UpdateShipmentIdentifier
      • DeleteShipmentIdentifier
      • ListShipmentIdentifiers
      • GetShipmentIdentifier

How to Useโ€‹

  • Creating Identifiers: Use the CreateShipmentIdentifier service to add new identifiers. Specify the type and set the RequiredFor flag as needed.
  • Updating and Deleting: Modify existing identifiers using UpdateShipmentIdentifier, or remove them with DeleteShipmentIdentifier if they are no longer needed.
  • Listing and Retrieving: Use ListShipmentIdentifiers to view all configured identifiers and GetShipmentIdentifier to retrieve specific details about an identifier.

Other topicsโ€

๐Ÿ†• UserAgent filtering in EventExportโ€‹

The EventExport extension point now supports scripting based on UserAgent.

Details

What's Changedโ€‹

The latest update introduces the capability to filter event exports by user agent. This means you can now specify which user agents (browsers or devices) you want to include or exclude in your event data exports. This functionality is particularly useful for targeting specific platforms or isolating data from unwanted sources.

Technical Detailsโ€‹

  • The EventExport extension point now includes the UserAgent property.
  • Inclusion and Exclusion: The flow allows both inclusion and exclusion filters.

Available propertiesโ€‹

  • UserAgent
    • .Name
    • .Version
    • .Stage
    • .Details
    • .Raw

Note: This UserAgent.x in the script uses the EVA-User-Agent of the request, not the regular User-Agent

Sample

extend EventExport
set export to false
if UserAgent.Name = 'EVA-TestSuite' then
set export to true
end
output export

โœ… Invoice attributes as order requirementsโ€‹

In order to make invoice attributes visible and editable in our POS as order requirements, we are making some changes to the Order custom fields.

Details

What's Changedโ€‹

  • CustomFields in Data Object: The Data object now includes a CustomFields array with objects containing an ID and an IsValid property.

Sample

"Data": {
"IDs": [616, 617],
"CustomFields": [
{"ID": 616, "IsValid": true},
{"ID": 617, "IsValid": false}
]
}

๐Ÿ†• LoyaltyPrograms and LoyaltyProgramsGroups as Data lake exportsโ€‹

EVA now includes two new Data lake exports:

  • LoyaltyPrograms
  • LoyaltyProgramsGroups

Additionally the Orders export now includes the LoyaltyProgramID

Samples
Loyalty program groups

{
"GenerationTime": "2024-10-16T11:43:06.1082469Z",
"ID": "euw1",
"BackendID": "RG_001",
"Name": "Loyalty Groups",
"StartDate": "2024-07-02T00:00:00Z",
"BudgetCurrencyID": "EUR",
"UsedBudget": 0,
"DeactivateWhenBudgetIsReached": false,
"IsActive": true,
"IsDeleted": false
}

Loyalty programs

{
"GenerationTime": "2024-10-16T11:42:37.168464Z",
"ID": "euw124",
"LoyaltyProgramGroupID": "euw1",
"Name": "Tier1",
"Description": "Weekly",
"PaymentMethodsEnabled": false,
"LoyaltyPointsEnabled": false,
"DiscountsEnabled": false,
"StartDate": "2024-09-30T22:00:00Z",
"Handler": "LOYALTYAPI",
"RequireCustomer": true,
"RequiresSubscribedCustomer": true,
"AutoSubscribeCustomer": false,
"RequiresSubscriptionValidation": false,
"AllowPointAwarding": false,
"AllowPointsAsPaymentMethod": false,
"AllowPointsToBeWithdrawn": false,
"PointPendingPolicyType": "DEFAULT",
"PointExpirationPolicyType": "DEFAULT",
"UsedBudget": 0,
"DeactivateWhenBudgetIsReached": false,
"IsActive": true,
"IsDeleted": false,
"Conditions": [],
"PriceLists": [],
"PaymentTypes": [],
"PointAwardingRules": [],
"ProductLimitations": [],
"RequiredCustomFields": []
}

Fixesโ€

  • We fixed an issue where the RTS cleanup task was not triggered after partially shipping RTS orders, leading to stock remaining on the "Reserved" label.
  • The service CustomerListCases could break when there were more than 4 CaseTopics.
  • Addressed an issue to ensure that cash journals for Void type devices are exempt from adhering to configured cash limits for drawers and safes, enabling employees to close these devices without manual intervention to adjust amounts.
  • Fixed an issue where products outside of the related assortment were returned from the prefigure discount result when they shouldn't.
  • After calculating the TaxAmount for orders with TaxDetails, the UnitPrices were not updated on the InvoicedOrderLineCorrection.
  • Fixed an issue where subtotal, tax, and total amounts for Account/Payroll/Customer were not populating on electronic receipts for loyalty accounts.
  • A solution has been implemented to address an issue with handling returns that are partially paid by Industrial Accounts and partially by customers.
  • Fixed an issue where returns of an order with the old calculation into a return order with the new calculation lead to incorrect prices.

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โ€‹

Highโ€‹

  • LoyaltyProgramID is deprecated and will be removed in 2.0.1031: Loyalty programs can now be created with the subscription info..

โšก Removed from typingsโ€‹

These deprecations are now halfway through their deprecation timeline. As of now, these services and/or fields will no longer be exposed by our typings.

Deprecatedโ€‹

Highestโ€‹

  • Highestย HardwareID is deprecated and will be removed in 2.0.791: Not used anymore.
    • StartTransaction.HardwareID
  • Highestย UseBase64 is deprecated and will be removed in 2.0.791: Forced.
    • GetConfigurationQrForDevice.UseBase64
  • Highestย UseHardwareID is deprecated and will be removed in 2.0.791: Not used anymore.
    • StartTransaction.UseHardwareID

Highโ€‹

  • Highย User.BackendID is deprecated and will be removed in 2.0.775: No longer used.
    • CreateCustomer.User.BackendID

Mediumโ€‹

  • Mediumย Pin is deprecated and will be removed in 2.0.767: This will no longer be returned, as the pin that is returned is the pin that is requested. This service will eventually return as an EmptyResponse.
    • CreateIdentificationPinForEmployeeResponse.Pin
Impact descriptions

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.