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.