Rotozoom Sell & Ship release notes
Every released version of Rotozoom Sell & Ship, newest first, with its changes in plain language.
55 versions
Rotozoom Sell & Ship Version 1.9.9.3
- Checkout: the delivery fields are read from the checkout form only, so another form on the page with the same field names (for example a registration form in the site header) can no longer leave the order without town, street or postcode.
- Checkout: when the billing town, street or postcode arrive empty, they are filled on the server from the destination the customer picked in the delivery picker (and the address the parcel is priced to), so the order is placed and charged at the right rate.
- Checkout: a missing street for delivery to an address is asked for in plain words; the street search shows “Searching…” and “not in the list”.
- Checkout: the older Econt office check follows the delivery method sent with the order.
- Invoice details: quotes in the registered address are stored without backslashes.
Rotozoom Sell & Ship Version 1.9.9.2
- Security: the delivery type of an order must match the shipping rate that was charged — an office rate can no longer be stored as a delivery to an address (classic and block checkout).
- Security: request limits count atomically, so a burst of parallel requests cannot pass more than the limit.
- Security: Speedy town searches cache invented text, the shop-wide limit for courier lookups is 120 a minute, and searches over the stored office list are limited per visitor.
- Security: the early cash-on-delivery check answers for at most three people per checkout session and can no longer be switched off for the whole shop by outside requests.
- Security: stored courier passwords and secrets are no longer printed into the settings page; a stored value is shown masked and can be cleared with “Forget the stored value”.
- Library development files (build scripts, test configuration) are no longer shipped.
Rotozoom Sell & Ship Version 1.9.9
- New "Awaiting shipment" order status with an expected date: the customer sees the status and date in My Account and receives an email (enabled by default).
- Order list: a one-click "Products" quick view (contents, status, shipping - no addresses) and an internal note shown as an "i" on the order row.
- The audit file for the Bulgarian revenue agency (NRA, Annex 38) now carries the transaction number of card payments - the agency rejected the file without it.
- Documents now follow a change to an order line made after they were issued: within the same month they are reissued under the same number; in an earlier month a reversal and new documents are created.
- A wrong or changed courier password now pauses requests to that courier for 30 minutes instead of locking the account, and a notice is shown.
- "Send from" shows the place the waybill actually ships from; contact persons per location; courier pickup request without a page reload; a notice when the last shipment of a requested pickup is cancelled.
- Block checkout: an Econt office sets the city used for the price; a courier with no price is declined with a clear message; the cash on delivery fee follows the payment method.
- The company ID (EIK) lookup retries once when the Commercial Register server returns an error.
- Translations: Polish, Romanian and Czech added; German, Spanish, French, Italian and Portuguese are now complete.
- Fixed: empty Speedy service lists in settings; a cash on delivery order completed by hand is now dated by the courier's handover.
Rotozoom Sell & Ship Version 1.9.8.6
- Bundles Rotozoom Connect 1.1.20 (Rotozoom services client, translations, Disconnect drops cached licences)
Rotozoom Sell & Ship Version 1.9.8.5
- More robust loading next to other Rotozoom plugins: activating or updating another Rotozoom plugin can no longer take the site down with a 'Cannot declare class' error. Shared components load later so an older Rotozoom plugin next to it can never stop the site.
Rotozoom Sell & Ship Version 1.9.8.4
- Shared Rotozoom admin components updated (more robust loading next to other Rotozoom plugins; the dashboard no longer offers PRO for a plugin whose PRO is not on sale).
Rotozoom Sell & Ship Version 1.9.8.3
- Shared Rotozoom admin components updated: the Go PRO tab shows this plugin's own price, and the Rotozoom menu and its messages are translated.
Rotozoom Sell & Ship Version 1.9.8.2
- Security: live delivery prices for shop visitors are rate-limited (20 per minute per visitor, 300 per minute per shop, on a cache miss) — a burst of invented addresses could make the shop send unlimited price requests to Econt and Speedy on its own account. Over the limit the courier shows no price for that moment, never free delivery.
- Security: the public Econt office-list endpoint checks the city against the shop's own list and is rate-limited.
- Speedy city search no longer uses up the shop-wide limit for answers it already has.
- A VAT number longer than any EU format is refused before it is looked up.
- Checkout block map: courier office names and addresses are shown as text.
Rotozoom Sell & Ship Version 1.9.8.1
- When Speedy, Econt or BoxNow refuses the shop's username or password, Sell & Ship stops sending requests to that courier for 30 minutes (or until new credentials are saved) and shows a notice in the admin. Before, every screen that reads the courier account (the order page asked 3 times per view) logged in again, and a wrong or changed password could get the courier account locked.
- Three network failures in a row to a courier pause it for one minute instead of retrying on every page.
Rotozoom Sell & Ship Version 1.9.8
- "Last shipped from": under the sender menu in an order, the last 5 offices/addresses actually shipped from are shown; the choice is saved automatically, with no button and no page reload.
- Shipment tracking now checks every shipment in turn (15 orders every 15 minutes) and asks the courier once per shipment, instead of always the newest 50.
- Security: invoices and other documents are stored in a folder with an unguessable name and each file carries a random token; existing documents are moved automatically on update (important on nginx/Caddy hosting that does not read .htaccess).
- An order can no longer go through at another courier's price: if the courier of the selected office/locker gives no price at the moment, the order is stopped with a clear message.
- If the old, pre-rebrand Sell & Ship plugin is still active, a warning is shown, and the two plugins no longer clash over the PDF library.
- Preparation (off by default): delivery address check and the shared delivery network through Rotozoom services.
Rotozoom Sell & Ship Version 1.9.7
- Company lookup by company ID (EIK) at checkout works again — the old lookup service was withdrawn by its provider and had been failing silently for an unknown length of time.
- The Bulgarian Trade Register now fills in both the legal company name and the registered address, and it answers for every trader — including companies that are not registered for VAT and are therefore invisible to VAT validation.
- Fixed, and it could cost money: VAT validation reports its own outages as an ordinary success, so a busy VIES service used to read as "this company is not registered for VAT". The check now has three answers — registered, not registered, and "we could not check right now" — and only a clear answer ever touches the VAT field.
- When the VAT check cannot be completed, the order goes through untouched and the line under the VAT field says so, instead of quietly showing the wrong verdict.
- Fixed: the VAT answer was read from the wrong fields, which return a "---" placeholder instead of the company name and address.
- Fixed: on some hosts every VAT check failed with a TLS error although the service was up.
- Lookups are now cached on your own site, so correcting a typo no longer sends a request per keystroke. Nothing is ever shared with Rotozoom or between shops.
- The "External services" tab now describes the Trade Register endpoint that is actually contacted, and says that only the EIK is sent.
Rotozoom Sell & Ship Version 1.9.6
- New Settings tab "External services": one checkbox per third-party service the plugin may contact (European Central Bank exchange rates, VIES VAT validation, Bulgarian Registry Agency, OpenStreetMap maps and address search, ip-api.com country detection, Google Translate). Each box says what is sent, to whom, and what stops working when it is off.
- Sharing the answers of your paid reputation sources with the Rotozoom network now has its own explicit checkbox with a plain explanation next to it: what leaves the shop (a one-way code for the customer, which source was asked and the answer given - never the phone number, name, address, goods or order number), that a cached answer is discarded after 30 days, and what is lost when it is switched off (the shared cache is reciprocal, so other shops' signals are not visible). The default is unchanged - it stays on - so nothing about your shop changes after the update. Nothing is actually being sent either way, because the shared network service is not live yet.
- Interface texts that live in JavaScript (the checkout courier picker, the admin panels) are now translatable and ship in Bulgarian, German, French, Italian, Spanish and Portuguese.
- The bundled Rotozoom Connect companion was updated to 1.1.16.
- Groundwork for the wordpress.org release: the free build is now generated from the same source as this one, so both always carry the same fixes.
- Shipping methods are registered without eval(); zone instances resolve their courier from the zone table. Nothing changes for your shop - same method ids, same zones, same rates - but the code now meets the wordpress.org requirements.
Rotozoom Sell & Ship Version 1.9.5
- Bundled Rotozoom Connect updated to 1.1.15 (licence refresh for every installed Rotozoom plugin on each admin page load); the bundled Connect now also upgrades an older installed copy automatically
- Rotozoom Connect is now bundled (installed automatically when missing)
Rotozoom Sell & Ship Version 1.9.4
- Order emails, the thank-you page and My Account now show an "Invoice details" block (company, company ID, VAT number, accountable person, registered address) when the order is for a company
- New "Rotozoom — Invoice details" box on the order edit screen lets the merchant correct those identifiers; every change is recorded as an order note
Rotozoom Sell & Ship Version 1.9.3
- The bank-transfer proforma is now issued on the WooCommerce Blocks checkout as well (it was only issued on the classic checkout)
Rotozoom Sell & Ship Version 1.9.2
- Orders are always placed in the store currency; a shopper who browses in another currency sees it as a reference only ("Currency for reference" and "To be paid only in EUR" rows on the checkout review, thank-you page, My Account, emails and the PDF invoice)
- Speedy pallet shipments (service PALLET ONE BG) for consignments over 50 kg to an address — off by default, enabled under Speedy settings; the cheaper of pallet and parcel wins
- Reputation precheck: cash on delivery is withdrawn two seconds after the customer completes the form when the reputation check says so (submit remains the backstop); nekorekten may now explicitly remove COD; new setting "Do not show why"
- Blocks checkout: the courier picker accepts a saved address from another plugin (window.rotozoomSSBlocksApplySaved); standalone courier picker for other pages; the chosen office now prints its street
- New actions for other plugins: rotozoom_ss/shipment_delivered and rotozoom_ss/shipment_returned
- Econt: the courier request sends the whole label (updateLabel is a replacement); department packing list
- Fixes: trusted-proxies constant given as an array no longer logs a warning on every request; shipping phone is read through the WooCommerce getter (no internal-meta notice)
Rotozoom Sell & Ship Version 1.8.17
- Fixed: Econt offices disappeared from the checkout pickup-point picker — the list and the map were both empty.
- Cause: the weekly nomenclature refresh replaced a courier all-or-nothing. When the office download failed but the city download succeeded, every cached office was deleted and only cities were written back.
- Each nomenclature is now replaced only if its own download succeeded, so a partial failure keeps the offices that are already cached.
- A half-finished refresh is now recorded and shown, instead of looking like the courier has no offices in that town.
- Econt nomenclature downloads get a longer timeout and one retry — the office list is about 1.8 MB and was the one timing out.
Rotozoom Sell & Ship Version 1.8.16
- Fix: on orders placed before the plugin was installed (no courier chosen at checkout, no waybill) the "Rotozoom — Shipping" panel on the order screen appeared blank and the WooCommerce "Order actions" / "Order data" boxes were drawn on top of it. Cause: an unbalanced wrapper tag in the non-active courier panes ended the panel early. The panel now renders correctly for every order.
- Fix: an older order that already carries a waybill now opens on the tab of the courier that holds it, instead of the first tab with a "cancel the other courier's waybill first" notice.
Rotozoom Sell & Ship Version 1.8.15
- Fiscal: the invoice and the H-18 sale document are now issued when the PAYMENT is received — on card capture, when a bank transfer is recorded (order moved to Processing), and for cash on delivery when the courier confirms the handover (or the order is marked Completed). Until now the H-18 sale document was issued at checkout, which spent numbers of the gapless series on orders that were never paid and put the paid ones out of order in the monthly NRA audit file.
- Both documents, the QR code and the audit file <doc_date> are dated by the payment day (the delivery day for cash on delivery).
- Orders that are never paid (cancelled, failed, refused parcels) no longer take a document number.
- Orders already documented by "Bulgarisation for WooCommerce" are never documented a second time.
- Fix: the payment date recorded on courier-confirmed delivery was shifted by the site's UTC offset (e.g. +3 h), which could file a late-evening delivery on the last day of a month in the next month's audit file.
- Settings: "When to issue an invoice" is now "Additional issuing status" — the issuing moment follows the payment and is no longer a setting.
Rotozoom Sell & Ship Version 1.8.14
- Fix: baskets above the legal cash-payment ceiling (5 112.92 €) no longer show "There are no shipping options available" — Econt refused to price a shipment whose cash-on-delivery amount exceeded the limit, and the refusal hid every courier rate
- Cash on delivery is automatically removed from checkout for orders above the legal cash limit, with a notice telling the customer to choose another payment method
- Courier quotes above the limit price the carriage alone (Econt and Speedy), so delivery to an office or address stays available for prepaid orders
Rotozoom Sell & Ship Version 1.8.13
- Changed: the invoice is now dated the day the parcel was RECEIVED — the courier-confirmed delivery when tracking reports it. Without courier feedback, the invoice is issued and dated when the order is moved to Completed. Prepaid orders (card / bank transfer) keep the payment day, as the law requires invoicing within 5 days of payment.
- Fixed: with 'When to issue an invoice' set to Processing, a cash-on-delivery order completed by hand without courier tracking was never invoiced at all — the Completed transition now always releases the deferred invoice.
- Already-issued documents are never re-dated: an existing invoice keeps the date printed on it, including when regenerated.
Rotozoom Sell & Ship Version 1.8.12
- Fixed: the monthly invoice archive download (Invoices tab) never worked — every click ended on 'the link you followed has expired'. The security token was sent under the wrong parameter name since the feature was built.
- Improved: the archive now selects invoices by the month they were ISSUED (the date printed on the document), not by the order date — an invoice issued in August for a late-July order lands in the August archive, and on shops migrated from Bulgarisation the predecessor's invoices of the transition month are included too.
- Fixed: re-issuing a document can no longer change its printed date, and the stored issue date now always matches the paper. Credit notes are dated by the refund they document (previously they carried the original sale's date).
- New: a 'Save key' button sits next to each reputation API key field, and 'Check the key' now tells you when the key in the field is not saved yet instead of testing the old stored key.
- Improved: the Customer reputation settings page is far more compact — every setting keeps a one-line explanation and the full details unfold on demand. Error and privacy notices stay always visible.
Rotozoom Sell & Ship Version 1.8.11
- New: before an Econt cash-on-delivery waybill is created, the order screen warns when the Econt account has a bank payout agreement that is not selected — otherwise Econt pays the collected money out in cash at a counter, outside the agreement.
- The agreement is chosen once in Sell & Ship → Econt settings, "Where Econt pays your COD money". Shops that migrated from Bulgarisation must re-select it: settings do not carry over, and the payout silently reverted to cash.
- The warning stays silent when an agreement is selected, when the account has none, and once the waybill exists.
Rotozoom Sell & Ship Version 1.8.10
- Free delivery by whole boxes: set a shipping class and how many items fill a box, and delivery is free when the order is whole boxes.
- Counted per product, not across the class: four of one fluid is a box; four different fluids at one each are four loose items and do not qualify.
- Six of one item is a box plus two strays, so it does not qualify either — only exact multiples do.
- Products outside that shipping class are ignored, so a cable in the same order does not cost the customer the free delivery.
- As with a free-shipping coupon, the shop settles the freight with the courier — on cash on delivery the courier does not collect it at the door.
Rotozoom Sell & Ship Version 1.8.9
- New: free delivery by cart contents. Set a shipping class and a quantity — for example 4 items of "Effect fluids" — and from that quantity upwards the couriers’ prices go to zero.
- It works the same way a free-shipping coupon does, including on cash on delivery: the shop settles the freight with the courier, so the courier does not collect it at the door on a delivery the customer was told was free.
- Quantities count, not lines: four of the same product qualifies.
- The setting is in Sell & Ship → General → Discounts.
Rotozoom Sell & Ship Version 1.8.8
- Reporting a customer who never collected a parcel is now manual and has to be earned: the button appears only after the parcel has waited more than 3 days at the courier office, or after 2 failed delivery attempts. Nothing is ever sent automatically.
- The report button now sits at the top of the order screen instead of the bottom, and the draft names one person — the recipient — never a mix of billing and shipping details.
- Fixed: opening the WordPress dashboard or a WooCommerce report could end in "There has been a critical error on this website". The plugin declared strict types on WordPress hooks that core calls with other values.
- NRA H-18: a sale and its refund are now each declared in their own month. A sale on 31 August refunded on 10 December appears in the August file and in the December file, not both in one.
- The order screen, the reputation box and the returns panel are now fully translated into Bulgarian.
Rotozoom Sell & Ship Version 1.8.7
- A WooCommerce coupon with "Allow free shipping" now actually makes shipping free. Until now the coupon was applied, the order table showed it, and the courier price did not move.
- On cash on delivery, the freight is also switched back to the shop, so the courier no longer collects it at the door on an order the customer was told ships free.
Rotozoom Sell & Ship Version 1.8.6
- Same-day courier pickup can now be requested. Econt accepts it; the day was simply never offered.
- Half working days are offered with their real window instead of being treated as holidays, and Speedy’s cut-off is now shown as a deadline for requesting the visit, not as the end of it.
Rotozoom Sell & Ship Version 1.8.5
- "The shop pays the delivery" is now a decision the plugin can record. It used to be stored as the absence of a decision, which on shops whose Econt methods collect the freight resolved to the opposite: the waybill billed the customer.
- The invoice, the waybill, the sale document and the NRA audit file now all read the same rule, so the delivery line cannot appear on one and be missing from another.
- The freight can be switched after a waybill exists — it moves the paperwork only, and the dialog says so.
Rotozoom Sell & Ship Version 1.8.4
- The cash-on-delivery amount typed on the waybill is now compared with what the order is owed, and any difference is shown before the label is created. A mistyped figure used to go to the courier unchecked.
Rotozoom Sell & Ship Version 1.8.3
- The remaining standing explanations on the order screen now sit behind an info icon, so the panel shows the controls rather than paragraphs about them.
Rotozoom Sell & Ship Version 1.8.2
- The info icon on the order screen is now a comfortable size on a phone; it used to be a 16px dot.
- The Documents and Returned boxes no longer print their explanations as standing text.
Rotozoom Sell & Ship Version 1.8.1
- Security and correctness fixes from a full audit of the plugin: rate limiting on public endpoints, validation of identifiers before they are used as cache keys or API arguments, and stricter escaping in admin screens.
Rotozoom Sell & Ship Version 1.8.0
- New: a customer reputation layer. The shop’s own delivery history, plus optional paid sources, can require prepayment from customers with a record of refused parcels.
- A minimum sample applies, so a customer with two parcels does not lose cash on delivery on a percentage.
- Off by default; every source has its own switch and its own key.
Rotozoom Sell & Ship Version 1.7.0
- Packages are now a real list: "+ Add package" adds a row per box with its own weight and dimensions, with a running total.
- Speedy receives each box separately, with its own weight and size — the declared total is the sum of the boxes, so the price matches what is billed.
- BoxNow now sizes each locker compartment from that box alone. Three boxes used to reserve three times the largest compartment; the same three now take a medium, a large and a small.
- Econt receives the number of boxes and the shipment weight, which is all its waybill carries. Shipment dimensions stay an explicit per-waybill choice, off by default, because they change the price sharply.
- An order shipped without opening the list behaves exactly as before.
Rotozoom Sell & Ship Version 1.6.0
- NEW: order statuses for the shipment - "Waybill" (yellow) and "In transit" (purple) between "Processing" and "Completed". They are turned on in settings.
- NEW: search the order list by invoice number, N-18 document or waybill number - both as printed and in raw form.
- NEW: "Documents" and "Tracking" columns (optional via Screen Options). Clicking the number opens the PDF itself.
- NEW: the "Pick up from" field shows which entry is an office and which is an address, lets you choose an office and, with Econt, enter a new address.
- The "Apply", "Refresh courier price" and "Pass price to customer" buttons are now disabled when pressing them would change nothing, with an explanation why and a "proceed anyway" option.
- FIXED: an empty shipping price field saved 0.00 in the order.
- FIXED: the shipping price could be changed even after the waybill had been issued.
Rotozoom Sell & Ship Version 1.5.3
- FIXED: creating a waybill for an unpaid order (for example, bank transfer) marked it as paid. Now the order keeps its current status and the label is created normally.
Rotozoom Sell & Ship Version 1.5.2
- IMPORTANT: version 1.5.1 does not start - two files that the main file requires were missing from the package. If you updated to 1.5.1, update to 1.5.2.
Rotozoom Sell & Ship Version 1.5.1
- FIXED: the Speedy and BoxNow label was downloaded to the computer instead of being shown in the browser - even just on opening the order, because the preview loads it automatically. Because of this the "Print" button also printed a blank page.
Rotozoom Sell & Ship Version 1.5.0
- NEW: the "Ships from" field now shows what each entry is - an office or an address - and "default" says exactly who the sender is, instead of leaving you to guess.
- NEW: you can choose a courier office for drop-off by searching its list of offices.
- NEW: with Econt you can enter a new pickup address. With Speedy this is not possible - contract addresses are registered by a Speedy employee - and the interface says so instead of failing.
- An order now keeps exactly one sender: choosing one clears the previous one, so an address and an office can no longer both remain.
Rotozoom Sell & Ship Version 1.4.0
- NEW: the courier's cash on delivery fee is now included in the price shown to the customer at checkout. Previously it appeared only on the waybill and was left for the shop to cover - on a 39 EUR order the difference was 1.21 EUR, and it grows with the order value because the fee is a percentage.
- The price is also recalculated when the customer changes the payment method - no cash on delivery fee is charged for card payments.
Rotozoom Sell & Ship Version 1.3.4
- FIXED (follow-up to 1.3.3): the contract address chosen in "Ships from" was sent to Speedy as a drop-off office number, which caused a "Numeric value ... out of range of int" error. The plugin now recognises from the value itself whether it is a contract address or an office.
- If an invalid drop-off office number is entered in settings, the plugin now rejects it with a clear message instead of passing Speedy's technical error on.
Rotozoom Sell & Ship Version 1.3.3
- FIXED: a Speedy waybill from a contract address failed with "Numeric value ... out of range of int". Speedy returns contract address identifiers that its own create endpoint cannot read. The sender is now sent as a full address from the contract.
Rotozoom Sell & Ship Version 1.3.2
- FIXED: the order management page showed the recipient from "Billing" instead of "Shipping" in three places: the summary card, the "Recipient" box and the label preview card. If you change the name or phone in shipping, the panel now shows those.
- FIXED: with BoxNow too, the waybill took the recipient from billing (Econt and Speedy were fixed in 1.3.1).
Rotozoom Sell & Ship Version 1.3.1
- FIXED: the waybill went to the wrong person. If you change the name or phone in the "Shipping" block, the label now carries them - previously Speedy took the details from "Billing", and Econt took the name from shipping but the phone from billing.
- FIXED: when a courier refuses to create a waybill, the refusal is now saved as an order note. Previously the message disappeared on reload and there was no way to check what the courier had said.
- FIXED: amounts in requests to couriers were sent with a long tail of digits (122.590000000000003 instead of 122.59) on servers with a certain PHP setting.
Rotozoom Sell & Ship Version 1.3.0
- Multi-package waybills for Econt, Speedy and BoxNow - enter the number of boxes and each courier receives that many packages, with weights that add up exactly to the declared total.
- One label per page for label printers: new "Label size" setting - Speedy A6, Econt 100x150 mm. Previously a multi-package shipment came out as one A4 sheet with the labels side by side.
- FIXED: Speedy delivery was charged VAT twice. The amount including VAT was read and WooCommerce added another 20% - the customer paid 21.98 EUR where the courier asks 18.32 EUR.
- New setting for each courier: "Price already includes VAT" (off by default, so it does not move the prices of an existing shop).
- FIXED: locker delivery was offered for shipments that do not fit. The default limits were zero, which was read as "no limit" - a product of 34 kg and 120 cm was offered in all three lockers.
- FIXED: the invoice was issued but not attached to the email to the customer.
- FIXED (fiscal): a zero return document under N-18; crediting above the sale amount with several partial returns; VAT lost on a limited credit note; bulk issuing that bypassed the invoice moment; the "Discount" line was gross between net lines; the invoice amount was not saved.
- FIXED: the settlement export added up amounts in different currencies in one line.
- The order screen is rearranged into one card: courier, type, ship from, pickup point, shipping price, amount charged, a button for the courier price, payment. A new line, "Sender pays from the delivery", is shown when editing.
- The company's bank details can now be shown on every document, not only for bank payments.
- 63 new Bulgarian translations.
Rotozoom Sell & Ship Version 1.2.0
- New pluggable courier architecture — adding a new carrier now needs only a single adapter (rating, waybill/label creation, tracking and its shipping method are all automatic).
- Country-aware checkout — the courier picker shows the couriers that serve the customer’s destination country.
- New “Store country / market” setting (General tab) — controls which couriers and fiscal tools (NRA H-18) appear; a non-Bulgarian store hides the Bulgaria-only tools. Defaults to your WooCommerce base country.
- Couriers use your own courier-account login (username/password) — no API key hunt (where the carrier supports it).
- Mobile: the pickup-point map no longer hijacks page scrolling — tap it to interact, and the “Search this area” button keeps it active.
- Hardened PRO licensing — the license check is centralized and enforced so it cannot be bypassed.
- Faster, scalable location cache — background refresh per courier+country (Action Scheduler).
Rotozoom Sell & Ship Version 1.1.5
- Fiscal layer: invoices, proforma & credit notes (PDF) with atomic gapless numbering, amount-in-words, Art. 113(9) and NRA H-18 export
- Multi-currency & multi-language switcher (PRO) — EUR base with live ECB rates
- Unified checkout picker v2 with OpenStreetMap map + nearest office/locker search
- Real-time courier pricing (Econt & Speedy) + BoxNow S/M/L size tiers
- Order fulfillment: change courier/sender, recalculate shipping, Shipped status + branded tracking email
- Full translations — English base + Bulgarian, German, French, Italian, Spanish, Portuguese
- Official Econt / Speedy / BoxNow logos bundled as defaults
- Fixes: multi-currency Blocks checkout finalization, HPOS order meta, dynamic currency display
Rotozoom Sell & Ship Version 1.1.4
- WooCommerce HPOS (High-Performance Order Storage) compatibility declared.
- Fixed a data-loss bug under HPOS: the courier/office and company-invoice fields chosen at checkout were not saved on the order. Checkout meta is now written via WooCommerce order CRUD.
Rotozoom Sell & Ship Version 1.1.3
- Rebranded the shared admin menu to Rotozoom Connect.
Rotozoom Sell & Ship Version 1.1.2
- Upgrade banner now links to the correct product checkout.
Rotozoom Sell & Ship Version 1.1.1
- Backend updates, licensing, and support are now handled by rotozoom.com.
Rotozoom Sell & Ship Version 1.1.0
- WordPress Multisite support
- Locale map per sub-site
- Network Admin settings
Rotozoom Sell & Ship Version 1.0.1
- Econt real price from the API
- Speedy contract addresses
- CSS Grid courier buttons
Rotozoom Sell & Ship Version 1.0.0
- BG Checkout Picker
- Econt/Speedy/BoxNow AWB