Vanilo v3.7 brings more ways to manage your orders, items, and taxes while offering better customization hooks, smarter search, richer shipment details, and stronger compatibility with modern SQL setups.
Vanilo 3.7 introduced the dedicated Tax module which has Tax Categories and Tax Rates and a SimpleTax
adjuster for
straightforward percentage-based tax calculations. You can now assign a tax_category_id
directly to products,
master products, and variants.
The DetailedAmount
DTO now includes fromKeyValuePairs
and getDetail()
methods, offering clearer insights into how
prices, taxes, and adjustments add up.
Foundation's cart and order items are now adjustable, playing nicely with the new tax calculations (and other custom adjustments) to keep totals accurate and flexible.
OrderItemShipped
, OrderItemPickedUp
, OrderItemsIsReadyForDelivery
, OrderItemsIsReadyForPickup
, and OrderItemHasBeenPutOnHold
.We've made OrderFactory::callHook
protected, so extending or customizing order creation is easier than before.
Optional hooks for order item creation now let you add custom logic at just the right moment.
The shipments
table now has the carrier_cost
, label_url
, and label_base64
fields. You can link shipments to
order items (and vice versa) for more granular control over fulfillment.
It's all about fine-tuning the shipping process in a flexible, data-rich way.
We've introduced an experimental ProductSearch
to eventually replace ProductFinder
. This new class can handle both
product and master product searches. Plus, it comes with a helper to fetch products by slug effortlessly
findBySlugOrFail()
- and includes a static findBySlug()
method for more flexible querying.getRemoteId
method has been added to NullRequest
to line up with a future PaymentRequest
interface version.OrderProcessingStarted
event from the admin panel and a fix for linking master products on the order item list improve both functionality and UX.is_master_product_variant()
Helper: Quickly check if a given object is a master product variant.