Changelog

What's new in easySales

New features and improvements, as they ship. We update this page every working day.

Handle Decathlon returns in easySales

Return requests your buyers open on Decathlon now arrive in easySales automatically, attached to the original order, with the products, quantities, the buyer's reason and comment. The status follows Decathlon, and accepting, refusing or receiving a return in easySales is recorded on Decathlon too. It works on every connected Decathlon country, with no setup.

Flow emails retried when your server is busy

When your mail server refuses a flow email for a temporary reason, such as an hourly sending limit, easySales now tries again on its own, five more times over about four hours. Meanwhile the email history shows it as "Retrying" with the server's reply. Permanent errors, like wrong credentials or a missing address, are still shown right away, and an email is never sent twice.

More improvements

  • FAN Courier fulfillment: phone for orders without one β€” Set a "Phone to send when the order has none" on your connection, and orders from marketplaces that hide the buyer's phone are sent to fulfillment instead of being stopped.
  • Offers API: price limits and images β€” Read each offer's minimum and maximum price and its images through the API, and update offer images, one offer or in bulk, from your own software.

Run your flows with one key

Give any flow you run by hand a "Keyboard shortcut" from Alt+1 to Alt+9. Press it to run the flow on the open order, or on the orders selected in the Orders list, just as if you chose it from the Run flow menu. Shortcuts are shared by your whole team, and "Ask before running" adds a confirmation for risky flows.

Handle failed labels and invoices automatically

The shipping label and invoice actions in your flows now have an optional "If it fails" section. Add cases, each with an optional "Error message contains" text, that change the order's custom status or attach tags when the document isn't created. The first matching case runs, so failed orders land where your team will see them.

Skroutz returns arrive in easySales

When a buyer asks to return a Skroutz order, easySales now creates the return for you, linked to the original order, with the products, quantities, the buyer's reason and the request date. It moves to Received when Skroutz reports the goods back, and your return flows run for it. No setup needed.

Ship to BOX NOW lockers from easySales

Connect your BOX NOW account in Integrations and ship locker orders in Bulgaria, Greece, Cyprus and Croatia without the BOX NOW portal. Create shipping labels one by one, in bulk or from a flow, with cash on delivery, then print, cancel and follow the delivery status. When the buyer chose a locker at checkout, the label goes straight to it.

Your invoices appear on the Shopify order

When easySales issues an invoice for a Shopify order, it now writes the invoice number, series, date, link and status onto the order in Shopify, where your team sees it and your shop's email templates can use it. Storno, cancellation, replacement and edits are kept in sync. Turn it off with "Send invoices to Shopify" on the connection.

Mark unpickable products with one scan

Set your own barcodes for Damaged, Not enough pieces and Not in the location in the Picking settings, and print them with "Print my action barcodes". Scanning one on the pick screen marks the remaining pieces of the product in hand with that reason, just like choosing it from the menu, so your hands stay on the scanner.

See late orders at the top of your list

Turn on the new "Added to easySales" column in the Orders list to see when each order arrived, with a hint like "+26 h" when it came in long after it was placed. Sort by it to keep every newly received order at the top, whatever its order date. The list now remembers your last sort, also in saved views.

Find orders whose email or SMS failed

Two new optional columns in the Orders list, Emails and Messages (SMS and WhatsApp), show how many messages each order sent and how many failed. Use the "Email status" and "Messages status" filters to list the orders with a failed message, and click a count to see the error, without opening orders one by one.

More improvements

  • Orders export: max delivery date β€” Add the "Max delivery date" column to your orders Excel export and save it in your presets.
  • Flows: original payment method in order metadata β€” The "Attach order metadata" action now offers the original payment method as a variable, and Allegro orders keep one consistent payment type for their whole life.
  • Erli: invoice request, transaction ID and packages β€” Erli orders now carry "Invoice required by buyer", "Transaction ID" and "Calculated number of packages" as order metadata, so the flows and label notes you built for Allegro work for Erli too.
  • Skroutz offers: faster coupling filters β€” Filtering Skroutz offers by a coupled or not coupled field now returns results in moments, even on very large catalogs.
  • Allegro: see why an offer would be refused before it's sent β€” easySales now spots six kinds of listing problems that Allegro always refuses, such as a deleted shipping price list or a category closed to new products, and shows you a clear error on the offer.

Pack with shortcuts and your own barcodes

Give each quick box size, Finish, Take a picture, Print the shipping label again and your runnable flows a key combination and, if you want, your own barcode. Pressing it or scanning it does what the button does, so the scanner never leaves your hand. Set them per person under "Shortcuts and barcodes" in the packing settings and print them with "Print my action barcodes".

Run a flow from the packing page

Turn on "Show the Run flow button" in the packing settings to run any manually runnable flow on the order you are packing, for example to switch the courier or notify the buyer. The result shows right away and the order refreshes, without going back to the Orders list.

Skip orders that can't be completed in Picking

With "When a product can't be picked, take its whole order off the picking list" turned on, marking one product as damaged, missing or not in its location takes the rest of that order off the list. Pieces already picked are shown as to put back, and clearing the mark brings the order back.

React when a product can't be picked

A new flow trigger, "Product could not be picked", runs as soon as a picker marks a product, with a condition on the reason. Move the order to a status, tag it or notify your team right away, instead of finding these orders after Picking is finished.

Allegro returns arrive in easySales

Return requests from Allegro Poland, Czech Republic, Slovakia and Hungary now appear in Returns automatically, linked to the order, with the products, the buyer's reason and comment and Allegro's return number. The status follows Allegro, and cancelling a return refuses the refund on Allegro with Allegro's own reasons. Stock changes only when you complete the return.

PulseAI writes your OLX offers

On OLX Poland and Romania, PulseAI now fills categories, attributes and the product condition more accurately. Turn on the automatic pass on your OLX connection to have new offers filled and held for your review before they are sent. Offers are also checked against OLX's rules before sending, so fewer are refused.

Swap a product on an order in a few clicks

Use "Change product" in a product line's menu when your customer accepts a similar item. Pick a variant or search any product; with "Keep the price from the order" the price, VAT, total and cash on delivery stay the same. Stock moves to the new product, the invoice uses it and the swap is recorded in the order history.

Assign each ticket channel to a team member

Choose a "Default agent" for a ticket channel, such as WhatsApp or a marketplace, and new conversations on it are assigned to that team member automatically. They can reply straight away, and you can still reassign any conversation.

More improvements

  • Packaging boxes: duplicate a box β€” Use "Duplicate" to open a new box form prefilled with all the details of an existing box.
  • Picking on phones: row density β€” Choose the "Row density" on phones and handheld scanners too, and the product screen follows it.
  • Team Activity: exports per courier β€” Export "Packed orders per courier" or "Shipping labels per courier" to see how your team's work splits between couriers.
  • DPD: recipients with a one-word name β€” DPD shipping labels are now created on the first try when a private recipient typed only one name; the order and invoice keep the name as entered.

Send your orders to your Gomag store

Send orders from easySales into your Gomag store, by hand from the order page or automatically from a flow, so only the orders you choose reach the store. Each send shows its result on the order, with the store's message when it fails and a Resend action. Turn on "Send orders to this store" in the store's "Submissions" tab and map your payment methods.

MerchantPro returns arrive in easySales

Turn on "Import returns" in your MerchantPro store's Preferences and return orders from MerchantPro are added to Returns, attached to the original order, with the products, the return date and the MerchantPro return number. Handle them like any other return: receive the goods, restock, issue a credit note or run return automations. Returns from the last 30 days are imported on the first run.

Poczta Polska: send the day's shipments in one batch

Choose "In one batch that I send" on your Poczta Polska account and your labels collect in one open batch instead of going to the post office one by one. When you're ready, click "Send batch to post office" and print the batch's dispatch book for the counter. A label still in the open batch can be deleted. Accounts keep sending each label immediately until you change the setting.

Set the invoice recipient on any order

Turn on "Allow adding and editing the invoice recipient" in Orders β†’ Settings β†’ Order edit to add, correct or remove the invoice recipient on any order, from any channel. Every field can be edited, and the recipient you save is kept when the marketplace updates the order. It prints on easySales invoices and is declared to KSeF.

Link offers to products automatically with flows

The new flow action "Auto-link offer to product" links marketplace offers to your store products by SKU, EAN, Name or ID, with the same rules as the manual Auto-link: only unlinked offers, and a key shared by several products is skipped. Use it on the new trigger "Offer imported from marketplace" or on "Modify product at save". Every attempt shows in the flow history.

Read your returns through the API

Your own tools can now read returns through the easySales API, as a filtered list or one by one, with the products, status, dates, shipping labels and credit notes. Subscribe to the new "Return created" and "Return updated" webhooks to get each change as it happens, so your warehouse or ERP picks up returns without retyping.

More improvements

  • Orders API: picked and packed β€” Orders in the API and in order webhooks now say whether they have been picked and packed, and the orders list can be filtered by picked, packed and custom status.
  • Orders API: when an order was picked, packed or moved β€” Ask the API for orders packed or picked in a time window, or for orders that entered a custom status since a given moment, with events kept for 90 days.
  • Offers API: history, resend and details β€” Through the API you can now read an offer's recent exchanges with the marketplace, resend one or many offers, change an offer's name, description, brand, family and handling time, and see which products are blocked.
  • Products: Select all for large catalogs β€” "Select all" now selects every product matching your filters without loading the whole list, so mass actions such as creating offers, tags or archiving work on catalogs of any size.
  • Printer apps: signed Windows installers β€” easySales Printer and the Fiscal Printer app are now digitally signed, so Windows 11 Smart App Control no longer blocks them and the "unknown publisher" warning is gone.

Ship pallets and groupage freight with Geis

Connect your Geis account and create freight labels for pallets and groupage, one at a time, in bulk or from a flow. easySales books the daily pickup for you, loads your packing types and services from Geis, and supports cash on delivery, insurance and notifications. Print the pickup list from the connection and follow delivery statuses in easySales.

Enter GPSR details once, on the product

The product page has a new "Product safety (GPSR)" section for safety information, manufacturer and EU representative. Fill it once and it reaches your offers on eMAG Romania, Bulgaria and Hungary, Fulfilled by eMAG and FashionDays. Fill the whole catalog through the product import. GPSR values you already set on an offer are never overwritten.

More improvements

  • Allegro: missing required parameters shown before sending β€” A new Allegro offer missing a parameter its category requires now shows the parameter's name in easySales instead of being refused by Allegro.

Complete orders straight from the Orders list

Use "Complete order" in an order's "…" menu, or select several orders and choose "Complete orders" under "More" in the bulk bar. You confirm first, and in bulk you see how many orders will be completed and how many skipped. Stock, the buyer notification and your automations run exactly as on the order page.

Get notified when a customer writes

Turn on "New ticket message" in the notification settings and you're told in the notifications bell, with a link to the ticket, whenever a customer writes on WhatsApp, a marketplace or email. Tick "Also send me an email" to hear about it when you're away from easySales. During a conversation, the next alert for the same ticket waits until you reply or 30 minutes pass.

WhatsApp tickets keep photos and files

When a customer sends a photo, video, document or voice note on WhatsApp, it now appears in the ticket conversation and in the ticket's attachments, ready to open or download. Locations show with a map link and template button replies show as the button's text, so complaints and returns arrive complete.

Global24: connect with an API token

Connect Global24 with a single "API token", checked as soon as you save. Carriers, services and package types now come from your own Global24 account, shipping labels print in your chosen A4 or A6 format, and delivery statuses move on to Delivered or Returned. Existing connections keep working, and adding a token moves them to the new API.

More improvements

  • MerchantPro: recognize exchange orders β€” Exchange orders now carry the original order's number in their metadata, so your flows can keep them out of invoicing, and the new "Import exchange orders" switch in "Preferences" lets you stop importing them.
  • Order PDF: original payment method and status β€” Add "Original payment method" and "Original payment status" to your order PDF template to print the payment provider exactly as your sales channel sent it.
  • Allegro: see what to fix before sending β€” Offers that Allegro would refuse, for a VAT rate, a parameter format, a title rule, a missing description or image, or an EAN that doesn't match the catalog product, now show the reason on the offer before anything is sent.

Packing settings with a live preview

Packing settings now sit on one page under "Page settings", with every option explained and a live preview of the packing screen that updates before you save. Use "Panel order" to arrange the side panels the way your team works, and "Quick sizes" to turn up to 12 of your usual box sizes into one-tap buttons in the Boxes panel.

Marketplace prices that follow your price group

Choose a price group in the new "Sale price source" setting of a marketplace account, and its offers take their sale price from that group instead of the catalog price. When a price in the group changes, from an import, a feed, a supplier or your ERP, easySales sends the new price to the marketplace within minutes, only for the offers whose price changed. No automation flow needed.

Scan a whole stack into one picking list

After opening an order on the Picking page by scanning its shipping label, tap "Add more orders" and scan the rest of the stack, up to 50 orders. The "Picking list" shows each product once, with its total quantity and pick locations in shelf order, so the whole stack is picked in one walk. Picking scans no longer count as packing scans, so packers stop seeing false duplicate-scan warnings.

Copy Allegro images into easySales

When you import your products from Allegro, tick "Download images to easySales" and each product gets its own copies of the images instead of Allegro's links. Your catalogue no longer depends on Allegro's servers, and other marketplaces receive your own image files. Copying runs in the background, with progress and a per-image report in your import reports.

More improvements

  • Packing: no box size pre-selected β€” A new box starts without a size, and the shipping label waits until every box has one, so parcels no longer go out with the first size by mistake.
  • Allegro shipping: same-day courier pickup β€” With automatic pickup on, you can ask for a pickup the same day when the shipping label is created before your pickup hours end; if no slot is left, it is booked for the next working day.
  • Orders export: delivery status, date and history β€” The orders Excel export can now include "Delivery status", "Delivery date" and "Delivery history", with every courier tracking event and its time.
  • SmartBill: buyer's country as a country code β€” Turn on "Send the client's country as a country code" to send CZ instead of "Czech Republic", for accounting programs that only recognize codes.
  • ERLI: invoice recipient on orders β€” When an ERLI order is delivered to a different entity than the buyer, that entity now appears under "Recipient details", on your invoices and in KSeF.
  • IdoSell and wFirma: invoice recipient β€” On IdoSell orders with a separate payer, the payer is now the invoice buyer and the customer the recipient, and wFirma gets the "Show the recipient on the invoice" option.
  • Compari: delivery cost per product ordered β€” A new optional DeliveryCostByProduct setting on Compari offers charges the delivery cost per unit ordered, and can be set in bulk, by import or with automation flows.
  • Nexus ERP: rounding tolerance on payments β€” Payments to Nexus ERP now accept a rounding difference of up to 0.02 per invoice, so the invoice ends up fully paid in both Nexus and easySales.

New picking mode with carts and baskets

Picking now opens in a full-screen mode built for warehouse scanners and desktop. Scan a product to pick as a list, or scan a cart to sort each piece straight into its order's basket at the shelf. Sessions are saved on the server, so you can continue on another device and several pickers see each other's progress live. Shortages need a reason, and carts and their labels are managed on the new "Carts and baskets" page.

PulseAI fills more characteristics, more accurately

"Autofill with PulseAI" and automatic AI offer generation on eMAG, Trendyol and Allegro now read the whole product at once, including its photos and original description. They fill more characteristics, make far fewer wrong guesses and answer faster. Characteristics that accept several values can now hold more than one. When your category looks wrong, PulseAI suggests a better one that you can accept or ignore.

EAN on SHEIN offers for EU compliance

SHEIN now requires a product identifier for products on its EU sites. SHEIN offers now have an EAN field that follows your product's EAN by default, and you can change it in Offer Edit, Mass Edit, Excel import, or automation flows. easySales sends it to SHEIN as the barcode with every publish and update, so SHEIN can create the identifier and keep your listings live.

More improvements

  • eMAG: offers for catalogue products listed directly β€” When a new offer's EAN already exists in eMAG's catalogue, it skips AI generation and review and goes straight to eMAG, saving you tokens and review time.
  • AI offer generation: better titles and descriptions β€” Automatic titles and descriptions now use the offer's category and your own characteristic values, name the right product type, and keep condition words such as "Second Hand" or "Refurbished".
  • AI offer generation: extra offers processed for free β€” When your daily AI allowance runs out, your waiting offers are processed whenever our AI servers are idle, free of charge, so they reach your review sooner.
  • AI offer generation: last 30 days of history β€” The AI offer generation page now lists every manual and automatic generation of the last 30 days with its status, tokens used and whether it was charged, plus a daily summary.
  • Feeds: Allegro offer columns and a complete Erli feed β€” Custom feeds built from Allegro offers now show the real VAT rate and offer new columns for the Allegro account login and the "Stock on marketplace", and the Erli feed now includes inactive and out-of-stock products with their real stock.
  • Virtual Shop imports: standard VAT by default β€” Products created by a scheduled Virtual Shop import without a VAT column now get the shop country's standard VAT rate, with the net price calculated correctly from the first import.
  • Orders: select orders only by their checkbox β€” Turn off "Select an order by clicking an empty area of its row" in the orders settings, under Interface, if you want only the checkbox to select an order.

Offers and products lists load much faster

The Offers page and the Products pages now show your results right away and load the total separately, so filtering, sorting and switching tabs no longer wait for the whole account to be counted. On large accounts, pages that took seconds or minutes now open in a fraction of a second. When an account is too large to count quickly, the list simply shows "of many".

API prices go straight to the marketplace

Prices you send through the easySales API are now pushed to the marketplace as a price update only, without rebuilding and resending the whole offer. Large price runs reach eMAG, Allegro, Amazon, Trendyol, Kaufland and the other supported marketplaces faster, and the price you send is the price published, because your automation flows no longer run on top of it. Setting prices through the API also works for Allegro and Amazon offers.

Your shop's payment status on every order

Orders from MerchantPro, Shopify and Unas now show the shop's own payment status, such as refunded or partially paid, under the easySales payment status on the order page and in the orders list. A refunded order no longer looks like one that was never paid. You can also use it in automation flows with the "Original payment status" filter, for example to tag refunded orders.

New list conditions in automation flows

The "Order products tags" condition now offers "Is none of", "Any equal one of" and "Equal none of", and you pick tags from your own product tags instead of typing them, so a typo can no longer make a rule silently fail. "Delivery notes" gets "Any match one of" and "Products name" gets "Any equal one of". Rules that needed several conditions now fit in one, and your existing flows work as before.

Export several inventory checks into one file

In Inventory check, tick several sessions and click "Export selected" to download them all as one Excel file. Every row starts with the session code, session name, warehouse and the person responsible, followed by the usual columns. A stock count split across many zones can now be totalled and compared with your accounting system without merging files by hand.

See how many sellers compete on eMAG

On your eMAG Romania, Bulgaria and Hungary offers, including Fulfilled by eMAG, the buy-button rank now shows how many sellers compete on the product, for example "1 of 3", or "1 of 1" when you are alone. The offers export has a new "Number of offers" column, also for FashionDays. You see at a glance which offers are really contested and where repricing matters.

More improvements

  • Supplier orders: product image on each line β€” The products table of a supplier order now shows each product's main image, so you can check the lines faster before sending the order.
  • Warehouse locations: delete several at once β€” On the Locations tab, select several locations and use "Delete selected"; one confirmation shows how much stock will be left without a location, and no stock is ever deleted.

Edit offers through the API

Your own system can now activate or deactivate offers through the easySales API and, on eMAG Romania, Bulgaria and Hungary, change an offer's category and characteristics, one offer at a time or in bulk. Each update is checked first: a missing mandatory characteristic or an invalid value is rejected with a clear reason, and the offer stays unchanged. Your existing price updates keep working as before.

eMAG and FashionDays offer feeds

Custom feeds can now be built from your eMAG Romania, Bulgaria and Hungary offers, their Fulfilled by eMAG variants and your FashionDays offers. Besides the usual offer details, they carry the best price, your buy-button position, minimum and maximum price and, on eMAG, whether you lost the buy button and since when you hold it. Your pricing tool reads it all from one address, refreshed automatically, with no manual exports.

New courier: MenedΕΌer WysyΕ‚ek

You can now connect MenedΕΌer WysyΕ‚ek and ship on your own contract and rates. Create shipping labels one by one, in bulk or through flows, see a price quote before sending, book the courier pickup automatically in your chosen time window, and use cash on delivery and insurance. Delivery statuses update automatically and the tracking number is sent to your sales channel.

Import new products from Subiekt nexo PRO

Products you mark for the online shop in Subiekt nexo PRO can now be created automatically in easySales, about every hour or on demand, either in your Virtual Shop or straight in your connected Shopify store. Each product is created once with its name, SKU, price from the price list you choose, VAT, EAN and description, and is never overwritten afterwards. You can see what was created and which products were skipped, and why.

Track returned products not put back in stock

A new page under Returns lists every returned product whose return you completed without restoring stock. Each line starts as Pending, and you can mark it as Resealed, Discarded or Processed, one by one or several at once. Refund your customers quickly and keep a clear to-do list for opened items you evaluate, reseal or write off later. The page never changes stock.

Sort customers by orders and total spent

Your Customers list can now be sorted by number of orders and by total spent, highest or lowest first, so you find your most loyal and most valuable buyers in one click. Customers with more than 100 orders now show their real total instead of a dash, and the list loads just as fast whatever the sort.

More improvements

  • Orders: return stornos on the order page β€” Storno invoices issued from a return now also appear in the order's invoices table, with a link to the return and a download option.
  • NeoSys: separate management for the shipping line β€” A new optional setting lets the shipping line of each invoice come from its own management, while products stay in your main one.
  • NeoSys: identify invoice products by product code β€” Choose to match products in NeoSys by product code only, so invoices no longer fail when the marketplace title differs from the item name in NeoSys.
  • Compari: Oversize and BasketDisabled on offers β€” Two new optional offer settings let you apply the oversize delivery cost table or keep a product in price comparison only; set them on the offer, in Mass Edit, by import or with flows.

Not selling with easySales yet?

Connect your marketplaces, online shop, couriers and invoicing in one place.

Start free trial