Breaking
No breaking changes.
Compliance
Scripting
🆕 IsRepairOrder variable
OrderCustomFieldEligibility extension point
We've included the IsRepairOrder flag in the OrderCustomFieldEligibility extension point.
This way you might create a custom field to ask if a repair order may include a goodwill discount for example.
🆕 OrderCustomType and Status
We added the IsRepairOrder variable to both OrderCustomType and OrderCustomStatus as well.
Details
Please note that you will first have to configure the new custom order type in Admin Suite before you can expand your OrderCustomType script to inlude that new order type (for orders that have this IsRepairOrder property).
🆕 FulfillmentOU details in orderCustomType and orderCustomStatus
FulfillmentOU details are now available in the OrderCustomType and OrderCustomStatus extension points.
This will allow you to customize your e-com scripts without having to rely on solely the fact that an order has delivery lines and is sold from a certain OU type.
You can access these via Order.Lines[0].FulfillmentOrganizationUnit
.
Properties
🆕 SerialNumber on ListRepairsFilter
As part of laying the groundwork for an improved repairs overview, which will include the ability to find a repair based on a serial number scan, we're adding the SerialNumber property to ListRepairs
- this will only return repairs if they are an exact match.
🆕 Automatic credit invoices on returns
To allow for automatic transmission of credit invoices for returns of endless aisle orders, we've added the SendInvoice to PushReturnOrder
.
Details
Previously, when a return order would be created using the PushReturnOrder
service for an endless aisle order at the SoldFromOrganisationUnit level, and the stock would be received in the warehouse, EVA would not automatically send a credit note to the customer.
This issue arises because the return is initiated at the store level, where automatic emails are not sent - unless manually triggered. To address this, we're introducing an optional flag to the PushReturnOrder
service which will allow for the automatic transmission of return invoices when the return order is received, provided certain conditions are met.
This functionality will follow this flow:
- If either the property AlreadyReceived or AutoRefund is true
- Adhere to normal ship logic (which already creates the invoice and, if the setting
AutoSendInvoice
is true, it sends the invoice)
- Adhere to normal ship logic (which already creates the invoice and, if the setting
- If the option SendInvoice is true and
AutoSendInvoice
is false- Get all invoices for the just created return order and mail them all
🆕 TaxCodeName in ListTaxRateModelFilters
We have added the property TaxCodeName to ListTaxRateModelFilters
to facilitate an upcoming addition to the Manual invoices chapter in Admin Suite.
🆕 ParentID to CaseTopic
With the addition of ParentID to CaseTopic
services, case topics can now be grouped by creating a topic with a parent. Additionally ListTopics
now allows for filtering on this new property.
Services
✅ Blocking receipt of pending shipments
In some cases employees would receive pending shipments made in Admin 1.0, which should not happen. To prevent these cases, we've altered both ReceiveShipment
and FullyReceiveShipment
to first check if the status of the shipment is still pending, in which case it will display an error: "Cannot receive an unshipped shipment."
🆕 Fuzzy search in ListProductPropertyTypes
We'll be adjusting the front end to only use the ListProductPropertyTypes
service. To that end we've made the ID filter in the service a fuzzy search and have added a new IDs array property.
✅ Identifying cases by barcode
The ParseBarcode
service now allows for identifying cases by barcode.
In this case, the barcode should be prefixed with CASE.
for example case with ID 123 should have the barcode
CASE:123
As a small, but noteworthy addition to this entry: customers are only able to get information on the cases they are attached to.
Other topics
✅ Updated Whitelisting addresses
We have made some changes to the necessary whitelisting addresses. Note that action is not required on your part.
Details
New list
EVA Cloud ↔ POS/CFD/Watchtower
App | Destination | Protocol | Ports | Comment |
---|---|---|---|---|
POS | *.on-eva.io | TCP/UDP | 443 | API requests to EVA |
POS | *.eva-online.cloud | TCP/UDP | 443 | API requests to EVA |
CFD | cdn.contentful.com | TCP/UDP | 443 | Fetching content to display |
Watchtower | *.on-eva.io | TCP/UDP | 443 | API requests to EVA |
Watchtower | *.eva-online.cloud | TCP/UDP | 443 | API requests to EVA |
Watchtower | hosted.mender.io | TCP/UDP | 443 | API calls to Mender |
Watchtower | hosted-mender-artifacts.s3.amazonaws.com | TCP/UDP | 443 | Fetching data from Mender |
Watchtower | cratecache.azurecr.io | TCP/UDP | 443 | Fetching container images |
Watchtower | *.on-eva.io | UDP | 123 | NTP traffic to synchronize local time |
Watchtower | hooks.slack.com | TCP/UDP | 443 | Sending urgent notifications to our Slack |
Watchtower | https://raw.githubusercontent.com/new-black/eva-defaults/main/appsettings.json | TCP/UDP | 443 | To fetch the default app settings |
Old list
EVA Cloud ↔ POS/CFD/Watchtower |
---|
Allow internet communication TCP 443 to *.on-eva.io/* . |
Allow internet communication TCP 443 to *.eva-online.cloud/* . |
Allow internet communication TCP 443 to *.newblack.cloud/* . |
Allow internet communication TCP 443 to hosted-mender-artifacts.s3.amazonaws.com/* . |
Allow internet communication TCP 443 to *.quay.io/* . |
Allow internet communication TCP 443 to *.elastic.co/* . |
Allow internet communication TCP 443 to *.docker.com . |
Allow internet communication TCP 443 to *.docker.io/* . |
Allow internet communication TCP 443 to ipinfo.io/* . |
Allow internet communication TCP 443 to cratecache.azurecr.io . |
Allow internet communication UDP 123 for NTP traffic. |
🆕 User info in OrderLedgers
The OrderLedgers in the Data lake Orders export now also contains user info, allowing you to check which user was responsible for creating the order ledger.
Fixes
- We've fixed an issue where shipments that included giftcards were done twice when a price correction was involved
CreateInvoicedOrderLineCorrection
now ships first and then triggers the refund, which ensures shipments are handled correctly - In some specific cases the tax tables of the invoice did not match actual tax calculated on the order.
we now match InvoiceTotals with the OrderTotals for fully invoiced orders, ensuring the actual tax calculated and charged is correct
- Fixed an issue with opening hours end time at midnight.
Deprecations
No deprecation announcements.
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.